@spinajs/http 2.0.481 → 2.0.482
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/lib/cjs/config/http.d.ts.map +1 -1
- package/lib/cjs/config/http.js +11 -0
- package/lib/cjs/config/http.js.map +1 -1
- package/lib/cjs/controllers.d.ts.map +1 -1
- package/lib/cjs/controllers.js +48 -12
- package/lib/cjs/controllers.js.map +1 -1
- package/lib/cjs/decorators.d.ts +46 -4
- package/lib/cjs/decorators.d.ts.map +1 -1
- package/lib/cjs/decorators.js +127 -23
- package/lib/cjs/decorators.js.map +1 -1
- package/lib/cjs/error.js +3 -3
- package/lib/cjs/error.js.map +1 -1
- package/lib/cjs/file-middlewares/validation.d.ts +11 -0
- package/lib/cjs/file-middlewares/validation.d.ts.map +1 -1
- package/lib/cjs/file-middlewares/validation.js +52 -9
- package/lib/cjs/file-middlewares/validation.js.map +1 -1
- package/lib/cjs/file-middlewares/zip.d.ts.map +1 -1
- package/lib/cjs/file-middlewares/zip.js +6 -1
- package/lib/cjs/file-middlewares/zip.js.map +1 -1
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +95 -1
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +100 -4
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/middlewares/PerfRollup.d.ts +19 -0
- package/lib/cjs/middlewares/PerfRollup.d.ts.map +1 -0
- package/lib/cjs/middlewares/PerfRollup.js +61 -0
- package/lib/cjs/middlewares/PerfRollup.js.map +1 -0
- package/lib/cjs/middlewares/RequestId.d.ts +1 -2
- package/lib/cjs/middlewares/RequestId.d.ts.map +1 -1
- package/lib/cjs/middlewares/RequestId.js +19 -5
- package/lib/cjs/middlewares/RequestId.js.map +1 -1
- package/lib/cjs/middlewares/ResponseTime.d.ts +1 -2
- package/lib/cjs/middlewares/ResponseTime.d.ts.map +1 -1
- package/lib/cjs/middlewares/ResponseTime.js +29 -11
- package/lib/cjs/middlewares/ResponseTime.js.map +1 -1
- package/lib/cjs/response-methods/file.d.ts.map +1 -1
- package/lib/cjs/response-methods/file.js +47 -21
- package/lib/cjs/response-methods/file.js.map +1 -1
- package/lib/cjs/response-methods/index.d.ts +3 -0
- package/lib/cjs/response-methods/index.d.ts.map +1 -1
- package/lib/cjs/response-methods/index.js +3 -0
- package/lib/cjs/response-methods/index.js.map +1 -1
- package/lib/cjs/response-methods/redirect.d.ts +11 -4
- package/lib/cjs/response-methods/redirect.d.ts.map +1 -1
- package/lib/cjs/response-methods/redirect.js +14 -4
- package/lib/cjs/response-methods/redirect.js.map +1 -1
- package/lib/cjs/response-methods/xml.d.ts +17 -0
- package/lib/cjs/response-methods/xml.d.ts.map +1 -0
- package/lib/cjs/response-methods/xml.js +26 -0
- package/lib/cjs/response-methods/xml.js.map +1 -0
- package/lib/cjs/responses.d.ts +10 -0
- package/lib/cjs/responses.d.ts.map +1 -1
- package/lib/cjs/responses.js +94 -35
- package/lib/cjs/responses.js.map +1 -1
- package/lib/cjs/route-args/FromBody.d.ts.map +1 -1
- package/lib/cjs/route-args/FromBody.js +6 -1
- package/lib/cjs/route-args/FromBody.js.map +1 -1
- package/lib/cjs/route-args/FromForm.d.ts +1 -1
- package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
- package/lib/cjs/route-args/FromForm.js +116 -37
- package/lib/cjs/route-args/FromForm.js.map +1 -1
- package/lib/cjs/route-args/FromXml.d.ts +17 -0
- package/lib/cjs/route-args/FromXml.d.ts.map +1 -0
- package/lib/cjs/route-args/FromXml.js +55 -0
- package/lib/cjs/route-args/FromXml.js.map +1 -0
- package/lib/cjs/route-args/RequestContext.d.ts +43 -0
- package/lib/cjs/route-args/RequestContext.d.ts.map +1 -0
- package/lib/cjs/route-args/RequestContext.js +94 -0
- package/lib/cjs/route-args/RequestContext.js.map +1 -0
- package/lib/cjs/route-args/RequestFields.d.ts +1 -1
- package/lib/cjs/route-args/RequestFields.d.ts.map +1 -1
- package/lib/cjs/route-args/RequestFields.js +1 -0
- package/lib/cjs/route-args/RequestFields.js.map +1 -1
- package/lib/cjs/route-args/RouteArgs.d.ts.map +1 -1
- package/lib/cjs/route-args/RouteArgs.js +50 -10
- package/lib/cjs/route-args/RouteArgs.js.map +1 -1
- package/lib/cjs/route-args/index.d.ts +2 -0
- package/lib/cjs/route-args/index.d.ts.map +1 -1
- package/lib/cjs/route-args/index.js +2 -0
- package/lib/cjs/route-args/index.js.map +1 -1
- package/lib/cjs/server.d.ts +36 -3
- package/lib/cjs/server.d.ts.map +1 -1
- package/lib/cjs/server.js +131 -42
- package/lib/cjs/server.js.map +1 -1
- package/lib/mjs/config/http.d.ts.map +1 -1
- package/lib/mjs/config/http.js +11 -0
- package/lib/mjs/config/http.js.map +1 -1
- package/lib/mjs/controllers.d.ts.map +1 -1
- package/lib/mjs/controllers.js +46 -10
- package/lib/mjs/controllers.js.map +1 -1
- package/lib/mjs/decorators.d.ts +46 -4
- package/lib/mjs/decorators.d.ts.map +1 -1
- package/lib/mjs/decorators.js +121 -24
- package/lib/mjs/decorators.js.map +1 -1
- package/lib/mjs/error.js +3 -3
- package/lib/mjs/error.js.map +1 -1
- package/lib/mjs/file-middlewares/validation.d.ts +11 -0
- package/lib/mjs/file-middlewares/validation.d.ts.map +1 -1
- package/lib/mjs/file-middlewares/validation.js +53 -10
- package/lib/mjs/file-middlewares/validation.js.map +1 -1
- package/lib/mjs/file-middlewares/zip.d.ts.map +1 -1
- package/lib/mjs/file-middlewares/zip.js +6 -1
- package/lib/mjs/file-middlewares/zip.js.map +1 -1
- package/lib/mjs/index.d.ts +1 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +1 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +95 -1
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +65 -2
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/middlewares/PerfRollup.d.ts +19 -0
- package/lib/mjs/middlewares/PerfRollup.d.ts.map +1 -0
- package/lib/mjs/middlewares/PerfRollup.js +58 -0
- package/lib/mjs/middlewares/PerfRollup.js.map +1 -0
- package/lib/mjs/middlewares/RequestId.d.ts +1 -2
- package/lib/mjs/middlewares/RequestId.d.ts.map +1 -1
- package/lib/mjs/middlewares/RequestId.js +19 -5
- package/lib/mjs/middlewares/RequestId.js.map +1 -1
- package/lib/mjs/middlewares/ResponseTime.d.ts +1 -2
- package/lib/mjs/middlewares/ResponseTime.d.ts.map +1 -1
- package/lib/mjs/middlewares/ResponseTime.js +29 -11
- package/lib/mjs/middlewares/ResponseTime.js.map +1 -1
- package/lib/mjs/response-methods/file.d.ts.map +1 -1
- package/lib/mjs/response-methods/file.js +41 -15
- package/lib/mjs/response-methods/file.js.map +1 -1
- package/lib/mjs/response-methods/index.d.ts +3 -0
- package/lib/mjs/response-methods/index.d.ts.map +1 -1
- package/lib/mjs/response-methods/index.js +3 -0
- package/lib/mjs/response-methods/index.js.map +1 -1
- package/lib/mjs/response-methods/redirect.d.ts +11 -4
- package/lib/mjs/response-methods/redirect.d.ts.map +1 -1
- package/lib/mjs/response-methods/redirect.js +15 -5
- package/lib/mjs/response-methods/redirect.js.map +1 -1
- package/lib/mjs/response-methods/xml.d.ts +17 -0
- package/lib/mjs/response-methods/xml.d.ts.map +1 -0
- package/lib/mjs/response-methods/xml.js +22 -0
- package/lib/mjs/response-methods/xml.js.map +1 -0
- package/lib/mjs/responses.d.ts +10 -0
- package/lib/mjs/responses.d.ts.map +1 -1
- package/lib/mjs/responses.js +93 -35
- package/lib/mjs/responses.js.map +1 -1
- package/lib/mjs/route-args/FromBody.d.ts.map +1 -1
- package/lib/mjs/route-args/FromBody.js +6 -1
- package/lib/mjs/route-args/FromBody.js.map +1 -1
- package/lib/mjs/route-args/FromForm.d.ts +1 -1
- package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
- package/lib/mjs/route-args/FromForm.js +114 -38
- package/lib/mjs/route-args/FromForm.js.map +1 -1
- package/lib/mjs/route-args/FromXml.d.ts +17 -0
- package/lib/mjs/route-args/FromXml.d.ts.map +1 -0
- package/lib/mjs/route-args/FromXml.js +52 -0
- package/lib/mjs/route-args/FromXml.js.map +1 -0
- package/lib/mjs/route-args/RequestContext.d.ts +43 -0
- package/lib/mjs/route-args/RequestContext.d.ts.map +1 -0
- package/lib/mjs/route-args/RequestContext.js +91 -0
- package/lib/mjs/route-args/RequestContext.js.map +1 -0
- package/lib/mjs/route-args/RequestFields.d.ts +1 -1
- package/lib/mjs/route-args/RequestFields.d.ts.map +1 -1
- package/lib/mjs/route-args/RequestFields.js +1 -0
- package/lib/mjs/route-args/RequestFields.js.map +1 -1
- package/lib/mjs/route-args/RouteArgs.d.ts.map +1 -1
- package/lib/mjs/route-args/RouteArgs.js +51 -11
- package/lib/mjs/route-args/RouteArgs.js.map +1 -1
- package/lib/mjs/route-args/index.d.ts +2 -0
- package/lib/mjs/route-args/index.d.ts.map +1 -1
- package/lib/mjs/route-args/index.js +2 -0
- package/lib/mjs/route-args/index.js.map +1 -1
- package/lib/mjs/server.d.ts +36 -3
- package/lib/mjs/server.d.ts.map +1 -1
- package/lib/mjs/server.js +132 -43
- package/lib/mjs/server.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +16 -12
package/lib/mjs/interfaces.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Constructor, AsyncService, Class } from '@spinajs/di';
|
|
|
3
3
|
import { fs, IFileInfo } from '@spinajs/fs';
|
|
4
4
|
import formidable from 'formidable';
|
|
5
5
|
import { CookieOptions } from 'express';
|
|
6
|
+
import { IPerfScope } from '@spinajs/log';
|
|
6
7
|
/**
|
|
7
8
|
* Accept header enum
|
|
8
9
|
*/
|
|
@@ -37,6 +38,16 @@ export declare enum HttpAcceptHeaders {
|
|
|
37
38
|
*/
|
|
38
39
|
ALL = 7
|
|
39
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Lifecycle state of the HttpServer. Drives start() / stop() / dispose() and is
|
|
43
|
+
* emitted on the DI bus as `http.server.listening` / `.closing` / `.closed`.
|
|
44
|
+
*/
|
|
45
|
+
export declare enum LifecycleState {
|
|
46
|
+
Created = 0,
|
|
47
|
+
Listening = 1,
|
|
48
|
+
Closing = 2,
|
|
49
|
+
Closed = 3
|
|
50
|
+
}
|
|
40
51
|
export interface IHttpServerConfiguration {
|
|
41
52
|
/**
|
|
42
53
|
* Https server configuration
|
|
@@ -62,6 +73,12 @@ export interface IHttpServerConfiguration {
|
|
|
62
73
|
*/
|
|
63
74
|
AcceptHeaders: HttpAcceptHeaders;
|
|
64
75
|
FatalTemplate: string;
|
|
76
|
+
/**
|
|
77
|
+
* Grace period ( ms ) for a graceful shutdown before still-open connections
|
|
78
|
+
* are force-closed. Idle keep-alive sockets are released immediately; only
|
|
79
|
+
* genuinely in-flight requests use this window. Default 10000.
|
|
80
|
+
*/
|
|
81
|
+
shutdownTimeout?: number;
|
|
65
82
|
}
|
|
66
83
|
/**
|
|
67
84
|
* Config options for static files
|
|
@@ -127,6 +144,13 @@ export interface FileValidationRules {
|
|
|
127
144
|
};
|
|
128
145
|
proportions?: FileProportions[];
|
|
129
146
|
types?: FileTypeEnum[];
|
|
147
|
+
/**
|
|
148
|
+
* File size bounds in bytes. `min`/`max` are inclusive.
|
|
149
|
+
*/
|
|
150
|
+
size?: {
|
|
151
|
+
min?: number;
|
|
152
|
+
max?: number;
|
|
153
|
+
};
|
|
130
154
|
}
|
|
131
155
|
export type UploadFileMiddlewareDescriptor = string | Class<FileUploadMiddleware> | {
|
|
132
156
|
options: any;
|
|
@@ -173,6 +197,12 @@ export interface IUploadedFile<T = any> {
|
|
|
173
197
|
}
|
|
174
198
|
export interface Request extends express.Request {
|
|
175
199
|
storage: IActionLocalStoregeContext;
|
|
200
|
+
/**
|
|
201
|
+
* Raw request body bytes, captured by the express.json `verify` hook for
|
|
202
|
+
* JSON requests. Consumed by the {@link ParameterType.RawBody} route arg for
|
|
203
|
+
* webhook signature verification. Undefined for non-JSON requests.
|
|
204
|
+
*/
|
|
205
|
+
rawBody?: Buffer;
|
|
176
206
|
}
|
|
177
207
|
/**
|
|
178
208
|
* File upload provider, used to copy incoming formidable
|
|
@@ -193,6 +223,16 @@ export interface IServerTimingEntry {
|
|
|
193
223
|
}
|
|
194
224
|
export interface IActionLocalStoregeContext {
|
|
195
225
|
requestId: string;
|
|
226
|
+
/**
|
|
227
|
+
* W3C trace id shared across services for one distributed trace. Seeded by
|
|
228
|
+
* {@link RequestId} from an inbound `traceparent` header ( or freshly minted )
|
|
229
|
+
* and merged into every log line by the ambient log context.
|
|
230
|
+
*/
|
|
231
|
+
traceId?: string;
|
|
232
|
+
/**
|
|
233
|
+
* W3C span id identifying this service's span within the trace.
|
|
234
|
+
*/
|
|
235
|
+
spanId?: string;
|
|
196
236
|
responseStart: Date;
|
|
197
237
|
responseEnd: Date;
|
|
198
238
|
responseTime: number;
|
|
@@ -202,6 +242,11 @@ export interface IActionLocalStoregeContext {
|
|
|
202
242
|
* `Server-Timing` response header when {@link ServerTiming} is enabled.
|
|
203
243
|
*/
|
|
204
244
|
serverTiming?: IServerTimingEntry[];
|
|
245
|
+
/**
|
|
246
|
+
* Per-request perf accumulator ( query counts, span totals ) populated by the
|
|
247
|
+
* Perf facade during the action and flushed by {@link PerfRollup} at finish.
|
|
248
|
+
*/
|
|
249
|
+
perf?: IPerfScope;
|
|
205
250
|
}
|
|
206
251
|
export interface IResponseHeader {
|
|
207
252
|
Name: string;
|
|
@@ -254,10 +299,30 @@ export declare enum HTTP_STATUS_CODE {
|
|
|
254
299
|
* interrupted downloads, or split a download into multiple simultaneous streams.
|
|
255
300
|
*/
|
|
256
301
|
PARTIAL_CONTENT = 206,
|
|
302
|
+
/**
|
|
303
|
+
* Resource has moved permanently to a new URL.
|
|
304
|
+
*/
|
|
305
|
+
MOVED_PERMANENTLY = 301,
|
|
306
|
+
/**
|
|
307
|
+
* Resource found at a different URL (temporary redirect, method may change).
|
|
308
|
+
*/
|
|
309
|
+
FOUND = 302,
|
|
310
|
+
/**
|
|
311
|
+
* Response to the request can be found at another URL using GET.
|
|
312
|
+
*/
|
|
313
|
+
SEE_OTHER = 303,
|
|
257
314
|
/**
|
|
258
315
|
* Resource is not modified
|
|
259
316
|
*/
|
|
260
317
|
NOT_MODIFIED = 304,
|
|
318
|
+
/**
|
|
319
|
+
* Temporary redirect preserving the request method and body.
|
|
320
|
+
*/
|
|
321
|
+
TEMPORARY_REDIRECT = 307,
|
|
322
|
+
/**
|
|
323
|
+
* Permanent redirect preserving the request method and body.
|
|
324
|
+
*/
|
|
325
|
+
PERMANENT_REDIRECT = 308,
|
|
261
326
|
/**
|
|
262
327
|
* Invalid request, eg. invalid parameters
|
|
263
328
|
*/
|
|
@@ -297,7 +362,12 @@ export declare enum HTTP_STATUS_CODE {
|
|
|
297
362
|
/**
|
|
298
363
|
* Method not implemented
|
|
299
364
|
*/
|
|
300
|
-
NOT_IMPLEMENTED = 501
|
|
365
|
+
NOT_IMPLEMENTED = 501,
|
|
366
|
+
/**
|
|
367
|
+
* The server is not ready to handle the request — a dependency is down or the
|
|
368
|
+
* app is still starting up. Used by the telemetry readiness endpoint.
|
|
369
|
+
*/
|
|
370
|
+
SERVICE_UNAVAILABLE = 503
|
|
301
371
|
}
|
|
302
372
|
/**
|
|
303
373
|
* Avaible route types, match HTTP methods
|
|
@@ -406,6 +476,30 @@ export declare enum ParameterType {
|
|
|
406
476
|
* From http header
|
|
407
477
|
*/
|
|
408
478
|
FromHeader = "FromHeader",
|
|
479
|
+
/**
|
|
480
|
+
* Client IP resolved by the RealIp middleware (X-Forwarded-For aware)
|
|
481
|
+
*/
|
|
482
|
+
Ip = "IpRouteArgs",
|
|
483
|
+
/**
|
|
484
|
+
* Per-request id (matches the x-request-id response header)
|
|
485
|
+
*/
|
|
486
|
+
RequestId = "RequestIdRouteArgs",
|
|
487
|
+
/**
|
|
488
|
+
* User-Agent request header
|
|
489
|
+
*/
|
|
490
|
+
UserAgent = "UserAgentRouteArgs",
|
|
491
|
+
/**
|
|
492
|
+
* Referer / Referrer request header
|
|
493
|
+
*/
|
|
494
|
+
Referer = "RefererRouteArgs",
|
|
495
|
+
/**
|
|
496
|
+
* Raw request body Buffer (captured for JSON requests)
|
|
497
|
+
*/
|
|
498
|
+
RawBody = "RawBodyRouteArgs",
|
|
499
|
+
/**
|
|
500
|
+
* Parsed XML request body
|
|
501
|
+
*/
|
|
502
|
+
FromXml = "FromXmlRouteArgs",
|
|
409
503
|
/**
|
|
410
504
|
* Req from express
|
|
411
505
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/interfaces.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AsyncService, isPromise } from '@spinajs/di';
|
|
2
|
-
import { httpResponse } from './responses.js';
|
|
3
2
|
/**
|
|
4
3
|
* Accept header enum
|
|
5
4
|
*/
|
|
@@ -35,6 +34,17 @@ export var HttpAcceptHeaders;
|
|
|
35
34
|
*/
|
|
36
35
|
HttpAcceptHeaders[HttpAcceptHeaders["ALL"] = 7] = "ALL";
|
|
37
36
|
})(HttpAcceptHeaders || (HttpAcceptHeaders = {}));
|
|
37
|
+
/**
|
|
38
|
+
* Lifecycle state of the HttpServer. Drives start() / stop() / dispose() and is
|
|
39
|
+
* emitted on the DI bus as `http.server.listening` / `.closing` / `.closed`.
|
|
40
|
+
*/
|
|
41
|
+
export var LifecycleState;
|
|
42
|
+
(function (LifecycleState) {
|
|
43
|
+
LifecycleState[LifecycleState["Created"] = 0] = "Created";
|
|
44
|
+
LifecycleState[LifecycleState["Listening"] = 1] = "Listening";
|
|
45
|
+
LifecycleState[LifecycleState["Closing"] = 2] = "Closing";
|
|
46
|
+
LifecycleState[LifecycleState["Closed"] = 3] = "Closed";
|
|
47
|
+
})(LifecycleState || (LifecycleState = {}));
|
|
38
48
|
export var FileTypeEnum;
|
|
39
49
|
(function (FileTypeEnum) {
|
|
40
50
|
FileTypeEnum["jpeg"] = "image/jpeg";
|
|
@@ -116,10 +126,30 @@ export var HTTP_STATUS_CODE;
|
|
|
116
126
|
* interrupted downloads, or split a download into multiple simultaneous streams.
|
|
117
127
|
*/
|
|
118
128
|
HTTP_STATUS_CODE[HTTP_STATUS_CODE["PARTIAL_CONTENT"] = 206] = "PARTIAL_CONTENT";
|
|
129
|
+
/**
|
|
130
|
+
* Resource has moved permanently to a new URL.
|
|
131
|
+
*/
|
|
132
|
+
HTTP_STATUS_CODE[HTTP_STATUS_CODE["MOVED_PERMANENTLY"] = 301] = "MOVED_PERMANENTLY";
|
|
133
|
+
/**
|
|
134
|
+
* Resource found at a different URL (temporary redirect, method may change).
|
|
135
|
+
*/
|
|
136
|
+
HTTP_STATUS_CODE[HTTP_STATUS_CODE["FOUND"] = 302] = "FOUND";
|
|
137
|
+
/**
|
|
138
|
+
* Response to the request can be found at another URL using GET.
|
|
139
|
+
*/
|
|
140
|
+
HTTP_STATUS_CODE[HTTP_STATUS_CODE["SEE_OTHER"] = 303] = "SEE_OTHER";
|
|
119
141
|
/**
|
|
120
142
|
* Resource is not modified
|
|
121
143
|
*/
|
|
122
144
|
HTTP_STATUS_CODE[HTTP_STATUS_CODE["NOT_MODIFIED"] = 304] = "NOT_MODIFIED";
|
|
145
|
+
/**
|
|
146
|
+
* Temporary redirect preserving the request method and body.
|
|
147
|
+
*/
|
|
148
|
+
HTTP_STATUS_CODE[HTTP_STATUS_CODE["TEMPORARY_REDIRECT"] = 307] = "TEMPORARY_REDIRECT";
|
|
149
|
+
/**
|
|
150
|
+
* Permanent redirect preserving the request method and body.
|
|
151
|
+
*/
|
|
152
|
+
HTTP_STATUS_CODE[HTTP_STATUS_CODE["PERMANENT_REDIRECT"] = 308] = "PERMANENT_REDIRECT";
|
|
123
153
|
/**
|
|
124
154
|
* Invalid request, eg. invalid parameters
|
|
125
155
|
*/
|
|
@@ -160,6 +190,11 @@ export var HTTP_STATUS_CODE;
|
|
|
160
190
|
* Method not implemented
|
|
161
191
|
*/
|
|
162
192
|
HTTP_STATUS_CODE[HTTP_STATUS_CODE["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
|
|
193
|
+
/**
|
|
194
|
+
* The server is not ready to handle the request — a dependency is down or the
|
|
195
|
+
* app is still starting up. Used by the telemetry readiness endpoint.
|
|
196
|
+
*/
|
|
197
|
+
HTTP_STATUS_CODE[HTTP_STATUS_CODE["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
|
|
163
198
|
})(HTTP_STATUS_CODE || (HTTP_STATUS_CODE = {}));
|
|
164
199
|
/**
|
|
165
200
|
* Avaible route types, match HTTP methods
|
|
@@ -271,6 +306,30 @@ export var ParameterType;
|
|
|
271
306
|
* From http header
|
|
272
307
|
*/
|
|
273
308
|
ParameterType["FromHeader"] = "FromHeader";
|
|
309
|
+
/**
|
|
310
|
+
* Client IP resolved by the RealIp middleware (X-Forwarded-For aware)
|
|
311
|
+
*/
|
|
312
|
+
ParameterType["Ip"] = "IpRouteArgs";
|
|
313
|
+
/**
|
|
314
|
+
* Per-request id (matches the x-request-id response header)
|
|
315
|
+
*/
|
|
316
|
+
ParameterType["RequestId"] = "RequestIdRouteArgs";
|
|
317
|
+
/**
|
|
318
|
+
* User-Agent request header
|
|
319
|
+
*/
|
|
320
|
+
ParameterType["UserAgent"] = "UserAgentRouteArgs";
|
|
321
|
+
/**
|
|
322
|
+
* Referer / Referrer request header
|
|
323
|
+
*/
|
|
324
|
+
ParameterType["Referer"] = "RefererRouteArgs";
|
|
325
|
+
/**
|
|
326
|
+
* Raw request body Buffer (captured for JSON requests)
|
|
327
|
+
*/
|
|
328
|
+
ParameterType["RawBody"] = "RawBodyRouteArgs";
|
|
329
|
+
/**
|
|
330
|
+
* Parsed XML request body
|
|
331
|
+
*/
|
|
332
|
+
ParameterType["FromXml"] = "FromXmlRouteArgs";
|
|
274
333
|
/**
|
|
275
334
|
* Req from express
|
|
276
335
|
*/
|
|
@@ -295,9 +354,13 @@ export class Response {
|
|
|
295
354
|
}
|
|
296
355
|
async execute(_req, _res, _next) {
|
|
297
356
|
const response = await this.prepareResponse();
|
|
357
|
+
const { httpResponse } = await import('./responses.js');
|
|
298
358
|
return await httpResponse(response, this._template, {
|
|
299
359
|
...this.options,
|
|
300
|
-
StatusCode
|
|
360
|
+
// Honor an explicit caller-supplied StatusCode; fall back to the
|
|
361
|
+
// response type's semantic default (_errorCode). Previously _errorCode
|
|
362
|
+
// always won, silently ignoring options.StatusCode.
|
|
363
|
+
StatusCode: this.options?.StatusCode ?? this._errorCode,
|
|
301
364
|
});
|
|
302
365
|
}
|
|
303
366
|
async prepareResponse() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAS,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as express from 'express';
|
|
2
|
+
import { ServerMiddleware, Request as sRequest } from '../interfaces.js';
|
|
3
|
+
/**
|
|
4
|
+
* Emits one perf rollup per request ( eg. "orm.query x14 240ms" ). Creates the
|
|
5
|
+
* accumulator on `req.storage.perf` in `before()` — which is the SAME object the
|
|
6
|
+
* action's `AsyncLocalStorage.run(req.storage, …)` exposes, so measurements taken
|
|
7
|
+
* during the request land in it — then flushes it to every PerfSink on the
|
|
8
|
+
* response `finish` event.
|
|
9
|
+
*
|
|
10
|
+
* Config:
|
|
11
|
+
* http.perf.enabled (default true)
|
|
12
|
+
*/
|
|
13
|
+
export declare class PerfRollup extends ServerMiddleware {
|
|
14
|
+
protected Enabled: boolean;
|
|
15
|
+
constructor();
|
|
16
|
+
before(): ((req: sRequest, res: express.Response, next: express.NextFunction) => void) | null;
|
|
17
|
+
after(): null;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=PerfRollup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerfRollup.d.ts","sourceRoot":"","sources":["../../../src/middlewares/PerfRollup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAKnC,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;;;;;;;;GASG;AACH,qBACa,UAAW,SAAQ,gBAAgB;IAE9C,SAAS,CAAC,OAAO,EAAG,OAAO,CAAC;;IAQrB,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,GAAG,IAAI;IAe7F,KAAK,IAAI,IAAI;CAGrB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Injectable } from '@spinajs/di';
|
|
11
|
+
import { Config } from '@spinajs/configuration';
|
|
12
|
+
import { Perf } from '@spinajs/log';
|
|
13
|
+
import { ServerMiddleware } from '../interfaces.js';
|
|
14
|
+
/**
|
|
15
|
+
* Emits one perf rollup per request ( eg. "orm.query x14 240ms" ). Creates the
|
|
16
|
+
* accumulator on `req.storage.perf` in `before()` — which is the SAME object the
|
|
17
|
+
* action's `AsyncLocalStorage.run(req.storage, …)` exposes, so measurements taken
|
|
18
|
+
* during the request land in it — then flushes it to every PerfSink on the
|
|
19
|
+
* response `finish` event.
|
|
20
|
+
*
|
|
21
|
+
* Config:
|
|
22
|
+
* http.perf.enabled (default true)
|
|
23
|
+
*/
|
|
24
|
+
let PerfRollup = class PerfRollup extends ServerMiddleware {
|
|
25
|
+
constructor() {
|
|
26
|
+
super();
|
|
27
|
+
// Needs req.storage ( ReqStorage = -2 ); sits alongside AccessLog ( Order 2 ).
|
|
28
|
+
this.Order = 2;
|
|
29
|
+
}
|
|
30
|
+
before() {
|
|
31
|
+
if (!this.Enabled)
|
|
32
|
+
return null;
|
|
33
|
+
return (req, res, next) => {
|
|
34
|
+
const startedAt = Date.now();
|
|
35
|
+
req.storage.perf = { requestId: req.storage.requestId, byName: {} };
|
|
36
|
+
res.on('finish', () => {
|
|
37
|
+
Perf.flushScope(req.storage.perf, {
|
|
38
|
+
labels: { method: req.method, route: req.route?.path ?? req.originalUrl, status: res.statusCode },
|
|
39
|
+
totalMs: Date.now() - startedAt,
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
next();
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
after() {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
__decorate([
|
|
50
|
+
Config('http.perf.enabled', { defaultValue: true }),
|
|
51
|
+
__metadata("design:type", Boolean)
|
|
52
|
+
], PerfRollup.prototype, "Enabled", void 0);
|
|
53
|
+
PerfRollup = __decorate([
|
|
54
|
+
Injectable(ServerMiddleware),
|
|
55
|
+
__metadata("design:paramtypes", [])
|
|
56
|
+
], PerfRollup);
|
|
57
|
+
export { PerfRollup };
|
|
58
|
+
//# sourceMappingURL=PerfRollup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerfRollup.js","sourceRoot":"","sources":["../../../src/middlewares/PerfRollup.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAEzE;;;;;;;;;GASG;AAEI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,gBAAgB;IAI9C;QACE,KAAK,EAAE,CAAC;QACR,+EAA+E;QAC/E,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACpE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;oBAChC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAG,GAAG,CAAC,KAA2B,EAAE,IAAI,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE;oBACxH,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAChC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA1BW;IADT,MAAM,CAAC,mBAAmB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;;2CACxB;AAFjB,UAAU;IADtB,UAAU,CAAC,gBAAgB,CAAC;;GAChB,UAAU,CA4BtB"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Response, NextFunction } from 'express';
|
|
2
2
|
import { ServerMiddleware, Request as sRequest } from '../interfaces.js';
|
|
3
|
-
import * as express from 'express';
|
|
4
3
|
export declare class RequestId extends ServerMiddleware {
|
|
5
4
|
constructor();
|
|
6
|
-
after():
|
|
5
|
+
after(): null;
|
|
7
6
|
before(): (req: sRequest, res: Response<any, Record<string, any>>, next: NextFunction) => void;
|
|
8
7
|
}
|
|
9
8
|
//# sourceMappingURL=RequestId.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestId.d.ts","sourceRoot":"","sources":["../../../src/middlewares/RequestId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"RequestId.d.ts","sourceRoot":"","sources":["../../../src/middlewares/RequestId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMzE,qBACa,SAAU,SAAQ,gBAAgB;;IAMtC,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;CAqBtG"}
|
|
@@ -10,20 +10,34 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import { ServerMiddleware } from '../interfaces.js';
|
|
11
11
|
import { v4 as uuidv4 } from 'uuid';
|
|
12
12
|
import { Injectable } from '@spinajs/di';
|
|
13
|
+
import { newTraceContext, formatTraceparent } from '@spinajs/log';
|
|
13
14
|
let RequestId = class RequestId extends ServerMiddleware {
|
|
14
15
|
constructor() {
|
|
15
16
|
super();
|
|
16
17
|
this.Order = 1;
|
|
17
18
|
}
|
|
18
19
|
after() {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
// The x-request-id header is set in before() instead. ServerMiddleware
|
|
21
|
+
// after() handlers do NOT run for matched controller routes (the response
|
|
22
|
+
// is flushed inside the controllers router without calling next()), so
|
|
23
|
+
// setting the header here would silently drop it on every real response.
|
|
24
|
+
return null;
|
|
23
25
|
}
|
|
24
26
|
before() {
|
|
25
|
-
return (req,
|
|
27
|
+
return (req, res, next) => {
|
|
26
28
|
req.storage.requestId = uuidv4();
|
|
29
|
+
// Continue an inbound W3C traceparent ( or start a new trace ) and seed
|
|
30
|
+
// traceId / spanId onto req.storage so the ambient log context merges them
|
|
31
|
+
// into every log line — trace ids are shared across services.
|
|
32
|
+
const tc = newTraceContext(req.headers['traceparent']);
|
|
33
|
+
req.storage.traceId = tc.traceId;
|
|
34
|
+
req.storage.spanId = tc.spanId;
|
|
35
|
+
// Emit the outbound traceparent here ( not in after() ) because the
|
|
36
|
+
// `sampled` flag lives on this freshly-computed context and req.storage —
|
|
37
|
+
// typed as the public IActionLocalStoregeContext — deliberately does not
|
|
38
|
+
// carry it. Setting a response header before next() is safe as long as the
|
|
39
|
+
// response has not been sent, mirroring x-request-id.
|
|
40
|
+
res.header('traceparent', formatTraceparent(tc));
|
|
27
41
|
next();
|
|
28
42
|
};
|
|
29
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestId.js","sourceRoot":"","sources":["../../../src/middlewares/RequestId.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"RequestId.js","sourceRoot":"","sources":["../../../src/middlewares/RequestId.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAiB,MAAM,cAAc,CAAC;AAG1E,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,gBAAgB;IAC7C;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAEM,KAAK;QACV,uEAAuE;QACvE,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,CAAC,GAAa,EAAE,GAAqB,EAAE,IAA0B,EAAE,EAAE;YAC1E,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;YAEjC,wEAAwE;YACxE,2EAA2E;YAC3E,8DAA8D;YAC9D,MAAM,EAAE,GAAkB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAuB,CAAC,CAAC;YAC5F,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;YAE/B,oEAAoE;YACpE,0EAA0E;YAC1E,yEAAyE;YACzE,2EAA2E;YAC3E,sDAAsD;YACtD,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YAEjD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AAnCY,SAAS;IADrB,UAAU,CAAC,gBAAgB,CAAC;;GAChB,SAAS,CAmCrB"}
|
|
@@ -2,10 +2,9 @@ import { Request, Response, NextFunction } from 'express';
|
|
|
2
2
|
import { ParamsDictionary } from 'express-serve-static-core';
|
|
3
3
|
import { ParsedQs } from 'qs';
|
|
4
4
|
import { ServerMiddleware } from '../interfaces.js';
|
|
5
|
-
import * as express from 'express';
|
|
6
5
|
export declare class ResponseTime extends ServerMiddleware {
|
|
7
6
|
constructor();
|
|
8
|
-
after():
|
|
7
|
+
after(): null;
|
|
9
8
|
before(): (_req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => void;
|
|
10
9
|
}
|
|
11
10
|
//# sourceMappingURL=ResponseTime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseTime.d.ts","sourceRoot":"","sources":["../../../src/middlewares/ResponseTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ResponseTime.d.ts","sourceRoot":"","sources":["../../../src/middlewares/ResponseTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAIzE,qBACa,YAAa,SAAQ,gBAAgB;;IAazC,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;CAsBjK"}
|
|
@@ -12,21 +12,39 @@ import { Injectable } from '@spinajs/di';
|
|
|
12
12
|
let ResponseTime = class ResponseTime extends ServerMiddleware {
|
|
13
13
|
constructor() {
|
|
14
14
|
super();
|
|
15
|
-
|
|
15
|
+
// Must sit ABOVE Compression (Order 0): the timing header is written from a
|
|
16
|
+
// res.end patch, and compression also patches res.end and flushes the
|
|
17
|
+
// headers. Whichever patch is applied last runs first (outermost), so we
|
|
18
|
+
// need a higher Order than compression to set our header before compression
|
|
19
|
+
// sends it. Same tier as the other end-of-response instrumentation
|
|
20
|
+
// (ServerTiming / AccessLog). The sub-millisecond difference in when the
|
|
21
|
+
// start timestamp is taken is irrelevant for a response-time metric.
|
|
22
|
+
this.Order = 2;
|
|
16
23
|
}
|
|
17
24
|
after() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
res.header('x-response-time', diff.toString());
|
|
24
|
-
next();
|
|
25
|
-
};
|
|
25
|
+
// Timing is finalised via a res.end patch in before() instead. After()
|
|
26
|
+
// handlers do NOT run for matched controller routes (the response is
|
|
27
|
+
// flushed inside the controllers router without calling next()), so the
|
|
28
|
+
// x-response-time header set here would be dropped on every real response.
|
|
29
|
+
return null;
|
|
26
30
|
}
|
|
27
31
|
before() {
|
|
28
|
-
return (req,
|
|
29
|
-
|
|
32
|
+
return (req, res, next) => {
|
|
33
|
+
const start = new Date();
|
|
34
|
+
req.storage.responseStart = start;
|
|
35
|
+
// Finalise timing and write the header just before the response is
|
|
36
|
+
// flushed, regardless of how the controller ended it. Headers are still
|
|
37
|
+
// mutable here because the original res.end hasn't run yet.
|
|
38
|
+
const originalEnd = res.end.bind(res);
|
|
39
|
+
res.end = function patchedEnd(...args) {
|
|
40
|
+
const end = new Date();
|
|
41
|
+
req.storage.responseEnd = end;
|
|
42
|
+
req.storage.responseTime = end.getTime() - start.getTime();
|
|
43
|
+
if (!res.headersSent) {
|
|
44
|
+
res.setHeader('x-response-time', String(req.storage.responseTime));
|
|
45
|
+
}
|
|
46
|
+
return originalEnd(...args);
|
|
47
|
+
};
|
|
30
48
|
next();
|
|
31
49
|
};
|
|
32
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseTime.js","sourceRoot":"","sources":["../../../src/middlewares/ResponseTime.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,gBAAgB;IAChD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"ResponseTime.js","sourceRoot":"","sources":["../../../src/middlewares/ResponseTime.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,gBAAgB;IAChD;QACE,KAAK,EAAE,CAAC;QACR,4EAA4E;QAC5E,sEAAsE;QACtE,yEAAyE;QACzE,4EAA4E;QAC5E,mEAAmE;QACnE,yEAAyE;QACzE,qEAAqE;QACrE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAEM,KAAK;QACV,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,2EAA2E;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,CAAC,GAAa,EAAE,GAAqB,EAAE,IAA0B,EAAE,EAAE;YAC1E,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;YAElC,mEAAmE;YACnE,wEAAwE;YACxE,4DAA4D;YAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAmB,CAAC;YACvD,GAAG,CAAC,GAAW,GAAG,SAAS,UAAU,CAAyB,GAAG,IAAW;gBAC3E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC;gBAC9B,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC3D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;YAC9B,CAAC,CAAC;YAEF,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AA3CY,YAAY;IADxB,UAAU,CAAC,gBAAgB,CAAC;;GAChB,YAAY,CA2CxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/response-methods/file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/response-methods/file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMtF,qBAAa,WAAY,SAAQ,QAAQ;IAK3B,SAAS,CAAC,OAAO,EAAE,oBAAoB;IAAE,SAAS,CAAC,eAAe,CAAC,EAAE,gBAAgB;IAJjG;;;OAGG;gBACmB,OAAO,EAAE,oBAAoB,EAAY,eAAe,CAAC,EAAE,gBAAgB,YAAA;IAUpF,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA+BlF;AAED,qBAAa,YAAa,SAAQ,QAAQ;IAK5B,SAAS,CAAC,OAAO,EAAE,oBAAoB;IAAE,SAAS,CAAC,eAAe,CAAC,EAAE,gBAAgB;IAJjG;;;OAGG;gBACmB,OAAO,EAAE,oBAAoB,EAAY,eAAe,CAAC,EAAE,gBAAgB,YAAA;IAWpF,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA2DlF;AAED,qBAAa,gBAAiB,SAAQ,QAAQ;IAChC,SAAS,CAAC,IAAI,EAAE,GAAG;IAAE,SAAS,CAAC,QAAQ,EAAE,MAAM;IAAE,SAAS,CAAC,eAAe,CAAC,EAAE,gBAAgB;gBAAnF,IAAI,EAAE,GAAG,EAAY,QAAQ,EAAE,MAAM,EAAY,eAAe,CAAC,EAAE,gBAAgB,YAAA;IAI5F,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BlF"}
|