mirror of
https://github.com/valentineus/iii-client.git
synced 2025-04-28 01:41:25 +03:00
Release of version 0.0.3.
This commit is contained in:
parent
cb354fc098
commit
c43c75e3d1
25
.eslintrc.js
Normal file
25
.eslintrc.js
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
module.exports = {
|
||||||
|
"env": {
|
||||||
|
"es6": true,
|
||||||
|
"node": true
|
||||||
|
},
|
||||||
|
"extends": "eslint:recommended",
|
||||||
|
"rules": {
|
||||||
|
"indent": [
|
||||||
|
"error",
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"linebreak-style": [
|
||||||
|
"error",
|
||||||
|
"unix"
|
||||||
|
],
|
||||||
|
"quotes": [
|
||||||
|
"error",
|
||||||
|
"single"
|
||||||
|
],
|
||||||
|
"semi": [
|
||||||
|
"error",
|
||||||
|
"always"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
@ -59,3 +59,6 @@ typings/
|
|||||||
|
|
||||||
# Source
|
# Source
|
||||||
src/
|
src/
|
||||||
|
|
||||||
|
# Documentation
|
||||||
|
docs/
|
||||||
|
@ -79,4 +79,6 @@ Description of the internal kitchen can be seen on the [documentation page](http
|
|||||||
Found out a mistake or feel a lack of functionality? [issues](https://github.com/valentineus/iii-client/issues)
|
Found out a mistake or feel a lack of functionality? [issues](https://github.com/valentineus/iii-client/issues)
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
[](https://github.com/feross/standard)
|
||||||
|
|
||||||
[MIT](LICENSE.md). Copyright (c) [Valentin Popov](https://valentineus.link/).
|
[MIT](LICENSE.md). Copyright (c) [Valentin Popov](https://valentineus.link/).
|
@ -1 +0,0 @@
|
|||||||
theme: jekyll-theme-minimal
|
|
@ -234,7 +234,7 @@
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="index.js.html">index.js</a>, <a href="index.js.html#line149">line 149</a>
|
<a href="index.js.html">index.js</a>, <a href="index.js.html#line140">line 140</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -471,7 +471,7 @@
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="index.js.html">index.js</a>, <a href="index.js.html#line98">line 98</a>
|
<a href="index.js.html">index.js</a>, <a href="index.js.html#line92">line 92</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -631,7 +631,7 @@
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="index.js.html">index.js</a>, <a href="index.js.html#line113">line 113</a>
|
<a href="index.js.html">index.js</a>, <a href="index.js.html#line106">line 106</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -791,7 +791,7 @@
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="index.js.html">index.js</a>, <a href="index.js.html#line83">line 83</a>
|
<a href="index.js.html">index.js</a>, <a href="index.js.html#line78">line 78</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -951,7 +951,7 @@
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="index.js.html">index.js</a>, <a href="index.js.html#line128">line 128</a>
|
<a href="index.js.html">index.js</a>, <a href="index.js.html#line120">line 120</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -1111,7 +1111,7 @@
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="index.js.html">index.js</a>, <a href="index.js.html#line175">line 175</a>
|
<a href="index.js.html">index.js</a>, <a href="index.js.html#line165">line 165</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -1267,7 +1267,7 @@
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="index.js.html">index.js</a>, <a href="index.js.html#line14">line 14</a>
|
<a href="index.js.html">index.js</a>, <a href="index.js.html#line15">line 15</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -1428,7 +1428,7 @@
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="index.js.html">index.js</a>, <a href="index.js.html#line50">line 50</a>
|
<a href="index.js.html">index.js</a>, <a href="index.js.html#line48">line 48</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -1635,7 +1635,7 @@
|
|||||||
<br class="clear">
|
<br class="clear">
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon May 29 2017 02:00:06 GMT+0300 (MSK) using the Minami theme.
|
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon May 29 2017 07:00:49 GMT+0300 (MSK) using the Minami theme.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>prettyPrint();</script>
|
<script>prettyPrint();</script>
|
||||||
|
@ -57,7 +57,7 @@
|
|||||||
<br class="clear">
|
<br class="clear">
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon May 29 2017 02:00:06 GMT+0300 (MSK) using the Minami theme.
|
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon May 29 2017 07:00:49 GMT+0300 (MSK) using the Minami theme.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>prettyPrint();</script>
|
<script>prettyPrint();</script>
|
||||||
|
@ -47,12 +47,13 @@
|
|||||||
|
|
||||||
var http = require('http');
|
var http = require('http');
|
||||||
|
|
||||||
|
exports.connect = connect;
|
||||||
/**
|
/**
|
||||||
* Connects to the server and returns the connection data.
|
* Connects to the server and returns the connection data.
|
||||||
* @param {String} uuid - The bot UUID.
|
* @param {String} uuid - The bot UUID.
|
||||||
* @param {requestCallback} callback - The callback that handles the response.
|
* @param {requestCallback} callback - The callback that handles the response.
|
||||||
*/
|
*/
|
||||||
var connect = function(uuid, callback) {
|
function connect(uuid, callback) {
|
||||||
uuid = uuid || '';
|
uuid = uuid || '';
|
||||||
|
|
||||||
if (!_verification(uuid)) {
|
if (!_verification(uuid)) {
|
||||||
@ -64,7 +65,7 @@ var connect = function(uuid, callback) {
|
|||||||
hostname: 'iii.ru',
|
hostname: 'iii.ru',
|
||||||
path: '/api/2.0/json/Chat.init/' + uuid + '/',
|
path: '/api/2.0/json/Chat.init/' + uuid + '/',
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
}
|
};
|
||||||
|
|
||||||
const request = http.request(query, function(response) {
|
const request = http.request(query, function(response) {
|
||||||
var json = '';
|
var json = '';
|
||||||
@ -72,15 +73,12 @@ var connect = function(uuid, callback) {
|
|||||||
response.on('end', () => callback(json.result));
|
response.on('end', () => callback(json.result));
|
||||||
});
|
});
|
||||||
|
|
||||||
request.on('error', function(error) {
|
request.on('error', (error) => Error(error.message));
|
||||||
console.error('Error connecting to the server!\n', error.message);
|
|
||||||
});
|
|
||||||
|
|
||||||
request.end();
|
request.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.connect = connect;
|
exports.send = send;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send a message to the server and return a response.
|
* Send a message to the server and return a response.
|
||||||
* @param {Object} raw - The data to send.
|
* @param {Object} raw - The data to send.
|
||||||
@ -88,7 +86,7 @@ exports.connect = connect;
|
|||||||
* @param {String} raw.text - Message text.
|
* @param {String} raw.text - Message text.
|
||||||
* @param {requestCallback} callback - The callback that handles the response.
|
* @param {requestCallback} callback - The callback that handles the response.
|
||||||
*/
|
*/
|
||||||
var send = function(raw, callback) {
|
function send(raw, callback) {
|
||||||
raw = raw || {};
|
raw = raw || {};
|
||||||
|
|
||||||
const query = {
|
const query = {
|
||||||
@ -96,7 +94,7 @@ var send = function(raw, callback) {
|
|||||||
hostname: 'iii.ru',
|
hostname: 'iii.ru',
|
||||||
path: '/api/2.0/json/Chat.request',
|
path: '/api/2.0/json/Chat.request',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
}
|
};
|
||||||
|
|
||||||
const data = _createPackage(raw);
|
const data = _createPackage(raw);
|
||||||
|
|
||||||
@ -106,22 +104,19 @@ var send = function(raw, callback) {
|
|||||||
response.on('end', () => callback(json));
|
response.on('end', () => callback(json));
|
||||||
});
|
});
|
||||||
|
|
||||||
request.on('error', function(error) {
|
request.on('error', (error) => Error(error));
|
||||||
console.error('Error sending the package!\n', error.message);
|
|
||||||
});
|
|
||||||
|
|
||||||
request.write(data);
|
request.write(data);
|
||||||
request.end();
|
request.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.send = send;
|
exports._encrypt = _encrypt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Encrypts the incoming data.
|
* Encrypts the incoming data.
|
||||||
* @param {String} raw - Decrypted data.
|
* @param {String} raw - Decrypted data.
|
||||||
* @returns {String} - Encrypted string.
|
* @returns {String} - Encrypted string.
|
||||||
*/
|
*/
|
||||||
var _encrypt = function(raw) {
|
function _encrypt(raw) {
|
||||||
raw = raw || '';
|
raw = raw || '';
|
||||||
|
|
||||||
var base64 = Buffer.from(raw).toString('base64');
|
var base64 = Buffer.from(raw).toString('base64');
|
||||||
@ -129,14 +124,13 @@ var _encrypt = function(raw) {
|
|||||||
return _merger(string).toString('base64');
|
return _merger(string).toString('base64');
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._encrypt = _encrypt;
|
exports._decrypt = _decrypt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decrypts the incoming data.
|
* Decrypts the incoming data.
|
||||||
* @param {String} raw - Encrypted data.
|
* @param {String} raw - Encrypted data.
|
||||||
* @returns {String} - Decrypted string.
|
* @returns {String} - Decrypted string.
|
||||||
*/
|
*/
|
||||||
var _decrypt = function(raw) {
|
function _decrypt(raw) {
|
||||||
raw = raw || '';
|
raw = raw || '';
|
||||||
|
|
||||||
var string = Buffer.from(raw, 'base64');
|
var string = Buffer.from(raw, 'base64');
|
||||||
@ -144,14 +138,13 @@ var _decrypt = function(raw) {
|
|||||||
return Buffer.from(decrypted, 'base64');
|
return Buffer.from(decrypted, 'base64');
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._decrypt = _decrypt;
|
exports._decryptJSON = _decryptJSON;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decrypts an encrypted JSON object.
|
* Decrypts an encrypted JSON object.
|
||||||
* @param {String} raw - Encrypted data.
|
* @param {String} raw - Encrypted data.
|
||||||
* @returns {Object} - Decrypted JSON.
|
* @returns {Object} - Decrypted JSON.
|
||||||
*/
|
*/
|
||||||
var _decryptJSON = function(raw) {
|
function _decryptJSON(raw) {
|
||||||
raw = raw || '';
|
raw = raw || '';
|
||||||
|
|
||||||
var string = raw.toString('ascii');
|
var string = raw.toString('ascii');
|
||||||
@ -159,14 +152,13 @@ var _decryptJSON = function(raw) {
|
|||||||
return JSON.parse(data);
|
return JSON.parse(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._decryptJSON = _decryptJSON;
|
exports._merger = _merger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Merge and convert a string.
|
* Merge and convert a string.
|
||||||
* @param {String} raw - The string to convert.
|
* @param {String} raw - The string to convert.
|
||||||
* @returns {String} - The converted string.
|
* @returns {String} - The converted string.
|
||||||
*/
|
*/
|
||||||
var _merger = function(data) {
|
function _merger(data) {
|
||||||
data = data || '';
|
data = data || '';
|
||||||
|
|
||||||
const salt = Buffer.from('some very-very long string without any non-latin characters due to different string representations inside of variable programming languages');
|
const salt = Buffer.from('some very-very long string without any non-latin characters due to different string representations inside of variable programming languages');
|
||||||
@ -178,8 +170,7 @@ var _merger = function(data) {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._merger = _merger;
|
exports._createPackage = _createPackage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an encrypted package to send.
|
* Creates an encrypted package to send.
|
||||||
* @param {Object} raw - The data to send.
|
* @param {Object} raw - The data to send.
|
||||||
@ -187,7 +178,7 @@ exports._merger = _merger;
|
|||||||
* @param {String} raw.text - Message text.
|
* @param {String} raw.text - Message text.
|
||||||
* @returns {String} - Encrypted string.
|
* @returns {String} - Encrypted string.
|
||||||
*/
|
*/
|
||||||
var _createPackage = function(raw) {
|
function _createPackage(raw) {
|
||||||
raw = raw || {};
|
raw = raw || {};
|
||||||
|
|
||||||
if (!raw.text) {
|
if (!raw.text) {
|
||||||
@ -206,20 +197,17 @@ var _createPackage = function(raw) {
|
|||||||
return _encrypt(json);
|
return _encrypt(json);
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._createPackage = _createPackage;
|
exports._verification = _verification;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validation UUID format string.
|
* Validation UUID format string.
|
||||||
* @param {String} data - The string to check.
|
* @param {String} data - The string to check.
|
||||||
* @returns {Boolean}
|
* @returns {Boolean}
|
||||||
*/
|
*/
|
||||||
var _verification = function(data) {
|
function _verification(data) {
|
||||||
data = data || '';
|
data = data || '';
|
||||||
const regexp = new RegExp('^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$', 'i');
|
const regexp = new RegExp('^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$', 'i');
|
||||||
return regexp.test(data);
|
return regexp.test(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._verification = _verification;
|
|
||||||
</code></pre>
|
</code></pre>
|
||||||
</article>
|
</article>
|
||||||
</section>
|
</section>
|
||||||
@ -232,7 +220,7 @@ exports._verification = _verification;
|
|||||||
<br class="clear">
|
<br class="clear">
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon May 29 2017 02:00:06 GMT+0300 (MSK) using the Minami theme.
|
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Mon May 29 2017 07:00:49 GMT+0300 (MSK) using the Minami theme.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>prettyPrint();</script>
|
<script>prettyPrint();</script>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "iii-client",
|
"name": "iii-client",
|
||||||
"version": "0.0.2",
|
"version": "0.0.3",
|
||||||
"description": "Simple API for communicating with the bot of the \"iii.ru\" service.",
|
"description": "Simple API for communicating with the bot of the \"iii.ru\" service.",
|
||||||
"homepage": "https://github.com/valentineus/iii-client",
|
"homepage": "https://github.com/valentineus/iii-client",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@ -27,12 +27,14 @@
|
|||||||
"babel-cli": "^6.24.1",
|
"babel-cli": "^6.24.1",
|
||||||
"babel-core": "^6.24.1",
|
"babel-core": "^6.24.1",
|
||||||
"babel-preset-es2015": "^6.24.1",
|
"babel-preset-es2015": "^6.24.1",
|
||||||
|
"eslint": "^3.19.0",
|
||||||
"jsdoc": "^3.4.3",
|
"jsdoc": "^3.4.3",
|
||||||
"minami": "^1.2.3"
|
"minami": "^1.2.3"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"check": "eslint ./src/*",
|
||||||
"jsdoc": "jsdoc --template ./node_modules/minami --destination ./docs ./src/index.js",
|
"jsdoc": "jsdoc --template ./node_modules/minami --destination ./docs ./src/index.js",
|
||||||
"compile": "babel --presets es2015 --minified --no-comments --source-maps --out-dir ./lib/ ./src/",
|
"compile": "babel --presets es2015 --minified --no-comments --source-maps --out-dir ./lib/ ./src/",
|
||||||
"prepublish": "npm run compile && npm run jsdoc"
|
"prepublish": "npm run check && npm run jsdoc && npm run compile"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
52
src/index.js
52
src/index.js
@ -6,12 +6,13 @@
|
|||||||
|
|
||||||
var http = require('http');
|
var http = require('http');
|
||||||
|
|
||||||
|
exports.connect = connect;
|
||||||
/**
|
/**
|
||||||
* Connects to the server and returns the connection data.
|
* Connects to the server and returns the connection data.
|
||||||
* @param {String} uuid - The bot UUID.
|
* @param {String} uuid - The bot UUID.
|
||||||
* @param {requestCallback} callback - The callback that handles the response.
|
* @param {requestCallback} callback - The callback that handles the response.
|
||||||
*/
|
*/
|
||||||
var connect = function(uuid, callback) {
|
function connect(uuid, callback) {
|
||||||
uuid = uuid || '';
|
uuid = uuid || '';
|
||||||
|
|
||||||
if (!_verification(uuid)) {
|
if (!_verification(uuid)) {
|
||||||
@ -23,7 +24,7 @@ var connect = function(uuid, callback) {
|
|||||||
hostname: 'iii.ru',
|
hostname: 'iii.ru',
|
||||||
path: '/api/2.0/json/Chat.init/' + uuid + '/',
|
path: '/api/2.0/json/Chat.init/' + uuid + '/',
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
}
|
};
|
||||||
|
|
||||||
const request = http.request(query, function(response) {
|
const request = http.request(query, function(response) {
|
||||||
var json = '';
|
var json = '';
|
||||||
@ -31,15 +32,12 @@ var connect = function(uuid, callback) {
|
|||||||
response.on('end', () => callback(json.result));
|
response.on('end', () => callback(json.result));
|
||||||
});
|
});
|
||||||
|
|
||||||
request.on('error', function(error) {
|
request.on('error', (error) => Error(error.message));
|
||||||
console.error('Error connecting to the server!\n', error.message);
|
|
||||||
});
|
|
||||||
|
|
||||||
request.end();
|
request.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.connect = connect;
|
exports.send = send;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send a message to the server and return a response.
|
* Send a message to the server and return a response.
|
||||||
* @param {Object} raw - The data to send.
|
* @param {Object} raw - The data to send.
|
||||||
@ -47,7 +45,7 @@ exports.connect = connect;
|
|||||||
* @param {String} raw.text - Message text.
|
* @param {String} raw.text - Message text.
|
||||||
* @param {requestCallback} callback - The callback that handles the response.
|
* @param {requestCallback} callback - The callback that handles the response.
|
||||||
*/
|
*/
|
||||||
var send = function(raw, callback) {
|
function send(raw, callback) {
|
||||||
raw = raw || {};
|
raw = raw || {};
|
||||||
|
|
||||||
const query = {
|
const query = {
|
||||||
@ -55,7 +53,7 @@ var send = function(raw, callback) {
|
|||||||
hostname: 'iii.ru',
|
hostname: 'iii.ru',
|
||||||
path: '/api/2.0/json/Chat.request',
|
path: '/api/2.0/json/Chat.request',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
}
|
};
|
||||||
|
|
||||||
const data = _createPackage(raw);
|
const data = _createPackage(raw);
|
||||||
|
|
||||||
@ -65,22 +63,19 @@ var send = function(raw, callback) {
|
|||||||
response.on('end', () => callback(json));
|
response.on('end', () => callback(json));
|
||||||
});
|
});
|
||||||
|
|
||||||
request.on('error', function(error) {
|
request.on('error', (error) => Error(error));
|
||||||
console.error('Error sending the package!\n', error.message);
|
|
||||||
});
|
|
||||||
|
|
||||||
request.write(data);
|
request.write(data);
|
||||||
request.end();
|
request.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.send = send;
|
exports._encrypt = _encrypt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Encrypts the incoming data.
|
* Encrypts the incoming data.
|
||||||
* @param {String} raw - Decrypted data.
|
* @param {String} raw - Decrypted data.
|
||||||
* @returns {String} - Encrypted string.
|
* @returns {String} - Encrypted string.
|
||||||
*/
|
*/
|
||||||
var _encrypt = function(raw) {
|
function _encrypt(raw) {
|
||||||
raw = raw || '';
|
raw = raw || '';
|
||||||
|
|
||||||
var base64 = Buffer.from(raw).toString('base64');
|
var base64 = Buffer.from(raw).toString('base64');
|
||||||
@ -88,14 +83,13 @@ var _encrypt = function(raw) {
|
|||||||
return _merger(string).toString('base64');
|
return _merger(string).toString('base64');
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._encrypt = _encrypt;
|
exports._decrypt = _decrypt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decrypts the incoming data.
|
* Decrypts the incoming data.
|
||||||
* @param {String} raw - Encrypted data.
|
* @param {String} raw - Encrypted data.
|
||||||
* @returns {String} - Decrypted string.
|
* @returns {String} - Decrypted string.
|
||||||
*/
|
*/
|
||||||
var _decrypt = function(raw) {
|
function _decrypt(raw) {
|
||||||
raw = raw || '';
|
raw = raw || '';
|
||||||
|
|
||||||
var string = Buffer.from(raw, 'base64');
|
var string = Buffer.from(raw, 'base64');
|
||||||
@ -103,14 +97,13 @@ var _decrypt = function(raw) {
|
|||||||
return Buffer.from(decrypted, 'base64');
|
return Buffer.from(decrypted, 'base64');
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._decrypt = _decrypt;
|
exports._decryptJSON = _decryptJSON;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decrypts an encrypted JSON object.
|
* Decrypts an encrypted JSON object.
|
||||||
* @param {String} raw - Encrypted data.
|
* @param {String} raw - Encrypted data.
|
||||||
* @returns {Object} - Decrypted JSON.
|
* @returns {Object} - Decrypted JSON.
|
||||||
*/
|
*/
|
||||||
var _decryptJSON = function(raw) {
|
function _decryptJSON(raw) {
|
||||||
raw = raw || '';
|
raw = raw || '';
|
||||||
|
|
||||||
var string = raw.toString('ascii');
|
var string = raw.toString('ascii');
|
||||||
@ -118,14 +111,13 @@ var _decryptJSON = function(raw) {
|
|||||||
return JSON.parse(data);
|
return JSON.parse(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._decryptJSON = _decryptJSON;
|
exports._merger = _merger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Merge and convert a string.
|
* Merge and convert a string.
|
||||||
* @param {String} raw - The string to convert.
|
* @param {String} raw - The string to convert.
|
||||||
* @returns {String} - The converted string.
|
* @returns {String} - The converted string.
|
||||||
*/
|
*/
|
||||||
var _merger = function(data) {
|
function _merger(data) {
|
||||||
data = data || '';
|
data = data || '';
|
||||||
|
|
||||||
const salt = Buffer.from('some very-very long string without any non-latin characters due to different string representations inside of variable programming languages');
|
const salt = Buffer.from('some very-very long string without any non-latin characters due to different string representations inside of variable programming languages');
|
||||||
@ -137,8 +129,7 @@ var _merger = function(data) {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._merger = _merger;
|
exports._createPackage = _createPackage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an encrypted package to send.
|
* Creates an encrypted package to send.
|
||||||
* @param {Object} raw - The data to send.
|
* @param {Object} raw - The data to send.
|
||||||
@ -146,7 +137,7 @@ exports._merger = _merger;
|
|||||||
* @param {String} raw.text - Message text.
|
* @param {String} raw.text - Message text.
|
||||||
* @returns {String} - Encrypted string.
|
* @returns {String} - Encrypted string.
|
||||||
*/
|
*/
|
||||||
var _createPackage = function(raw) {
|
function _createPackage(raw) {
|
||||||
raw = raw || {};
|
raw = raw || {};
|
||||||
|
|
||||||
if (!raw.text) {
|
if (!raw.text) {
|
||||||
@ -165,17 +156,14 @@ var _createPackage = function(raw) {
|
|||||||
return _encrypt(json);
|
return _encrypt(json);
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._createPackage = _createPackage;
|
exports._verification = _verification;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validation UUID format string.
|
* Validation UUID format string.
|
||||||
* @param {String} data - The string to check.
|
* @param {String} data - The string to check.
|
||||||
* @returns {Boolean}
|
* @returns {Boolean}
|
||||||
*/
|
*/
|
||||||
var _verification = function(data) {
|
function _verification(data) {
|
||||||
data = data || '';
|
data = data || '';
|
||||||
const regexp = new RegExp('^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$', 'i');
|
const regexp = new RegExp('^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$', 'i');
|
||||||
return regexp.test(data);
|
return regexp.test(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._verification = _verification;
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user