@suprsend/node-sdk 1.2.0 → 1.3.0
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/dist/constants.js +2 -2
- package/dist/event.js +15 -29
- package/dist/events_bulk.js +13 -27
- package/dist/index.js +0 -2
- package/dist/subscriber.js +30 -92
- package/dist/subscriber_helper.js +43 -76
- package/dist/subscribers_bulk.js +35 -63
- package/dist/workflow.js +15 -30
- package/dist/workflows_bulk.js +13 -28
- package/package.json +1 -1
- package/src/constants.js +2 -2
- package/src/event.js +10 -20
- package/src/events_bulk.js +11 -20
- package/src/index.js +0 -2
- package/src/subscriber.js +27 -63
- package/src/subscriber_helper.js +36 -77
- package/src/subscribers_bulk.js +15 -28
- package/src/workflow.js +10 -20
- package/src/workflows_bulk.js +11 -21
package/dist/subscribers_bulk.js
CHANGED
|
@@ -75,18 +75,7 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
|
|
|
75
75
|
(0, _createClass2["default"])(_BulkSubscribersChunk, [{
|
|
76
76
|
key: "__get_url",
|
|
77
77
|
value: function __get_url() {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (this.config.include_signature_param) {
|
|
81
|
-
if (this.config.auth_enabled) {
|
|
82
|
-
url_template = url_template + "?verify=true";
|
|
83
|
-
} else {
|
|
84
|
-
url_template = url_template + "?verify=false";
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
var url_formatted = "".concat(this.config.base_url).concat(url_template);
|
|
89
|
-
return url_formatted;
|
|
78
|
+
return "".concat(this.config.base_url, "event/");
|
|
90
79
|
}
|
|
91
80
|
}, {
|
|
92
81
|
key: "__common_headers",
|
|
@@ -155,20 +144,16 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
|
|
|
155
144
|
switch (_context.prev = _context.next) {
|
|
156
145
|
case 0:
|
|
157
146
|
headers = _objectSpread(_objectSpread({}, this.__headers), this.__dynamic_headers());
|
|
158
|
-
content_text = JSON.stringify(this.__chunk);
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
_context.prev = 3;
|
|
166
|
-
_context.next = 6;
|
|
147
|
+
content_text = JSON.stringify(this.__chunk);
|
|
148
|
+
signature = (0, _signature["default"])(this.__url, "POST", content_text, headers, this.config.workspace_secret);
|
|
149
|
+
headers["Authorization"] = "".concat(this.config.workspace_key, ":").concat(signature);
|
|
150
|
+
_context.prev = 4;
|
|
151
|
+
_context.next = 7;
|
|
167
152
|
return _axios["default"].post(this.__url, content_text, {
|
|
168
153
|
headers: headers
|
|
169
154
|
});
|
|
170
155
|
|
|
171
|
-
case
|
|
156
|
+
case 7:
|
|
172
157
|
response = _context.sent;
|
|
173
158
|
ok_response = Math.floor(response.status / 100) == 2;
|
|
174
159
|
|
|
@@ -198,12 +183,12 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
|
|
|
198
183
|
};
|
|
199
184
|
}
|
|
200
185
|
|
|
201
|
-
_context.next =
|
|
186
|
+
_context.next = 16;
|
|
202
187
|
break;
|
|
203
188
|
|
|
204
|
-
case
|
|
205
|
-
_context.prev =
|
|
206
|
-
_context.t0 = _context["catch"](
|
|
189
|
+
case 12:
|
|
190
|
+
_context.prev = 12;
|
|
191
|
+
_context.t0 = _context["catch"](4);
|
|
207
192
|
error_status = _context.t0.status || 500;
|
|
208
193
|
return _context.abrupt("return", {
|
|
209
194
|
status: "fail",
|
|
@@ -221,12 +206,12 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
|
|
|
221
206
|
})
|
|
222
207
|
});
|
|
223
208
|
|
|
224
|
-
case
|
|
209
|
+
case 16:
|
|
225
210
|
case "end":
|
|
226
211
|
return _context.stop();
|
|
227
212
|
}
|
|
228
213
|
}
|
|
229
|
-
}, _callee, this, [[
|
|
214
|
+
}, _callee, this, [[4, 12]]);
|
|
230
215
|
}));
|
|
231
216
|
|
|
232
217
|
function trigger() {
|
|
@@ -269,27 +254,14 @@ var BulkSubscribers = /*#__PURE__*/function () {
|
|
|
269
254
|
this.response.warnings = [].concat((0, _toConsumableArray2["default"])(this.response.warnings), (0, _toConsumableArray2["default"])(warnings_list));
|
|
270
255
|
}
|
|
271
256
|
|
|
272
|
-
var
|
|
273
|
-
|
|
274
|
-
var _iterator2 = _createForOfIteratorHelper(ev_arr),
|
|
275
|
-
_step2;
|
|
257
|
+
var ev = sub.get_events();
|
|
276
258
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
259
|
+
var _sub$validate_event_s = sub.validate_event_size(ev),
|
|
260
|
+
_sub$validate_event_s2 = (0, _slicedToArray2["default"])(_sub$validate_event_s, 2),
|
|
261
|
+
ev_json = _sub$validate_event_s2[0],
|
|
262
|
+
body_size = _sub$validate_event_s2[1];
|
|
280
263
|
|
|
281
|
-
|
|
282
|
-
_sub$validate_event_s2 = (0, _slicedToArray2["default"])(_sub$validate_event_s, 2),
|
|
283
|
-
ev_json = _sub$validate_event_s2[0],
|
|
284
|
-
body_size = _sub$validate_event_s2[1];
|
|
285
|
-
|
|
286
|
-
this.__pending_records.push([ev_json, body_size]);
|
|
287
|
-
}
|
|
288
|
-
} catch (err) {
|
|
289
|
-
_iterator2.e(err);
|
|
290
|
-
} finally {
|
|
291
|
-
_iterator2.f();
|
|
292
|
-
}
|
|
264
|
+
this.__pending_records.push([ev_json, body_size]);
|
|
293
265
|
}
|
|
294
266
|
} catch (err) {
|
|
295
267
|
_iterator.e(err);
|
|
@@ -306,14 +278,14 @@ var BulkSubscribers = /*#__PURE__*/function () {
|
|
|
306
278
|
|
|
307
279
|
var entries = this.__pending_records.slice(start_idx).entries();
|
|
308
280
|
|
|
309
|
-
var
|
|
310
|
-
|
|
281
|
+
var _iterator2 = _createForOfIteratorHelper(entries),
|
|
282
|
+
_step2;
|
|
311
283
|
|
|
312
284
|
try {
|
|
313
|
-
for (
|
|
314
|
-
var
|
|
315
|
-
rel_idx =
|
|
316
|
-
rec =
|
|
285
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
286
|
+
var _step2$value = (0, _slicedToArray2["default"])(_step2.value, 2),
|
|
287
|
+
rel_idx = _step2$value[0],
|
|
288
|
+
rec = _step2$value[1];
|
|
317
289
|
|
|
318
290
|
var is_added = curr_chunk.try_to_add_into_chunk(rec[0], rec[1]);
|
|
319
291
|
|
|
@@ -326,9 +298,9 @@ var BulkSubscribers = /*#__PURE__*/function () {
|
|
|
326
298
|
}
|
|
327
299
|
}
|
|
328
300
|
} catch (err) {
|
|
329
|
-
|
|
301
|
+
_iterator2.e(err);
|
|
330
302
|
} finally {
|
|
331
|
-
|
|
303
|
+
_iterator2.f();
|
|
332
304
|
}
|
|
333
305
|
}
|
|
334
306
|
}, {
|
|
@@ -346,7 +318,7 @@ var BulkSubscribers = /*#__PURE__*/function () {
|
|
|
346
318
|
var sub = _subscribers[_i];
|
|
347
319
|
|
|
348
320
|
if (!sub) {
|
|
349
|
-
|
|
321
|
+
continue;
|
|
350
322
|
}
|
|
351
323
|
|
|
352
324
|
if (!(sub instanceof _subscriber.Subscriber)) {
|
|
@@ -367,7 +339,7 @@ var BulkSubscribers = /*#__PURE__*/function () {
|
|
|
367
339
|
key: "save",
|
|
368
340
|
value: function () {
|
|
369
341
|
var _save = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
370
|
-
var
|
|
342
|
+
var _iterator3, _step3, _step3$value, c_idx, ch;
|
|
371
343
|
|
|
372
344
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
373
345
|
while (1) {
|
|
@@ -377,18 +349,18 @@ var BulkSubscribers = /*#__PURE__*/function () {
|
|
|
377
349
|
|
|
378
350
|
this.__chunkify();
|
|
379
351
|
|
|
380
|
-
|
|
352
|
+
_iterator3 = _createForOfIteratorHelper(this.chunks.entries());
|
|
381
353
|
_context2.prev = 3;
|
|
382
354
|
|
|
383
|
-
|
|
355
|
+
_iterator3.s();
|
|
384
356
|
|
|
385
357
|
case 5:
|
|
386
|
-
if ((
|
|
358
|
+
if ((_step3 = _iterator3.n()).done) {
|
|
387
359
|
_context2.next = 13;
|
|
388
360
|
break;
|
|
389
361
|
}
|
|
390
362
|
|
|
391
|
-
|
|
363
|
+
_step3$value = (0, _slicedToArray2["default"])(_step3.value, 2), c_idx = _step3$value[0], ch = _step3$value[1];
|
|
392
364
|
|
|
393
365
|
if (this.config.req_log_level > 0) {
|
|
394
366
|
console.log("DEBUG: triggering api call for chunk: ".concat(c_idx));
|
|
@@ -414,12 +386,12 @@ var BulkSubscribers = /*#__PURE__*/function () {
|
|
|
414
386
|
_context2.prev = 15;
|
|
415
387
|
_context2.t0 = _context2["catch"](3);
|
|
416
388
|
|
|
417
|
-
|
|
389
|
+
_iterator3.e(_context2.t0);
|
|
418
390
|
|
|
419
391
|
case 18:
|
|
420
392
|
_context2.prev = 18;
|
|
421
393
|
|
|
422
|
-
|
|
394
|
+
_iterator3.f();
|
|
423
395
|
|
|
424
396
|
return _context2.finish(18);
|
|
425
397
|
|
package/dist/workflow.js
CHANGED
|
@@ -106,18 +106,7 @@ var _WorkflowTrigger = /*#__PURE__*/function () {
|
|
|
106
106
|
(0, _createClass2["default"])(_WorkflowTrigger, [{
|
|
107
107
|
key: "_get_url",
|
|
108
108
|
value: function _get_url() {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (this.config.include_signature_param) {
|
|
112
|
-
if (this.config.auth_enabled) {
|
|
113
|
-
url_template = url_template + "?verify=true";
|
|
114
|
-
} else {
|
|
115
|
-
url_template = url_template + "?verify=false";
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
var url_formatted = "".concat(this.config.base_url).concat(this.config.workspace_key).concat(url_template);
|
|
120
|
-
return url_formatted;
|
|
109
|
+
return "".concat(this.config.base_url).concat(this.config.workspace_key, "/trigger/");
|
|
121
110
|
}
|
|
122
111
|
}, {
|
|
123
112
|
key: "_get_headers",
|
|
@@ -151,24 +140,20 @@ var _WorkflowTrigger = /*#__PURE__*/function () {
|
|
|
151
140
|
case 0:
|
|
152
141
|
headers = this._get_headers();
|
|
153
142
|
content_text = JSON.stringify(workflow_body);
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
_context.prev = 3;
|
|
161
|
-
_context.next = 6;
|
|
143
|
+
signature = (0, _signature["default"])(this.url, "POST", content_text, headers, this.config.workspace_secret);
|
|
144
|
+
headers["Authorization"] = "".concat(this.config.workspace_key, ":").concat(signature);
|
|
145
|
+
_context.prev = 4;
|
|
146
|
+
_context.next = 7;
|
|
162
147
|
return _axios["default"].post(this.url, content_text, {
|
|
163
148
|
headers: headers
|
|
164
149
|
});
|
|
165
150
|
|
|
166
|
-
case
|
|
151
|
+
case 7:
|
|
167
152
|
response = _context.sent;
|
|
168
153
|
ok_response = Math.floor(response.status / 100) == 2;
|
|
169
154
|
|
|
170
155
|
if (!ok_response) {
|
|
171
|
-
_context.next =
|
|
156
|
+
_context.next = 13;
|
|
172
157
|
break;
|
|
173
158
|
}
|
|
174
159
|
|
|
@@ -179,7 +164,7 @@ var _WorkflowTrigger = /*#__PURE__*/function () {
|
|
|
179
164
|
message: response.statusText
|
|
180
165
|
});
|
|
181
166
|
|
|
182
|
-
case
|
|
167
|
+
case 13:
|
|
183
168
|
return _context.abrupt("return", {
|
|
184
169
|
success: false,
|
|
185
170
|
status: "fail",
|
|
@@ -187,13 +172,13 @@ var _WorkflowTrigger = /*#__PURE__*/function () {
|
|
|
187
172
|
message: response.statusText
|
|
188
173
|
});
|
|
189
174
|
|
|
190
|
-
case
|
|
191
|
-
_context.next =
|
|
175
|
+
case 14:
|
|
176
|
+
_context.next = 19;
|
|
192
177
|
break;
|
|
193
178
|
|
|
194
|
-
case
|
|
195
|
-
_context.prev =
|
|
196
|
-
_context.t0 = _context["catch"](
|
|
179
|
+
case 16:
|
|
180
|
+
_context.prev = 16;
|
|
181
|
+
_context.t0 = _context["catch"](4);
|
|
197
182
|
return _context.abrupt("return", {
|
|
198
183
|
success: false,
|
|
199
184
|
status: "fail",
|
|
@@ -201,12 +186,12 @@ var _WorkflowTrigger = /*#__PURE__*/function () {
|
|
|
201
186
|
message: _context.t0.message
|
|
202
187
|
});
|
|
203
188
|
|
|
204
|
-
case
|
|
189
|
+
case 19:
|
|
205
190
|
case "end":
|
|
206
191
|
return _context.stop();
|
|
207
192
|
}
|
|
208
193
|
}
|
|
209
|
-
}, _callee, this, [[
|
|
194
|
+
}, _callee, this, [[4, 16]]);
|
|
210
195
|
}));
|
|
211
196
|
|
|
212
197
|
function send(_x) {
|
package/dist/workflows_bulk.js
CHANGED
|
@@ -75,18 +75,7 @@ var _BulkWorkflowsChunk = /*#__PURE__*/function () {
|
|
|
75
75
|
(0, _createClass2["default"])(_BulkWorkflowsChunk, [{
|
|
76
76
|
key: "__get_url",
|
|
77
77
|
value: function __get_url() {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (this.config.include_signature_param) {
|
|
81
|
-
if (this.config.auth_enabled) {
|
|
82
|
-
url_template = url_template + "?verify=true";
|
|
83
|
-
} else {
|
|
84
|
-
url_template = url_template + "?verify=false";
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
var url_formatted = "".concat(this.config.base_url).concat(this.config.workspace_key).concat(url_template);
|
|
89
|
-
return url_formatted;
|
|
78
|
+
return "".concat(this.config.base_url).concat(this.config.workspace_key, "/trigger/");
|
|
90
79
|
}
|
|
91
80
|
}, {
|
|
92
81
|
key: "__common_headers",
|
|
@@ -159,20 +148,16 @@ var _BulkWorkflowsChunk = /*#__PURE__*/function () {
|
|
|
159
148
|
switch (_context.prev = _context.next) {
|
|
160
149
|
case 0:
|
|
161
150
|
headers = _objectSpread(_objectSpread({}, this.__headers), this.__dynamic_headers());
|
|
162
|
-
content_text = JSON.stringify(this.__chunk);
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
_context.prev = 3;
|
|
170
|
-
_context.next = 6;
|
|
151
|
+
content_text = JSON.stringify(this.__chunk);
|
|
152
|
+
signature = (0, _signature["default"])(this.__url, "POST", content_text, headers, this.config.workspace_secret);
|
|
153
|
+
headers["Authorization"] = "".concat(this.config.workspace_key, ":").concat(signature);
|
|
154
|
+
_context.prev = 4;
|
|
155
|
+
_context.next = 7;
|
|
171
156
|
return _axios["default"].post(this.__url, content_text, {
|
|
172
157
|
headers: headers
|
|
173
158
|
});
|
|
174
159
|
|
|
175
|
-
case
|
|
160
|
+
case 7:
|
|
176
161
|
response = _context.sent;
|
|
177
162
|
ok_response = Math.floor(response.status / 100) == 2;
|
|
178
163
|
|
|
@@ -202,12 +187,12 @@ var _BulkWorkflowsChunk = /*#__PURE__*/function () {
|
|
|
202
187
|
};
|
|
203
188
|
}
|
|
204
189
|
|
|
205
|
-
_context.next =
|
|
190
|
+
_context.next = 16;
|
|
206
191
|
break;
|
|
207
192
|
|
|
208
|
-
case
|
|
209
|
-
_context.prev =
|
|
210
|
-
_context.t0 = _context["catch"](
|
|
193
|
+
case 12:
|
|
194
|
+
_context.prev = 12;
|
|
195
|
+
_context.t0 = _context["catch"](4);
|
|
211
196
|
error_status = _context.t0.status || 500;
|
|
212
197
|
return _context.abrupt("return", {
|
|
213
198
|
status: "fail",
|
|
@@ -225,12 +210,12 @@ var _BulkWorkflowsChunk = /*#__PURE__*/function () {
|
|
|
225
210
|
})
|
|
226
211
|
});
|
|
227
212
|
|
|
228
|
-
case
|
|
213
|
+
case 16:
|
|
229
214
|
case "end":
|
|
230
215
|
return _context.stop();
|
|
231
216
|
}
|
|
232
217
|
}
|
|
233
|
-
}, _callee, this, [[
|
|
218
|
+
}, _callee, this, [[4, 12]]);
|
|
234
219
|
}));
|
|
235
220
|
|
|
236
221
|
function trigger() {
|
package/package.json
CHANGED
package/src/constants.js
CHANGED
|
@@ -26,7 +26,7 @@ export const ALLOW_ATTACHMENTS_IN_BULK_API = true;
|
|
|
26
26
|
export const ATTACHMENT_UPLOAD_ENABLED = false;
|
|
27
27
|
|
|
28
28
|
// -- single Identity event limit
|
|
29
|
-
export const IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES =
|
|
30
|
-
export const IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE = "
|
|
29
|
+
export const IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES = 10 * 1024;
|
|
30
|
+
export const IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE = "10KB";
|
|
31
31
|
|
|
32
32
|
export const MAX_IDENTITY_EVENTS_IN_BULK_API = 400;
|
package/src/event.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
is_object,
|
|
3
2
|
is_string,
|
|
4
3
|
SuprsendError,
|
|
5
4
|
has_special_char,
|
|
@@ -130,15 +129,7 @@ export class EventCollector {
|
|
|
130
129
|
}
|
|
131
130
|
|
|
132
131
|
__get_url() {
|
|
133
|
-
|
|
134
|
-
if (this.config.include_signature_param) {
|
|
135
|
-
if (this.config.auth_enabled) {
|
|
136
|
-
url_template = url_template + "?verify=true";
|
|
137
|
-
} else {
|
|
138
|
-
url_template = url_template + "?verify=false";
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return `${this.config.base_url}${url_template}`;
|
|
132
|
+
return `${this.config.base_url}event/`;
|
|
142
133
|
}
|
|
143
134
|
|
|
144
135
|
__common_headers() {
|
|
@@ -161,16 +152,15 @@ export class EventCollector {
|
|
|
161
152
|
async send(event) {
|
|
162
153
|
const headers = { ...this.__headers, ...this.__dynamic_headers() };
|
|
163
154
|
const content_text = JSON.stringify(event);
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}
|
|
155
|
+
const signature = get_request_signature(
|
|
156
|
+
this.__url,
|
|
157
|
+
"POST",
|
|
158
|
+
content_text,
|
|
159
|
+
headers,
|
|
160
|
+
this.config.workspace_secret
|
|
161
|
+
);
|
|
162
|
+
headers["Authorization"] = `${this.config.workspace_key}:${signature}`;
|
|
163
|
+
|
|
174
164
|
try {
|
|
175
165
|
const response = await axios.post(this.__url, content_text, { headers });
|
|
176
166
|
const ok_response = Math.floor(response.status / 100) == 2;
|
package/src/events_bulk.js
CHANGED
|
@@ -36,15 +36,7 @@ class _BulkEventsChunk {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
__get_url() {
|
|
39
|
-
|
|
40
|
-
if (this.config.include_signature_param) {
|
|
41
|
-
if (this.config.auth_enabled) {
|
|
42
|
-
url_template = url_template + "?verify=true";
|
|
43
|
-
} else {
|
|
44
|
-
url_template = url_template + "?verify=false";
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
const url_formatted = `${this.config.base_url}${url_template}`;
|
|
39
|
+
const url_formatted = `${this.config.base_url}event/`;
|
|
48
40
|
return url_formatted;
|
|
49
41
|
}
|
|
50
42
|
|
|
@@ -105,17 +97,16 @@ class _BulkEventsChunk {
|
|
|
105
97
|
async trigger() {
|
|
106
98
|
const headers = { ...this.__headers, ...this.__dynamic_headers() };
|
|
107
99
|
const content_text = JSON.stringify(this.__chunk);
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
100
|
+
|
|
101
|
+
const signature = get_request_signature(
|
|
102
|
+
this.__url,
|
|
103
|
+
"POST",
|
|
104
|
+
content_text,
|
|
105
|
+
headers,
|
|
106
|
+
this.config.workspace_secret
|
|
107
|
+
);
|
|
108
|
+
headers["Authorization"] = `${this.config.workspace_key}:${signature}`;
|
|
109
|
+
|
|
119
110
|
try {
|
|
120
111
|
const response = await axios.post(this.__url, content_text, { headers });
|
|
121
112
|
const ok_response = Math.floor(response.status / 100) == 2;
|
package/src/index.js
CHANGED
|
@@ -22,8 +22,6 @@ class Suprsend {
|
|
|
22
22
|
this.config = config;
|
|
23
23
|
|
|
24
24
|
this.base_url = this._get_url(config.base_url);
|
|
25
|
-
this.auth_enabled = config.auth_enabled !== false;
|
|
26
|
-
this.include_signature_param = config.include_signature_param !== false;
|
|
27
25
|
this.user_agent = `suprsend/${
|
|
28
26
|
package_json.version
|
|
29
27
|
};node/${process.version.slice(1)}`;
|
package/src/subscriber.js
CHANGED
|
@@ -44,31 +44,16 @@ export class Subscriber {
|
|
|
44
44
|
this.config = config;
|
|
45
45
|
this.distinct_id = distinct_id;
|
|
46
46
|
this.__url = this.__get_url();
|
|
47
|
-
this.
|
|
47
|
+
this.__super_props = this.__super_properties();
|
|
48
48
|
|
|
49
49
|
this.__errors = [];
|
|
50
50
|
this.__info = [];
|
|
51
|
-
this.
|
|
52
|
-
this.
|
|
53
|
-
this._set_count = 0;
|
|
54
|
-
this._unset_count = 0;
|
|
55
|
-
this._events = [];
|
|
56
|
-
this._helper = new _SubscriberInternalHelper(
|
|
57
|
-
distinct_id,
|
|
58
|
-
config.workspace_key
|
|
59
|
-
);
|
|
51
|
+
this.user_operations = [];
|
|
52
|
+
this._helper = new _SubscriberInternalHelper();
|
|
60
53
|
}
|
|
61
54
|
|
|
62
55
|
__get_url() {
|
|
63
|
-
|
|
64
|
-
if (this.config.include_signature_param) {
|
|
65
|
-
if (this.config.auth_enabled) {
|
|
66
|
-
url_template = url_template + "?verify=true";
|
|
67
|
-
} else {
|
|
68
|
-
url_template = url_template + "?verify=false";
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return `${this.config.base_url}${url_template}`;
|
|
56
|
+
return `${this.config.base_url}event/`;
|
|
72
57
|
}
|
|
73
58
|
|
|
74
59
|
__get_headers() {
|
|
@@ -85,30 +70,16 @@ export class Subscriber {
|
|
|
85
70
|
};
|
|
86
71
|
}
|
|
87
72
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
this.
|
|
97
|
-
|
|
98
|
-
) {
|
|
99
|
-
const user_identify_event = {
|
|
100
|
-
$insert_id: uuid(),
|
|
101
|
-
$time: epoch_milliseconds(),
|
|
102
|
-
env: this.config.workspace_key,
|
|
103
|
-
event: "$identify",
|
|
104
|
-
properties: {
|
|
105
|
-
$identified_id: this.distinct_id,
|
|
106
|
-
...this.__supr_props,
|
|
107
|
-
},
|
|
108
|
-
};
|
|
109
|
-
all_events = [user_identify_event, ...all_events];
|
|
110
|
-
}
|
|
111
|
-
return all_events;
|
|
73
|
+
get_events() {
|
|
74
|
+
return {
|
|
75
|
+
$schema: "2",
|
|
76
|
+
$insert_id: uuid(),
|
|
77
|
+
$time: epoch_milliseconds(),
|
|
78
|
+
env: this.config.workspace_key,
|
|
79
|
+
distinct_id: this.distinct_id,
|
|
80
|
+
$user_operations: this.user_operations,
|
|
81
|
+
properties: this.__super_props,
|
|
82
|
+
};
|
|
112
83
|
}
|
|
113
84
|
|
|
114
85
|
validate_event_size(event_dict) {
|
|
@@ -147,22 +118,19 @@ export class Subscriber {
|
|
|
147
118
|
const is_part_of_bulk = false;
|
|
148
119
|
this.validate_body(is_part_of_bulk);
|
|
149
120
|
const headers = this.__get_headers();
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
121
|
+
const event = this.get_events();
|
|
122
|
+
const [validated_ev, size] = this.validate_event_size(event);
|
|
123
|
+
const content_text = JSON.stringify(validated_ev);
|
|
124
|
+
|
|
125
|
+
const signature = get_request_signature(
|
|
126
|
+
this.__url,
|
|
127
|
+
"POST",
|
|
128
|
+
content_text,
|
|
129
|
+
headers,
|
|
130
|
+
this.config.workspace_secret
|
|
131
|
+
);
|
|
132
|
+
headers["Authorization"] = `${this.config.workspace_key}:${signature}`;
|
|
154
133
|
|
|
155
|
-
const content_text = JSON.stringify(events);
|
|
156
|
-
if (this.config.auth_enabled) {
|
|
157
|
-
const signature = get_request_signature(
|
|
158
|
-
this.__url,
|
|
159
|
-
"POST",
|
|
160
|
-
content_text,
|
|
161
|
-
headers,
|
|
162
|
-
this.config.workspace_secret
|
|
163
|
-
);
|
|
164
|
-
headers["Authorization"] = `${this.config.workspace_key}:${signature}`;
|
|
165
|
-
}
|
|
166
134
|
try {
|
|
167
135
|
const response = await axios.post(this.__url, content_text, { headers });
|
|
168
136
|
const ok_response = Math.floor(response.status / 100) == 2;
|
|
@@ -200,11 +168,7 @@ export class Subscriber {
|
|
|
200
168
|
this.__info = [...this.__info, ...resp["info"]];
|
|
201
169
|
}
|
|
202
170
|
if (!is_empty(resp["event"])) {
|
|
203
|
-
this.
|
|
204
|
-
this._set_count += resp["set"];
|
|
205
|
-
this._append_count += resp["append"];
|
|
206
|
-
this._remove_count += resp["remove"];
|
|
207
|
-
this._unset_count += resp["unset"];
|
|
171
|
+
this.user_operations.push(resp["event"]);
|
|
208
172
|
}
|
|
209
173
|
}
|
|
210
174
|
|