Commit c21f080c447ce576d5bb40a18cd3f4ebdfadd165
1 parent
9eafdb505e
Exists in
master
Add xid using uniqid
Showing 3 changed files with 86 additions and 26 deletions Side-by-side Diff
package-lock.json
... | ... | @@ -11,7 +11,8 @@ |
11 | 11 | "dependencies": { |
12 | 12 | "komodo-sdk": "^1.43.8", |
13 | 13 | "request": "^2.81.0", |
14 | - "tektrans-logger": "^1.2.3" | |
14 | + "tektrans-logger": "^1.2.3", | |
15 | + "uniqid": "^5.4.0" | |
15 | 16 | } |
16 | 17 | }, |
17 | 18 | "node_modules/@cloudcmd/copy-file": { |
... | ... | @@ -933,6 +934,14 @@ |
933 | 934 | "uuid": "^3.4.0" |
934 | 935 | } |
935 | 936 | }, |
937 | + "node_modules/komodo-sdk/node_modules/uniqid": { | |
938 | + "version": "4.1.1", | |
939 | + "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", | |
940 | + "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", | |
941 | + "dependencies": { | |
942 | + "macaddress": "^0.2.8" | |
943 | + } | |
944 | + }, | |
936 | 945 | "node_modules/kuler": { |
937 | 946 | "version": "2.0.0", |
938 | 947 | "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", |
... | ... | @@ -1742,12 +1751,9 @@ |
1742 | 1751 | } |
1743 | 1752 | }, |
1744 | 1753 | "node_modules/uniqid": { |
1745 | - "version": "4.1.1", | |
1746 | - "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", | |
1747 | - "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", | |
1748 | - "dependencies": { | |
1749 | - "macaddress": "^0.2.8" | |
1750 | - } | |
1754 | + "version": "5.4.0", | |
1755 | + "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.4.0.tgz", | |
1756 | + "integrity": "sha512-38JRbJ4Fj94VmnC7G/J/5n5SC7Ab46OM5iNtSstB/ko3l1b5g7ALt4qzHFgGciFkyiRNtDXtLNb+VsxtMSE77A==" | |
1751 | 1757 | }, |
1752 | 1758 | "node_modules/unpipe": { |
1753 | 1759 | "version": "1.0.0", |
... | ... | @@ -2686,6 +2692,16 @@ |
2686 | 2692 | "tektrans-logger": "^1.2.2", |
2687 | 2693 | "uniqid": "^4.1.1", |
2688 | 2694 | "uuid": "^3.4.0" |
2695 | + }, | |
2696 | + "dependencies": { | |
2697 | + "uniqid": { | |
2698 | + "version": "4.1.1", | |
2699 | + "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", | |
2700 | + "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", | |
2701 | + "requires": { | |
2702 | + "macaddress": "^0.2.8" | |
2703 | + } | |
2704 | + } | |
2689 | 2705 | } |
2690 | 2706 | }, |
2691 | 2707 | "kuler": { |
... | ... | @@ -3298,12 +3314,9 @@ |
3298 | 3314 | } |
3299 | 3315 | }, |
3300 | 3316 | "uniqid": { |
3301 | - "version": "4.1.1", | |
3302 | - "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", | |
3303 | - "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", | |
3304 | - "requires": { | |
3305 | - "macaddress": "^0.2.8" | |
3306 | - } | |
3317 | + "version": "5.4.0", | |
3318 | + "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.4.0.tgz", | |
3319 | + "integrity": "sha512-38JRbJ4Fj94VmnC7G/J/5n5SC7Ab46OM5iNtSstB/ko3l1b5g7ALt4qzHFgGciFkyiRNtDXtLNb+VsxtMSE77A==" | |
3307 | 3320 | }, |
3308 | 3321 | "unpipe": { |
3309 | 3322 | "version": "1.0.0", |
package.json
transport.js
... | ... | @@ -8,6 +8,7 @@ const request = require('request'); |
8 | 8 | |
9 | 9 | const config = require('komodo-sdk/config') |
10 | 10 | const logger = require('tektrans-logger'); |
11 | +const uniqid = rquire('uniqid'); | |
11 | 12 | |
12 | 13 | let _callback; |
13 | 14 | |
... | ... | @@ -31,13 +32,22 @@ function createHttpServer() { |
31 | 32 | } |
32 | 33 | |
33 | 34 | function onRequestFromPartner(req, res) { |
35 | + const xid = uniqid(); | |
36 | + | |
34 | 37 | const method_name = 'onRequestFromPartner'; |
35 | 38 | |
36 | 39 | let remote_address = req.connection.remoteAddress.replace(/^::ffff:/, ''); |
37 | 40 | |
38 | 41 | let qs = url.parse(req.url, true).query; |
39 | 42 | |
40 | - logger.verbose('Got a request from partner', {module_name: module_name, method_name: method_name, remote_address: remote_address, url: req.url, qs: qs}); | |
43 | + logger.verbose('Got a request from partner', { | |
44 | + xid, | |
45 | + module_name, | |
46 | + method_name, | |
47 | + remote_address, | |
48 | + url: req.url, | |
49 | + qs: qs | |
50 | + }); | |
41 | 51 | |
42 | 52 | let partner = qs.terminal_name + '@' + remote_address; |
43 | 53 | let password = qs.password; |
... | ... | @@ -48,6 +58,15 @@ function onRequestFromPartner(req, res) { |
48 | 58 | let request_id = qs.request_id; |
49 | 59 | |
50 | 60 | if (!qs.terminal_name || !password || !reverse_url || ! product_name || !destination || !request_id) { |
61 | + logger.verbose('Invalid request from partner', { | |
62 | + xid, | |
63 | + hasTerminalName: !!qs.terminal_name, | |
64 | + hasPassword: !!password, | |
65 | + hasProductName: !!product_name, | |
66 | + hasDestination: !!hasDestination, | |
67 | + hasRequestId: !!request_id, | |
68 | + | |
69 | + }) | |
51 | 70 | res.end('INVALID REQUEST'); |
52 | 71 | return; |
53 | 72 | } |
... | ... | @@ -65,7 +84,11 @@ function onRequestFromPartner(req, res) { |
65 | 84 | function(err, _result) { |
66 | 85 | let result = cleanResponseToPartner(_result); |
67 | 86 | |
68 | - logger.verbose('Forwarding CORE response to partner as direct response', _result); | |
87 | + logger.verbose('C2DEEE9D Forwarding CORE response to partner as direct response', { | |
88 | + xid, | |
89 | + result: _result | |
90 | + }); | |
91 | + | |
69 | 92 | res.end(JSON.stringify(result)); |
70 | 93 | } |
71 | 94 | ) |
... | ... | @@ -106,22 +129,28 @@ function init(cb) { |
106 | 129 | createHttpServer(); |
107 | 130 | } |
108 | 131 | |
109 | -async function sleepAndResend(partner, msg, params, retry) { | |
132 | +async function sleepAndResend(xid, partner, msg, params, retry) { | |
110 | 133 | if (retry > maxSendRetry) { |
111 | 134 | logger.verbose('Retry exceeded', { |
112 | - params, | |
135 | + xid, | |
113 | 136 | retry: retry || 0, |
137 | + params, | |
114 | 138 | }); |
115 | 139 | return; |
116 | 140 | } |
117 | 141 | |
142 | + logger.verbose('Sleep before resend', { xid, sleepBeforeRetryMs }); | |
143 | + | |
118 | 144 | await sleep(sleepBeforeRetryMs); |
119 | 145 | send(partner, msg, params, retry + 1); |
120 | 146 | } |
121 | 147 | |
122 | 148 | function send(partner, msg, params, retry) { |
149 | + const xid = uniqid(); | |
150 | + | |
123 | 151 | if (retry) { |
124 | 152 | logger.verbose('F39C9082: Resending', { |
153 | + xid, | |
125 | 154 | partner, |
126 | 155 | msg, |
127 | 156 | params, |
... | ... | @@ -129,22 +158,26 @@ function send(partner, msg, params, retry) { |
129 | 158 | }) |
130 | 159 | } else { |
131 | 160 | logger.verbose('Got response from CORE', { |
132 | - partner: partner, msg: msg, params: params, retry: retry || 0, | |
161 | + xid, | |
162 | + partner, | |
163 | + msg, | |
164 | + params, | |
165 | + retried: retry || 0, | |
133 | 166 | }); |
134 | 167 | } |
135 | 168 | |
136 | 169 | if (!params || !params.reverse_url) { |
137 | - logger.verbose('Undefined reverse_url, not forwarding message to partner'); | |
170 | + logger.verbose('Undefined reverse_url, not forwarding message to partner', { xid }); | |
138 | 171 | return; |
139 | 172 | } |
140 | 173 | |
141 | 174 | if (params.reverse_url.indexOf('http') < 0) { |
142 | - logger.verbose('Invalid reverse_url, not forwarding message to partner'); | |
175 | + logger.verbose('Invalid reverse_url, not forwarding message to partner', { xid }); | |
143 | 176 | return; |
144 | 177 | } |
145 | 178 | |
146 | 179 | if (params.rc === '68') { |
147 | - logger.verbose('Ignoring RC 68 reverse report'); | |
180 | + logger.verbose('Ignoring RC 68 reverse report', { xid }); | |
148 | 181 | return; |
149 | 182 | } |
150 | 183 | |
... | ... | @@ -153,11 +186,20 @@ function send(partner, msg, params, retry) { |
153 | 186 | qs: cleanResponseToPartner(params) |
154 | 187 | } |
155 | 188 | |
156 | - logger.verbose('Sending reverse report to partner', {request: reqOptions}); | |
189 | + logger.verbose('Sending reverse report to partner', { | |
190 | + xid, | |
191 | + request: reqOptions | |
192 | + }); | |
193 | + | |
157 | 194 | request(reqOptions, function(err, res, body) { |
158 | 195 | if (err) { |
159 | - logger.warn('Error sending reverse report to partner', {request: reqOptions, err: err}); | |
160 | - sleepAndResend(partner, msg, params, retry || 0); | |
196 | + logger.warn('Error sending reverse report to partner', { | |
197 | + xid, | |
198 | + request: reqOptions, | |
199 | + err: err, | |
200 | + }); | |
201 | + | |
202 | + sleepAndResend(xid, partner, msg, params, retry || 0); | |
161 | 203 | return; |
162 | 204 | } |
163 | 205 | |
... | ... | @@ -172,7 +214,11 @@ function send(partner, msg, params, retry) { |
172 | 214 | } |
173 | 215 | */ |
174 | 216 | |
175 | - logger.verbose('Reverse report has been sent to partner', { request: reqOptions, httpStatus: res && res.statusCode }); | |
217 | + logger.verbose('Reverse report has been sent to partner', { | |
218 | + xid, | |
219 | + request: reqOptions, | |
220 | + httpStatus: res && res.statusCode | |
221 | + }); | |
176 | 222 | }) |
177 | 223 | } |
178 | 224 |