godprotocol 2.3.40 → 2.3.42
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/package.json +1 -1
- package/server/Routable/Route_table.js +22 -1
- package/server/version_control.js +19 -13
package/package.json
CHANGED
|
@@ -32,6 +32,27 @@ class Route_table extends Headers {
|
|
|
32
32
|
this.after_callbacks.push(fn);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
handle_before = async (payload) => {
|
|
36
|
+
for (const callback of this.before_callbacks) {
|
|
37
|
+
const result = await callback(payload);
|
|
38
|
+
|
|
39
|
+
// allow middleware-style rejection
|
|
40
|
+
if (result && result.ok === false) {
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return { ok: true };
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
handle_after = async (payload, response) => {
|
|
49
|
+
for (const callback of this.after_callbacks) {
|
|
50
|
+
await callback(payload, response);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return { ok: true };
|
|
54
|
+
};
|
|
55
|
+
|
|
35
56
|
get_version = async (version = this.active_version) => {
|
|
36
57
|
let ver = this.versions[version];
|
|
37
58
|
|
|
@@ -332,7 +353,7 @@ class Route_table extends Headers {
|
|
|
332
353
|
await this.call_agency({
|
|
333
354
|
endpoint: name,
|
|
334
355
|
args: payload.body,
|
|
335
|
-
response:
|
|
356
|
+
response: result,
|
|
336
357
|
// conversation: payload.headers.meta.conversation_id,
|
|
337
358
|
});
|
|
338
359
|
}
|
|
@@ -211,12 +211,15 @@ const version_middleware = async (req, res, routers) => {
|
|
|
211
211
|
const db = await router.resolve_db(req);
|
|
212
212
|
|
|
213
213
|
// WEBHOOK PRIOR
|
|
214
|
-
const callback = await router.handle_before(
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
214
|
+
const callback = await router.handle_before(
|
|
215
|
+
{
|
|
216
|
+
req,
|
|
217
|
+
body,
|
|
218
|
+
route: name,
|
|
219
|
+
db: db.db,
|
|
220
|
+
},
|
|
221
|
+
router.gp,
|
|
222
|
+
);
|
|
220
223
|
|
|
221
224
|
if (callback?.response) return respond(callback.response, res);
|
|
222
225
|
|
|
@@ -245,13 +248,16 @@ const version_middleware = async (req, res, routers) => {
|
|
|
245
248
|
if (!isWebhook && version !== "*") {
|
|
246
249
|
error_stage = "Webhook";
|
|
247
250
|
|
|
248
|
-
await router.handle_after(
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
251
|
+
await router.handle_after(
|
|
252
|
+
{
|
|
253
|
+
req,
|
|
254
|
+
result,
|
|
255
|
+
version,
|
|
256
|
+
route: name,
|
|
257
|
+
db: db.db,
|
|
258
|
+
},
|
|
259
|
+
router.gp,
|
|
260
|
+
);
|
|
255
261
|
}
|
|
256
262
|
|
|
257
263
|
return respond(result, res);
|