godprotocol 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Datatypes/arr.js +11 -0
- package/Datatypes/bool.js +11 -0
- package/Datatypes/callable.js +11 -0
- package/Datatypes/functions/storage.js +5 -0
- package/Datatypes/num.js +11 -0
- package/Datatypes/str.js +11 -0
- package/Datatypes/twa.js +11 -0
- package/Datatypes/voi.js +11 -0
- package/Index.js +36 -2
- package/Objects/Account.js +35 -322
- package/Objects/Block.js +7 -80
- package/Objects/Blockweb.js +19 -26
- package/Objects/Callable.js +40 -0
- package/Objects/Chain.js +20 -244
- package/Objects/GDS/Arena_classic/.config +1 -0
- package/Objects/GDS/Arena_classic/Accounts/lola/.config +1 -0
- package/Objects/Manager.js +28 -294
- package/Objects/Oracle.js +67 -84
- package/Objects/Repository.js +67 -0
- package/Objects/Trinity.js +24 -0
- package/Objects/Virtual_machine.js +16 -206
- package/callables/functions/assign.js +6 -0
- package/callables/functions/display.js +3 -0
- package/callables/register.js +22 -0
- package/package.json +24 -43
- package/utils/create_server.js +35 -88
- package/utils/functions.js +0 -70
- package/utils/server.cert +23 -0
- package/utils/server.key +28 -0
- package/utils/services.js +61 -21
- package/utils/vm_utils.js +53 -275
- package/Executables/callables.js +0 -131
- package/Executables/executables.js +0 -230
- package/Executables/functions/adminstrator/adm_register.js +0 -29
- package/Executables/functions/adminstrator/native_components.js +0 -10
- package/Executables/functions/adminstrator/query_selectors.js +0 -10
- package/Executables/functions/adminstrator/render.js +0 -24
- package/Executables/functions/array_register.js +0 -161
- package/Executables/functions/assign.js +0 -19
- package/Executables/functions/display.js +0 -55
- package/Executables/functions/folder.js +0 -95
- package/Executables/functions/folder_register.js +0 -87
- package/Executables/functions/importcheck.js +0 -13
- package/Executables/functions/indices.js +0 -56
- package/Executables/functions/len.js +0 -22
- package/Executables/functions/methods/array.js +0 -272
- package/Executables/functions/methods/string.js +0 -197
- package/Executables/functions/methods/twain.js +0 -148
- package/Executables/functions/op.js +0 -15
- package/Executables/functions/price_register.js +0 -30
- package/Executables/functions/pricing.js +0 -26
- package/Executables/functions/servers/account.js +0 -81
- package/Executables/functions/servers/account_register.js +0 -56
- package/Executables/functions/servers/block.js +0 -21
- package/Executables/functions/servers/block_register.js +0 -18
- package/Executables/functions/servers/chain.js +0 -42
- package/Executables/functions/servers/chain_register.js +0 -28
- package/Executables/functions/set_error_catch.js +0 -34
- package/Executables/functions/string_register.js +0 -130
- package/Executables/functions/twain_register.js +0 -56
- package/Executables/functions/typecast.js +0 -43
- package/Executables/functions/utils.js +0 -9
- package/Executables/stack.js +0 -53
- package/Loader_sequence/main.js +0 -805
- package/Loader_sequence/repository.js +0 -33
- package/Objects/Explorer.js +0 -40
- package/Objects/Fee.js +0 -33
- package/Objects/Filesystem.js +0 -216
- package/Objects/Frame.js +0 -54
- package/Objects/Opcodes.js +0 -87
- package/Objects/Protocol.js +0 -5
- package/Trinity.js +0 -20
- package/callables.js +0 -172
- package/framer.js +0 -124
- package/opcodes/add.js +0 -15
- package/opcodes/indices.js +0 -82
- package/opcodes/jmp.js +0 -16
- package/opcodes/std.js +0 -12
- package/opcodes.js +0 -96
- package/readme.md +0 -133
- package/starter_scripts/constants.seq +0 -11
- package/tsconfig.json +0 -8
- package/types/Account.d.ts +0 -73
- package/types/Block.d.ts +0 -22
- package/types/Blockweb.d.ts +0 -14
- package/types/Chain.d.ts +0 -35
- package/types/Explorer.d.ts +0 -9
- package/types/Filesystem.d.ts +0 -23
- package/types/Frame.d.ts +0 -14
- package/types/Manager.d.ts +0 -21
- package/types/Opcodes.d.ts +0 -11
- package/types/Oracle.d.ts +0 -17
- package/types/Virtual_machine.d.ts +0 -20
- package/types/index.d.ts +0 -4
- package/utils/hash.js +0 -13
- package/utils/logger.js +0 -79
- package/utils/privacy.js +0 -22
- package/utils/type_coersion.js +0 -3
package/utils/create_server.js
CHANGED
|
@@ -1,106 +1,53 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import https from "https";
|
|
2
|
+
import fs from "fs";
|
|
3
3
|
|
|
4
4
|
let PORT = Number(process.env.PORT) || 1408;
|
|
5
5
|
|
|
6
|
-
const
|
|
7
|
-
if (typeof data !== "string") data = JSON.stringify(data);
|
|
8
|
-
|
|
9
|
-
res.end(data);
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
let extensions = new Object();
|
|
13
|
-
|
|
14
|
-
const extension = (route, handler) => {
|
|
15
|
-
extensions[route] = handler;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const handle_routes = (req, res, app, manager) => {
|
|
6
|
+
const handle_routes = (req, res, manager, app) => {
|
|
19
7
|
let data = "";
|
|
20
8
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"parse",
|
|
25
|
-
"create_account",
|
|
26
|
-
].includes(req.url.slice(1));
|
|
27
|
-
|
|
28
|
-
if (is_in_default_routes || (!is_in_default_routes && !app)) {
|
|
29
|
-
req.on("data", (chunk) => {
|
|
30
|
-
data += chunk;
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
req.on("end", () => {
|
|
34
|
-
if (req.method === 'GET'){
|
|
35
|
-
console.log(req.url)
|
|
36
|
-
if(req.url === '/' ){
|
|
37
|
-
res.writeHead(404, { "Content-Type": "text/html" });
|
|
38
|
-
res.end(`<h1>God Protocol</h1>`);
|
|
39
|
-
}
|
|
40
|
-
else if(req.url.startsWith('/Accounts') ){
|
|
41
|
-
manager.handle_route({req, res});
|
|
42
|
-
}
|
|
9
|
+
req.on("data", (chunk) => {
|
|
10
|
+
data += chunk;
|
|
11
|
+
});
|
|
43
12
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
data = JSON.parse(data);
|
|
48
|
-
} catch (e) {
|
|
49
|
-
return cb(res, {
|
|
50
|
-
error_message: "Invalid data",
|
|
51
|
-
url: req.url,
|
|
52
|
-
error: true,
|
|
53
|
-
});
|
|
54
|
-
}
|
|
13
|
+
req.on("end", async () => {
|
|
14
|
+
if (req.url === "/sync") {
|
|
15
|
+
data = JSON.parse(data);
|
|
55
16
|
|
|
56
|
-
|
|
57
|
-
if (req.url === "/create_account") {
|
|
58
|
-
let account = manager.add_account(null, { ...data, string: true });
|
|
17
|
+
let response = await manager.oracle.add_server(data);
|
|
59
18
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
);
|
|
65
|
-
} else {
|
|
66
|
-
manager.handle_route({req,res, data})
|
|
67
|
-
}
|
|
68
|
-
});
|
|
19
|
+
console.log(response, "hello");
|
|
20
|
+
res.end(JSON.stringify(response));
|
|
21
|
+
}
|
|
22
|
+
});
|
|
69
23
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
} else {
|
|
75
|
-
app && app(req, res);
|
|
76
|
-
}
|
|
24
|
+
req.on("error", (e) => {
|
|
25
|
+
// res.writeHead(500, { "Content-Type": "application/json" });
|
|
26
|
+
res.end(JSON.stringify({ status: "error", error_message: e.message }));
|
|
27
|
+
});
|
|
77
28
|
};
|
|
78
29
|
|
|
79
|
-
const create_server = async (
|
|
80
|
-
|
|
30
|
+
const create_server = async (settings) => {
|
|
31
|
+
return new Promise((resolve, reject) => {
|
|
32
|
+
settings = settings || {};
|
|
33
|
+
let { port, app, manager } = settings;
|
|
81
34
|
|
|
82
|
-
|
|
83
|
-
port_search = settings.port_search;
|
|
35
|
+
port = port || PORT;
|
|
84
36
|
|
|
85
|
-
|
|
86
|
-
|
|
37
|
+
let server = https.createServer(
|
|
38
|
+
{
|
|
39
|
+
key: fs.readFileSync(`${__dirname}/server.key`),
|
|
40
|
+
cert: fs.readFileSync(`${__dirname}/server.cert`),
|
|
41
|
+
},
|
|
42
|
+
(req, res) => handle_routes(req, res, manager, app)
|
|
43
|
+
);
|
|
87
44
|
|
|
88
|
-
|
|
89
|
-
port
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
PORT = port;
|
|
94
|
-
|
|
95
|
-
let server = http.createServer((req, res) =>
|
|
96
|
-
handle_routes(req, res, app, settings.manager)
|
|
97
|
-
);
|
|
98
|
-
|
|
99
|
-
server.listen(port, () => {
|
|
100
|
-
console.log(`\n...GOD PROTOCOL RUNNING :${port}`);
|
|
101
|
-
settings.manager.add_server({ ...settings.server_details, port: PORT });
|
|
45
|
+
server.listen(port, () => {
|
|
46
|
+
console.log(`\n...GOD PROTOCOL RUNNING :${port}`);
|
|
47
|
+
resolve(server);
|
|
48
|
+
});
|
|
102
49
|
});
|
|
103
50
|
};
|
|
104
51
|
|
|
105
52
|
export default create_server;
|
|
106
|
-
export { PORT
|
|
53
|
+
export { PORT };
|
package/utils/functions.js
CHANGED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
const array_to_nested_objects = (arr) => {
|
|
2
|
-
if (arr.length === 0) return null;
|
|
3
|
-
|
|
4
|
-
let [first, ...rest] = arr;
|
|
5
|
-
return { [first]: array_to_nested_objects(rest) };
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
const transpile_object = (object) => {
|
|
9
|
-
let code_string = "",
|
|
10
|
-
type = typeof object;
|
|
11
|
-
if (type === "object") {
|
|
12
|
-
if (Array.isArray(object)) {
|
|
13
|
-
code_string += "arr(";
|
|
14
|
-
object.map((o) => {
|
|
15
|
-
code_string += `${transpile_object(o)},`;
|
|
16
|
-
});
|
|
17
|
-
code_string = code_string.slice(0, -1);
|
|
18
|
-
code_string += ")";
|
|
19
|
-
} else {
|
|
20
|
-
if (!object) code_string = "Void";
|
|
21
|
-
else {
|
|
22
|
-
code_string = "twain(";
|
|
23
|
-
for (let prop in object) {
|
|
24
|
-
let val = object[prop];
|
|
25
|
-
code_string += `${transpile_object(prop)}:${transpile_object(val)},`;
|
|
26
|
-
}
|
|
27
|
-
code_string = code_string.slice(0, -1);
|
|
28
|
-
code_string += ")";
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
} else if (type === "string") {
|
|
32
|
-
code_string = `"${object}"`;
|
|
33
|
-
} else if (type === "number") {
|
|
34
|
-
code_string = `${object}`;
|
|
35
|
-
} else if (type === "boolean") {
|
|
36
|
-
code_string = `${object}`;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return code_string;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
const net = require("net");
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Check if a port is available
|
|
46
|
-
* @param {number} port - The port to check
|
|
47
|
-
* @returns {Promise<boolean>} - Resolves to true if the port is available, false otherwise
|
|
48
|
-
*/
|
|
49
|
-
function is_port_available(port) {
|
|
50
|
-
return new Promise((resolve, reject) => {
|
|
51
|
-
const server = net.createServer();
|
|
52
|
-
|
|
53
|
-
server.once("error", (err) => {
|
|
54
|
-
if (err.code === "EADDRINUSE") {
|
|
55
|
-
resolve(false); // Port is in use
|
|
56
|
-
} else {
|
|
57
|
-
reject(err); // Some other error
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
server.once("listening", () => {
|
|
62
|
-
server.close();
|
|
63
|
-
resolve(true); // Port is available
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
server.listen(port);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export { array_to_nested_objects, transpile_object, is_port_available };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDzTCCArWgAwIBAgIUOyEnOjCToqR9toungcY0JDflxQ0wDQYJKoZIhvcNAQEL
|
|
3
|
+
BQAwdjELMAkGA1UEBhMCTkcxCzAJBgNVBAgMAkxnMQwwCgYDVQQHDANJa2oxDjAM
|
|
4
|
+
BgNVBAoMBVNhdnZ5MRQwEgYDVQQLDAtHb2Rwcm90b2NvbDEmMCQGCSqGSIb3DQEJ
|
|
5
|
+
ARYXaW1tYW51ZWxzYXZ2eUBnbWFpbC5jb20wHhcNMjQxMTEyMDgwMzMwWhcNMjQx
|
|
6
|
+
MjEyMDgwMzMwWjB2MQswCQYDVQQGEwJORzELMAkGA1UECAwCTGcxDDAKBgNVBAcM
|
|
7
|
+
A0lrajEOMAwGA1UECgwFU2F2dnkxFDASBgNVBAsMC0dvZHByb3RvY29sMSYwJAYJ
|
|
8
|
+
KoZIhvcNAQkBFhdpbW1hbnVlbHNhdnZ5QGdtYWlsLmNvbTCCASIwDQYJKoZIhvcN
|
|
9
|
+
AQEBBQADggEPADCCAQoCggEBANG0Oyij8E6NT+1aUOdm+5cNyM48sMo2vIGoyFX3
|
|
10
|
+
pB2pwPrxwMbMzIiNL5RlokUKBb0fYoA24wS+Dj8OlJFMSd4tXl3m5iX/ENjT4H9z
|
|
11
|
+
ZXIUvMNPyBi0/zqBeaRdhItIBn2VKsYkInmCJt6Y1MeGbeE19+v6qcRNHAyQHwUy
|
|
12
|
+
P0Kqx+s1yY1jDa0FfywDpxzClDfNFuIOAw8e/nA5B1Y1absp+Vl00mu5GG/4+yp8
|
|
13
|
+
FaENex00LqEVYoxY1YSO/NfkgW8SS7GNbl/S7jpC3L2F0CZXMMZ7XgPWS3BqyFVa
|
|
14
|
+
18DZtq+PUE6I8y5hxX5yV+5wrux4gJLc3Apvg/TvH8NyQXsCAwEAAaNTMFEwHQYD
|
|
15
|
+
VR0OBBYEFJetx3ZNDQ/6mcVHC8eiB2uw4kxZMB8GA1UdIwQYMBaAFJetx3ZNDQ/6
|
|
16
|
+
mcVHC8eiB2uw4kxZMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB
|
|
17
|
+
ACwthCdycG7faFUYQ516ZCbH66c2JEYTwb0e/6EdK2iMX5KVndd0t9fEZTT8Q5kZ
|
|
18
|
+
laJJEhLaOJc7/Z0DBw37s5UV3kN9tFvNmL5CFVAbByZHjs67lZLPP6s5DiSDdGys
|
|
19
|
+
Y7hh5AWiid4oaYOBbV5O96N8CD7UpiN5d0ldSn0cWH0SbVz3lxmpT+NYjXOyOgd2
|
|
20
|
+
hGkXDN6EnFUK9n21TWsqw5mwaPFzgW1s6Sw+k0aihnZ5nQGPuMf6SwhUieCSjJV1
|
|
21
|
+
A4Uu9Q0V6kpjzw6PAb1o1RyC2cc/LKmZ1b90A2m2c61M5D9XTEulFwGNngBPqqqD
|
|
22
|
+
Zvka09g8Sw3GTsZ7cL+ju5E=
|
|
23
|
+
-----END CERTIFICATE-----
|
package/utils/server.key
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDRtDsoo/BOjU/t
|
|
3
|
+
WlDnZvuXDcjOPLDKNryBqMhV96QdqcD68cDGzMyIjS+UZaJFCgW9H2KANuMEvg4/
|
|
4
|
+
DpSRTEneLV5d5uYl/xDY0+B/c2VyFLzDT8gYtP86gXmkXYSLSAZ9lSrGJCJ5gibe
|
|
5
|
+
mNTHhm3hNffr+qnETRwMkB8FMj9CqsfrNcmNYw2tBX8sA6ccwpQ3zRbiDgMPHv5w
|
|
6
|
+
OQdWNWm7KflZdNJruRhv+PsqfBWhDXsdNC6hFWKMWNWEjvzX5IFvEkuxjW5f0u46
|
|
7
|
+
Qty9hdAmVzDGe14D1ktwashVWtfA2bavj1BOiPMuYcV+clfucK7seICS3NwKb4P0
|
|
8
|
+
7x/DckF7AgMBAAECggEAWOL/TGuo2XL2lRH6RwuUyuNR4XFCMoRfBMqJGD9etiAV
|
|
9
|
+
J4k/gESg0aSerVUjIgZshkx+UQBy27i/iyTf/nKKwP0UCdNsbGCgQHgWqY89SczW
|
|
10
|
+
cicoFqjpol/tMqldHDiMX8DRn6kDX+O2HBZF4sjtXE+m5cSbHxTcNcsFCwvQWq4J
|
|
11
|
+
0Yycphm5582Bp47SHxIvWEO6yzttkJDGqTLsLY0zKlcC/j8jde2s+n88fd27UMQU
|
|
12
|
+
5CuS6WBfA1dXhn53YVIuI/T5BN5FAhQkbnU76pKlPFAiOjX6c2D0YdWDkMivk3Am
|
|
13
|
+
jVicX+A8RMFVZuJdQPW49DeqEyilaIZo1FvgZL7LMQKBgQD9v7RzuZJnBn4pKIXE
|
|
14
|
+
PnyhLWFhHo+DSgmtTzjEJB8LpeoeBZT+tuv+Wq0qn3L2C1ReIESQRT/ldbiiW0rl
|
|
15
|
+
pCCsqQyAy5PW8Q6oddeiK7Ep9QMNqT3AZ39k7yvdL7zxn6d0Hyu38hGbSn+8YiMT
|
|
16
|
+
3Kk8TuDoMZJz0zjtrff2x++bCQKBgQDTkH60/YMcZK3vl0chTg46Yjnq6QuvEtUE
|
|
17
|
+
grx6cq9p2wYQDDQUIcGCcGGQQ22sTWn0VfH1ZoV8BaNfCcRkLD1ogei8bA8oO+6d
|
|
18
|
+
DUVuo7jgChN3Yz2N5RMMVjp0Wu07kPmMHkoNVudPvAUb01Cn+2BOvWYRZEK5q7WQ
|
|
19
|
+
v/8f6JklYwKBgEkdqB2AZ1MQZ+HsLz8w0jCPJvQZHjkyaD9sCGtcDSYKFL+51Ajh
|
|
20
|
+
JHcSIbuaXkHPWewVWCxKB/NSTHVb4OTyugeGXnfuMRdKNnMMIao09MOmOc8B6S07
|
|
21
|
+
pVWsJPODAeqNmm63XJ2QPsqEWPIrRPhAKPObtuqw/gYp4sl5y21shvohAoGAZcze
|
|
22
|
+
m1ptL0lmxKXnTShRAljng5iVza1jIOODq+vpaidA+JHWsWU4xvoqiA9aA5HQjQiZ
|
|
23
|
+
/7pQOsg/v2hkvsrm1ZXFFn1sobCM9bdAFKflOrC+gzEWmmOC0engAMML6iCtY3Xj
|
|
24
|
+
rh2F+kD/uE7rPZlg0yKhrXawAMWV/UvViFYU8v8CgYB+1ExhgFxpubqVLNMreWH3
|
|
25
|
+
80UF5JwGG5d4fZVOSM9FT/mSZLWXl0+gHCHaQ86URHOVQs6JkAl5i198o/uZCnMw
|
|
26
|
+
nJxrlCCTT47ziMEKiJye7iDxC8TefEnK3aIL23/q4xtXWAQQnsfYC1o3MHKq6LNl
|
|
27
|
+
c+I4/jvzUslnazBTp1uPXw==
|
|
28
|
+
-----END PRIVATE KEY-----
|
package/utils/services.js
CHANGED
|
@@ -1,26 +1,12 @@
|
|
|
1
|
-
const http = require("
|
|
1
|
+
const http = require("https");
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
// let options = {
|
|
5
|
-
// hostname: 'example.com',
|
|
6
|
-
// port: 80,
|
|
7
|
-
// path: '/api/users',
|
|
8
|
-
// method: 'POST',
|
|
9
|
-
// headers: {
|
|
10
|
-
// 'Content-Type': 'application/json',
|
|
11
|
-
// 'Content-Length': Buffer.byteLength(postData),
|
|
12
|
-
// },
|
|
13
|
-
// };
|
|
14
|
-
|
|
15
|
-
let data = typeof payload.data !== 'string' ? JSON.stringify(payload.data) : payload.data
|
|
16
|
-
|
|
3
|
+
const get_request = async (payload, cb) => {
|
|
17
4
|
let req = http.request(
|
|
18
5
|
{
|
|
19
6
|
...payload.options,
|
|
20
|
-
method: "
|
|
7
|
+
method: "GET",
|
|
21
8
|
headers: {
|
|
22
9
|
"Content-Type": "application/json",
|
|
23
|
-
"Content-Length": Buffer.byteLength(data),
|
|
24
10
|
},
|
|
25
11
|
},
|
|
26
12
|
(res) => {
|
|
@@ -28,7 +14,7 @@ const post_request = (payload, cb) => {
|
|
|
28
14
|
|
|
29
15
|
res.on("data", (chunk) => {
|
|
30
16
|
data += chunk;
|
|
31
|
-
cb && cb(chunk);
|
|
17
|
+
// cb && cb(chunk);
|
|
32
18
|
});
|
|
33
19
|
|
|
34
20
|
res.on("end", () => {
|
|
@@ -43,9 +29,63 @@ const post_request = (payload, cb) => {
|
|
|
43
29
|
console.error(`Problem with request: ${e.message}`);
|
|
44
30
|
});
|
|
45
31
|
|
|
46
|
-
req.write(data);
|
|
47
|
-
|
|
48
32
|
req.end();
|
|
49
33
|
};
|
|
50
34
|
|
|
51
|
-
|
|
35
|
+
const post_request = (payload, cb) => {
|
|
36
|
+
// let options = {
|
|
37
|
+
// hostname: 'example.com',
|
|
38
|
+
// port: 80,
|
|
39
|
+
// path: '/api/users',
|
|
40
|
+
// method: 'POST',
|
|
41
|
+
// headers: {
|
|
42
|
+
// 'Content-Type': 'application/json',
|
|
43
|
+
// 'Content-Length': Buffer.byteLength(postData),
|
|
44
|
+
// },
|
|
45
|
+
// };
|
|
46
|
+
console.log(payload);
|
|
47
|
+
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
let data =
|
|
50
|
+
typeof payload.data !== "string"
|
|
51
|
+
? JSON.stringify(payload.data)
|
|
52
|
+
: payload.data;
|
|
53
|
+
|
|
54
|
+
let req = http.request(
|
|
55
|
+
{
|
|
56
|
+
...payload.options,
|
|
57
|
+
method: "POST",
|
|
58
|
+
headers: {
|
|
59
|
+
...payload.headers,
|
|
60
|
+
"Content-Type": "application/json",
|
|
61
|
+
"Content-Length": Buffer.byteLength(data),
|
|
62
|
+
},
|
|
63
|
+
rejectUnauthorized: false,
|
|
64
|
+
minVersion: "TLSv1.2",
|
|
65
|
+
},
|
|
66
|
+
(res) => {
|
|
67
|
+
let data = "";
|
|
68
|
+
|
|
69
|
+
res.on("data", (chunk) => {
|
|
70
|
+
data += chunk;
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
res.on("end", () => {
|
|
74
|
+
resolve(JSON.parse(data));
|
|
75
|
+
// console.log("Response:", data);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
req.on("error", (e) => {
|
|
81
|
+
reject(e);
|
|
82
|
+
console.error(`Problem with request: ${e.message}`);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
req.write(data);
|
|
86
|
+
|
|
87
|
+
req.end();
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export { get_request, post_request };
|