@certik/skynet 0.10.21 → 0.10.22

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/api.js +27 -15
  3. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.10.22
4
+
5
+ - Fixed nomad API log elapse time
6
+ - Fixed missing abort controller for proxy lib
7
+
3
8
  ## 0.10.21
4
9
 
5
10
  - Enabled more customizations for indexer selector support, check https://github.com/sindresorhus/meow for available config options, an example
package/api.js CHANGED
@@ -5,10 +5,18 @@ const { isProduction } = require("./env");
5
5
  const { useLock } = require("./distributed-lock");
6
6
  const { inline } = require("./log");
7
7
 
8
- async function logMiddleware(req, res, next) {
8
+ async function logStartMiddleware(req, res, next) {
9
9
  const start = new Date();
10
+
11
+ res.set("x-requested-at", start.toISOString());
12
+
10
13
  next();
14
+ }
15
+
16
+ async function logEndMiddleware(req, res, next) {
17
+ const start = new Date(res.get("x-requested-at"));
11
18
  const end = new Date();
19
+
12
20
  const logInfo = {
13
21
  start,
14
22
  end,
@@ -21,6 +29,8 @@ async function logMiddleware(req, res, next) {
21
29
  logInfo.errorMessage = res.statusMessage;
22
30
  }
23
31
  inline.log(JSON.stringify(logInfo));
32
+
33
+ next();
24
34
  }
25
35
 
26
36
  const apiKeyMiddleware = (key) => {
@@ -94,10 +104,6 @@ ${getSelectorDesc(selector)}
94
104
  const method = route.method ? route.method.toLowerCase() : "get";
95
105
  const middlewares = route.middlewares || [];
96
106
 
97
- if (route.log !== false) {
98
- middlewares.unshift(logMiddleware);
99
- }
100
-
101
107
  if (route.protected) {
102
108
  middlewares.unshift(apiKeyMiddleware(serve.apiKey));
103
109
  }
@@ -107,21 +113,27 @@ ${getSelectorDesc(selector)}
107
113
  inline.log(`registering ${method} ${route.path}`);
108
114
  }
109
115
 
110
- app[method](route.path, ...middlewares, async (req, res) => {
111
- try {
112
- await route.handler({ req, res, ...selectorFlags });
113
- } catch (routeErr) {
114
- inline.log("caught route err", routeErr);
115
-
116
- res.status(500).send(`internal server error: ${routeErr.message}`);
117
- }
118
- });
116
+ app[method](
117
+ route.path,
118
+ logStartMiddleware,
119
+ ...middlewares,
120
+ async (req, res) => {
121
+ try {
122
+ await route.handler({ req, res, ...selectorFlags });
123
+ } catch (routeErr) {
124
+ inline.log("caught route err", routeErr);
125
+
126
+ res.status(500).send(`internal server error: ${routeErr.message}`);
127
+ }
128
+ },
129
+ logEndMiddleware
130
+ );
119
131
  }
120
132
  }
121
133
 
122
134
  app.listen(serve.port, () => {
123
135
  if (isProduction()) {
124
- inline.log(`${name} listening at https://api.certik-skynet.com/${serve.prefix}`);
136
+ inline.log(`${name} listening at https://api.certik-skynet.com${serve.prefix}`);
125
137
  } else {
126
138
  inline.log(`${name} listening at http://localhost:${serve.port}`);
127
139
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@certik/skynet",
3
- "version": "0.10.21",
3
+ "version": "0.10.22",
4
4
  "description": "Skynet Shared JS library",
5
5
  "main": "index.js",
6
6
  "author": "CertiK Engineering",
@@ -14,6 +14,7 @@
14
14
  "dependencies": {
15
15
  "@slack/web-api": "^6.4.0",
16
16
  "ably": "^1.2.22",
17
+ "abort-controller": "^3.0.0",
17
18
  "aws-sdk": "^2.1164.0",
18
19
  "bottleneck": "^2.19.5",
19
20
  "chalk": "^4.1.2",