@n1k1t/mock-server 0.1.3 → 0.1.4
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/bin/index.ts +2 -0
- package/lib/bin/index.d.ts +1 -0
- package/lib/bin/index.js +1 -0
- package/lib/bin/index.js.map +1 -1
- package/lib/package.json +3 -3
- package/lib/src/client/helpers/expectations.d.ts +1 -0
- package/lib/src/client/helpers/expectations.d.ts.map +1 -1
- package/lib/src/client/helpers/expectations.js.map +1 -1
- package/lib/src/client/models/client.d.ts +1 -0
- package/lib/src/client/models/client.d.ts.map +1 -1
- package/lib/src/client/models/client.js.map +1 -1
- package/lib/src/client/models/client.spec.js +1 -1
- package/lib/src/client/models/client.spec.js.map +1 -1
- package/lib/src/client/types.d.ts +1 -0
- package/lib/src/client/types.d.ts.map +1 -1
- package/lib/src/config/index.d.ts +2 -9
- package/lib/src/config/index.d.ts.map +1 -1
- package/lib/src/config/index.js +2 -15
- package/lib/src/config/index.js.map +1 -1
- package/lib/src/config/model.d.ts +23 -0
- package/lib/src/config/model.d.ts.map +1 -0
- package/lib/src/config/model.js +39 -0
- package/lib/src/config/model.js.map +1 -0
- package/lib/src/expectations/__utils__/index.d.ts +1 -0
- package/lib/src/expectations/__utils__/index.d.ts.map +1 -1
- package/lib/src/expectations/__utils__/index.js.map +1 -1
- package/lib/src/expectations/models/expectation.d.ts +3 -3
- package/lib/src/expectations/models/expectation.d.ts.map +1 -1
- package/lib/src/expectations/models/operator.d.ts +3 -2
- package/lib/src/expectations/models/operator.d.ts.map +1 -1
- package/lib/src/expectations/models/operator.js +10 -4
- package/lib/src/expectations/models/operator.js.map +1 -1
- package/lib/src/expectations/models/storage.d.ts +1 -0
- package/lib/src/expectations/models/storage.d.ts.map +1 -1
- package/lib/src/expectations/models/storage.js.map +1 -1
- package/lib/src/expectations/operators/and.operator.d.ts +1 -0
- package/lib/src/expectations/operators/and.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/and.operator.js.map +1 -1
- package/lib/src/expectations/operators/exec.operator.d.ts +2 -1
- package/lib/src/expectations/operators/exec.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/exec.operator.js +2 -2
- package/lib/src/expectations/operators/exec.operator.js.map +1 -1
- package/lib/src/expectations/operators/has.operator.d.ts +2 -1
- package/lib/src/expectations/operators/has.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/has.operator.js +3 -3
- package/lib/src/expectations/operators/has.operator.js.map +1 -1
- package/lib/src/expectations/operators/if.operator.d.ts +1 -0
- package/lib/src/expectations/operators/if.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/if.operator.js.map +1 -1
- package/lib/src/expectations/operators/merge.operator.d.ts +1 -0
- package/lib/src/expectations/operators/merge.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/merge.operator.js.map +1 -1
- package/lib/src/expectations/operators/not.operator.d.ts +1 -0
- package/lib/src/expectations/operators/not.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/not.operator.js.map +1 -1
- package/lib/src/expectations/operators/or.operator.d.ts +1 -0
- package/lib/src/expectations/operators/or.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/or.operator.js.map +1 -1
- package/lib/src/expectations/operators/remove.operator.d.ts +1 -0
- package/lib/src/expectations/operators/remove.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/remove.operator.js.map +1 -1
- package/lib/src/expectations/operators/root.operator.d.ts +1 -0
- package/lib/src/expectations/operators/root.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/root.operator.js +4 -2
- package/lib/src/expectations/operators/root.operator.js.map +1 -1
- package/lib/src/expectations/operators/set.operator.d.ts +2 -1
- package/lib/src/expectations/operators/set.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/set.operator.js +4 -4
- package/lib/src/expectations/operators/set.operator.js.map +1 -1
- package/lib/src/expectations/operators/switch.operator.d.ts +2 -1
- package/lib/src/expectations/operators/switch.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/switch.operator.js +1 -1
- package/lib/src/expectations/operators/switch.operator.js.map +1 -1
- package/lib/src/expectations/types.d.ts +7 -2
- package/lib/src/expectations/types.d.ts.map +1 -1
- package/lib/src/expectations/types.js.map +1 -1
- package/lib/src/expectations/utils.d.ts +1 -0
- package/lib/src/expectations/utils.d.ts.map +1 -1
- package/lib/src/expectations/utils.js.map +1 -1
- package/lib/src/index.d.ts +4 -1
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +9 -1
- package/lib/src/index.js.map +1 -1
- package/lib/src/logger/index.d.ts +23 -0
- package/lib/src/logger/index.d.ts.map +1 -0
- package/lib/src/logger/index.js +81 -0
- package/lib/src/logger/index.js.map +1 -0
- package/lib/src/logger/types.d.ts +4 -0
- package/lib/src/logger/types.d.ts.map +1 -0
- package/lib/src/{types.js.map → logger/types.js.map} +1 -1
- package/lib/src/logger/utils.d.ts +6 -0
- package/lib/src/logger/utils.d.ts.map +1 -0
- package/lib/src/logger/utils.js +24 -0
- package/lib/src/logger/utils.js.map +1 -0
- package/lib/src/meta/index.d.ts +5 -0
- package/lib/src/meta/index.d.ts.map +1 -0
- package/lib/src/meta/index.js +22 -0
- package/lib/src/meta/index.js.map +1 -0
- package/lib/src/meta/model.d.ts +13 -0
- package/lib/src/meta/model.d.ts.map +1 -0
- package/lib/src/meta/model.js +28 -0
- package/lib/src/meta/model.js.map +1 -0
- package/lib/src/meta/storage.d.ts +9 -0
- package/lib/src/meta/storage.d.ts.map +1 -0
- package/lib/src/meta/storage.js +21 -0
- package/lib/src/meta/storage.js.map +1 -0
- package/lib/src/process.js +3 -3
- package/lib/src/process.js.map +1 -1
- package/lib/src/server/endpoints/config.get.endpoint.d.ts +48 -6
- package/lib/src/server/endpoints/config.get.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/config.get.endpoint.js +5 -1
- package/lib/src/server/endpoints/config.get.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.create.endpoint.d.ts +1 -1
- package/lib/src/server/endpoints/expectations.delete.endpoint.d.ts +1 -1
- package/lib/src/server/endpoints/expectations.get-list.endpoint.d.ts +1 -1
- package/lib/src/server/endpoints/expectations.update.endpoint.d.ts +1 -1
- package/lib/src/server/endpoints/history.get-list.endpoint.d.ts +1 -1
- package/lib/src/server/endpoints/ping.endpoint.d.ts +1 -1
- package/lib/src/server/history/storage.d.ts.map +1 -1
- package/lib/src/server/history/storage.js +2 -2
- package/lib/src/server/history/storage.js.map +1 -1
- package/lib/src/server/index.d.ts +0 -1
- package/lib/src/server/index.d.ts.map +1 -1
- package/lib/src/server/index.js +24 -9
- package/lib/src/server/index.js.map +1 -1
- package/lib/src/server/middlewares/delay.middleware.d.ts +6 -4
- package/lib/src/server/middlewares/delay.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/delay.middleware.js +2 -2
- package/lib/src/server/middlewares/delay.middleware.js.map +1 -1
- package/lib/src/server/middlewares/destroy.midleware.d.ts +9 -7
- package/lib/src/server/middlewares/destroy.midleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/destroy.midleware.js +4 -3
- package/lib/src/server/middlewares/destroy.midleware.js.map +1 -1
- package/lib/src/server/middlewares/forward.middleware.d.ts +9 -7
- package/lib/src/server/middlewares/forward.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/forward.middleware.js +10 -8
- package/lib/src/server/middlewares/forward.middleware.js.map +1 -1
- package/lib/src/server/middlewares/history.middleware.d.ts +6 -4
- package/lib/src/server/middlewares/history.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/history.middleware.js +2 -2
- package/lib/src/server/middlewares/history.middleware.js.map +1 -1
- package/lib/src/server/middlewares/index.d.ts +1 -1
- package/lib/src/server/middlewares/index.d.ts.map +1 -1
- package/lib/src/server/middlewares/index.js +3 -3
- package/lib/src/server/middlewares/index.js.map +1 -1
- package/lib/src/server/middlewares/{internal-route.middleware.d.ts → internal.middleware.d.ts} +7 -5
- package/lib/src/server/middlewares/internal.middleware.d.ts.map +1 -0
- package/lib/src/server/middlewares/{internal-route.middleware.js → internal.middleware.js} +7 -4
- package/lib/src/server/middlewares/internal.middleware.js.map +1 -0
- package/lib/src/server/middlewares/manipulate-expectation.middleware.d.ts +6 -4
- package/lib/src/server/middlewares/manipulate-expectation.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/manipulate-expectation.middleware.js +2 -2
- package/lib/src/server/middlewares/manipulate-expectation.middleware.js.map +1 -1
- package/lib/src/server/middlewares/match-expectation.middleware.d.ts +6 -4
- package/lib/src/server/middlewares/match-expectation.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/match-expectation.middleware.js +3 -2
- package/lib/src/server/middlewares/match-expectation.middleware.js.map +1 -1
- package/lib/src/server/middlewares/public.middleware.d.ts +6 -4
- package/lib/src/server/middlewares/public.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/public.middleware.js +16 -15
- package/lib/src/server/middlewares/public.middleware.js.map +1 -1
- package/lib/src/server/middlewares/reply.middleware.d.ts +9 -7
- package/lib/src/server/middlewares/reply.middleware.d.ts.map +1 -1
- package/lib/src/server/middlewares/reply.middleware.js +5 -6
- package/lib/src/server/middlewares/reply.middleware.js.map +1 -1
- package/lib/src/server/models/endpoint.d.ts +2 -1
- package/lib/src/server/models/endpoint.d.ts.map +1 -1
- package/lib/src/server/models/endpoint.js.map +1 -1
- package/lib/src/server/models/index.d.ts +2 -1
- package/lib/src/server/models/index.d.ts.map +1 -1
- package/lib/src/server/models/index.js +2 -1
- package/lib/src/server/models/index.js.map +1 -1
- package/lib/src/server/models/middleware.d.ts +10 -4
- package/lib/src/server/models/middleware.d.ts.map +1 -1
- package/lib/src/server/models/middleware.js +5 -11
- package/lib/src/server/models/middleware.js.map +1 -1
- package/lib/src/server/models/plugins.d.ts +29 -0
- package/lib/src/server/models/plugins.d.ts.map +1 -0
- package/lib/src/server/models/plugins.js +32 -0
- package/lib/src/server/models/plugins.js.map +1 -0
- package/lib/src/server/models/{reply-service → reply}/index.d.ts +3 -3
- package/lib/src/server/models/reply/index.d.ts.map +1 -0
- package/lib/src/server/models/{reply-service → reply}/index.js +4 -4
- package/lib/src/server/models/reply/index.js.map +1 -0
- package/lib/src/server/models/reply/types.d.ts.map +1 -0
- package/lib/src/server/models/reply/types.js.map +1 -0
- package/lib/src/server/models/request-context/http.d.ts +17 -4
- package/lib/src/server/models/request-context/http.d.ts.map +1 -1
- package/lib/src/server/models/request-context/http.js +23 -16
- package/lib/src/server/models/request-context/http.js.map +1 -1
- package/lib/src/server/models/request-context/model.d.ts +7 -2
- package/lib/src/server/models/request-context/model.d.ts.map +1 -1
- package/lib/src/server/models/request-context/model.js +5 -0
- package/lib/src/server/models/request-context/model.js.map +1 -1
- package/lib/src/server/models/request-context/utils.d.ts +4 -1
- package/lib/src/server/models/request-context/utils.d.ts.map +1 -1
- package/lib/src/server/models/request-context/utils.js +2 -2
- package/lib/src/server/models/request-context/utils.js.map +1 -1
- package/lib/src/server/models/request-context/ws.d.ts +4 -3
- package/lib/src/server/models/request-context/ws.d.ts.map +1 -1
- package/lib/src/server/models/request-context/ws.js +2 -2
- package/lib/src/server/models/request-context/ws.js.map +1 -1
- package/lib/src/server/models/server-context.d.ts +2 -9
- package/lib/src/server/models/server-context.d.ts.map +1 -1
- package/lib/src/server/models/server-context.js +2 -5
- package/lib/src/server/models/server-context.js.map +1 -1
- package/lib/src/server/router.d.ts +1 -0
- package/lib/src/server/router.d.ts.map +1 -1
- package/lib/src/server/router.js.map +1 -1
- package/lib/src/types/common.d.ts +73 -0
- package/lib/src/types/common.d.ts.map +1 -0
- package/lib/{types/common.global.js → src/types/common.js} +1 -1
- package/lib/src/types/common.js.map +1 -0
- package/lib/src/{types.d.ts → types/index.d.ts} +2 -1
- package/lib/src/types/index.d.ts.map +1 -0
- package/lib/{types/lib.js → src/types/index.js} +2 -4
- package/lib/src/types/index.js.map +1 -0
- package/lib/src/utils/common.d.ts +1 -0
- package/lib/src/utils/common.d.ts.map +1 -1
- package/lib/src/utils/common.js.map +1 -1
- package/lib/src/utils/validation.d.ts +1 -0
- package/lib/src/utils/validation.d.ts.map +1 -1
- package/lib/src/utils/validation.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/lib/src/server/middlewares/internal-route.middleware.d.ts.map +0 -1
- package/lib/src/server/middlewares/internal-route.middleware.js.map +0 -1
- package/lib/src/server/models/reply-service/index.d.ts.map +0 -1
- package/lib/src/server/models/reply-service/index.js.map +0 -1
- package/lib/src/server/models/reply-service/types.d.ts.map +0 -1
- package/lib/src/server/models/reply-service/types.js.map +0 -1
- package/lib/src/server/proxy.d.ts +0 -9
- package/lib/src/server/proxy.d.ts.map +0 -1
- package/lib/src/server/proxy.js +0 -16
- package/lib/src/server/proxy.js.map +0 -1
- package/lib/src/types.d.ts.map +0 -1
- package/lib/task-processor.d.ts +0 -2
- package/lib/task-processor.d.ts.map +0 -1
- package/lib/task-processor.js +0 -75
- package/lib/task-processor.js.map +0 -1
- package/lib/test/index.d.ts +0 -2
- package/lib/test/index.d.ts.map +0 -1
- package/lib/test/index.js +0 -160
- package/lib/test/index.js.map +0 -1
- package/lib/types/common.global.d.ts +0 -76
- package/lib/types/common.global.d.ts.map +0 -1
- package/lib/types/common.global.js.map +0 -1
- package/lib/types/lib.d.ts +0 -4
- package/lib/types/lib.d.ts.map +0 -1
- package/lib/types/lib.js.map +0 -1
- package/types/common.global.ts +0 -131
- package/types/lib.ts +0 -3
- /package/lib/src/{server/models/reply-service → logger}/types.js +0 -0
- /package/lib/src/server/models/{reply-service → reply}/types.d.ts +0 -0
- /package/lib/src/{types.js → server/models/reply/types.js} +0 -0
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { HttpRequestContext, Middleware } from '../models';
|
|
2
|
-
declare const _default: Middleware<"
|
|
3
|
-
shared: SetRequiredKeys<{
|
|
2
|
+
declare const _default: Middleware<"history" | "expectation", HttpRequestContext<unknown> & {
|
|
3
|
+
shared: import("../..").SetRequiredKeys<{
|
|
4
4
|
state: Record<string, unknown>;
|
|
5
5
|
seed?: number;
|
|
6
6
|
expectation?: import("../../expectations").Expectation<Pick<HttpRequestContext, "incoming" | "outgoing">>;
|
|
7
7
|
manipulated?: import("../../expectations").IExpectationOperatorContext;
|
|
8
8
|
forwarded?: Pick<HttpRequestContext, "incoming" | "outgoing">;
|
|
9
9
|
history?: import("../history").History;
|
|
10
|
-
}, "
|
|
10
|
+
}, "history" | "expectation">;
|
|
11
11
|
}> & {
|
|
12
|
-
handler: TFunction<unknown, [HttpRequestContext<unknown> & {
|
|
13
|
-
shared: SetRequiredKeys<{
|
|
12
|
+
handler: import("../..").TFunction<unknown, [HttpRequestContext<unknown> & {
|
|
13
|
+
shared: import("../..").SetRequiredKeys<{
|
|
14
14
|
state: Record<string, unknown>;
|
|
15
15
|
seed?: number;
|
|
16
16
|
expectation?: import("../../expectations").Expectation<Pick<HttpRequestContext, "incoming" | "outgoing">>;
|
|
17
17
|
manipulated?: import("../../expectations").IExpectationOperatorContext;
|
|
18
18
|
forwarded?: Pick<HttpRequestContext, "incoming" | "outgoing">;
|
|
19
19
|
history?: import("../history").History;
|
|
20
|
-
}, "
|
|
21
|
-
},
|
|
20
|
+
}, "history" | "expectation">;
|
|
21
|
+
}, {
|
|
22
|
+
logger: import("../..").Logger;
|
|
23
|
+
}]>;
|
|
22
24
|
};
|
|
23
25
|
export default _default;
|
|
24
26
|
//# sourceMappingURL=reply.middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reply.middleware.d.ts","sourceRoot":"","sources":["../../../../src/server/middlewares/reply.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,kBAAkB,EAGlB,UAAU,EAEX,MAAM,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"reply.middleware.d.ts","sourceRoot":"","sources":["../../../../src/server/middlewares/reply.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,kBAAkB,EAGlB,UAAU,EAEX,MAAM,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAkBnB,wBAgCK"}
|
|
@@ -15,8 +15,8 @@ const buildEmptyOutgoing = (incoming) => ({
|
|
|
15
15
|
},
|
|
16
16
|
});
|
|
17
17
|
exports.default = models_1.Middleware
|
|
18
|
-
.build(
|
|
19
|
-
.assignHandler((context) => {
|
|
18
|
+
.build(__filename, ['history', 'expectation'])
|
|
19
|
+
.assignHandler(async (context) => {
|
|
20
20
|
const plain = context.toPlain({ locations: ['incoming', 'forwarded.outgoing'], clone: true });
|
|
21
21
|
const manipulated = context.shared.expectation.response?.manipulate({
|
|
22
22
|
...plain,
|
|
@@ -35,10 +35,9 @@ exports.default = models_1.Middleware
|
|
|
35
35
|
}),
|
|
36
36
|
})
|
|
37
37
|
});
|
|
38
|
-
context.
|
|
39
|
-
context.
|
|
40
|
-
context.response.end();
|
|
41
|
-
context.shared.history.assignOutgoing(outgoing).changeState('finished');
|
|
38
|
+
await context.server.plugins.exec('outgoing.response', context.response, context.assignOutgoing(outgoing));
|
|
39
|
+
context.shared.history.assignOutgoing(context.outgoing).changeState('finished');
|
|
42
40
|
context.server.exchange.ws.publish('history:updated', context.shared.history.toPlain());
|
|
41
|
+
context.complete();
|
|
43
42
|
});
|
|
44
43
|
//# sourceMappingURL=reply.middleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reply.middleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/reply.middleware.ts"],"names":[],"mappings":";;AAEA,sCAOmB;AAEnB,MAAM,kBAAkB,GAAG,CAAC,QAAiC,EAA2B,EAAE,CAAC,CAAC;IAC1F,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,MAAM,EAAE,GAAG;IAEX,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IACzC,OAAO,EAAE,EAAE;IAEX,OAAO,EAAE;QACP,cAAc,EAAE,QAAQ,CAAC,IAAI,KAAK,MAAM;YACtC,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK;gBACzB,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,YAAY;KACrD;CACF,CAAC,CAAC;AAEH,kBAAe,mBAAU;KACtB,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"reply.middleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/reply.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { HttpRequestContext, IRequestContextIncoming, WsRequestContext } from './request-context';
|
|
2
|
-
import type {
|
|
2
|
+
import type { OmitPartial, TFunction } from '../../types';
|
|
3
|
+
import type { IBaseRouteResponse } from './reply';
|
|
3
4
|
export declare class Endpoint<TResponse = unknown, TRequest extends Partial<Pick<IRequestContextIncoming, 'body' | 'query'>> = {}> {
|
|
4
5
|
TResponse: IBaseRouteResponse<TResponse>;
|
|
5
6
|
TParameters: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../../src/server/models/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../../src/server/models/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,qBAAa,QAAQ,CACnB,SAAS,GAAG,OAAO,EACnB,QAAQ,SAAS,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE;IAEvE,SAAS,EAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC1C,WAAW,EAAG;QACnB,IAAI,EAAE,MAAM,SAAS,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QAC5E,KAAK,EAAE,OAAO,SAAS,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;KAChF,CAAC;IAEK,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE;QAClC,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,GAAG;YAC9D,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;SACrE;KACF,CAAC,CAAC;IAEI,EAAE,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEK,IAAI,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEK,UAAU,CAAC,IAAI,SAAS,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI;;;IAItF,QAAQ,CAAC,CAAC,SAAS,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;;;IAI1E,aAAa,CAAC,CAAC,SAAS,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;;;IAIhG,MAAM,CAAC,KAAK,CACV,SAAS,GAAG,OAAO,EACnB,QAAQ,SAAS,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE;CAIjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../../src/server/models/endpoint.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../../src/server/models/endpoint.ts"],"names":[],"mappings":";;;AAIA,MAAa,QAAQ;IAyBZ,UAAU,CAAkE,IAAU;QAC3F,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAEM,QAAQ,CAA6D,EAAK;QAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAEM,aAAa,CAAkE,OAAU;QAC9F,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK;QAIV,OAAO,IAAI,QAAQ,EAAuB,CAAC;IAC7C,CAAC;CACF;AA3CD,4BA2CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
|
@@ -16,7 +16,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./request-context"), exports);
|
|
18
18
|
__exportStar(require("./server-context"), exports);
|
|
19
|
-
__exportStar(require("./reply-service"), exports);
|
|
20
19
|
__exportStar(require("./middleware"), exports);
|
|
21
20
|
__exportStar(require("./endpoint"), exports);
|
|
21
|
+
__exportStar(require("./plugins"), exports);
|
|
22
|
+
__exportStar(require("./reply"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B;AAC3B,4CAA0B;AAC1B,0CAAwB"}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
|
+
import type { SetRequiredKeys, TFunction } from '../../types';
|
|
1
2
|
import type { HttpRequestContext } from '../models';
|
|
3
|
+
import { Logger } from '../../logger';
|
|
2
4
|
export declare class Middleware<TRequired extends keyof HttpRequestContext['shared'] = never, TContext extends HttpRequestContext = HttpRequestContext & {
|
|
3
5
|
shared: SetRequiredKeys<HttpRequestContext['shared'], TRequired>;
|
|
4
6
|
}> {
|
|
5
7
|
name: string;
|
|
6
8
|
required: TRequired[];
|
|
7
9
|
TCompiled: SetRequiredKeys<Middleware<TRequired, TContext>, 'handler'>;
|
|
8
|
-
handler?: TFunction<unknown, [TContext,
|
|
10
|
+
handler?: TFunction<unknown, [TContext, {
|
|
11
|
+
logger: Logger;
|
|
12
|
+
}]>;
|
|
13
|
+
private logger;
|
|
9
14
|
constructor(name: string, required?: TRequired[]);
|
|
10
15
|
assignHandler(handler: NonNullable<Middleware<TRequired, TContext>['handler']>): this & {
|
|
11
|
-
handler: TFunction<unknown, [TContext,
|
|
16
|
+
handler: TFunction<unknown, [TContext, {
|
|
17
|
+
logger: Logger;
|
|
18
|
+
}]>;
|
|
12
19
|
};
|
|
13
|
-
exec<This extends this['TCompiled']>(this: This, context: TContext
|
|
14
|
-
private check;
|
|
20
|
+
exec<This extends this['TCompiled']>(this: This, context: TContext): Promise<unknown>;
|
|
15
21
|
static build<TRequired extends keyof HttpRequestContext['shared'] = never>(name: string, required?: TRequired[]): Middleware<TRequired, HttpRequestContext<unknown> & {
|
|
16
22
|
shared: SetRequiredKeys<{
|
|
17
23
|
state: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/server/models/middleware.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,qBAAa,UAAU,CACrB,SAAS,SAAS,MAAM,kBAAkB,CAAC,QAAQ,CAAC,GAAG,KAAK,EAC5D,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,GAAG;IACzD,MAAM,EAAE,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAA;CACjE;
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/server/models/middleware.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,qBAAa,UAAU,CACrB,SAAS,SAAS,MAAM,kBAAkB,CAAC,QAAQ,CAAC,GAAG,KAAK,EAC5D,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,GAAG;IACzD,MAAM,EAAE,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAA;CACjE;IAOkB,IAAI,EAAE,MAAM;IAAS,QAAQ,EAAE,SAAS,EAAE;IALtD,SAAS,EAAG,eAAe,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAEpE,OAAO,CAAC,MAAM,CAAoD;gBAE/C,IAAI,EAAE,MAAM,EAAS,QAAQ,GAAE,SAAS,EAAO;IAE3D,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;;oBAN5B,MAAM;;;IAUlD,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ;IAI/E,MAAM,CAAC,KAAK,CAAC,SAAS,SAAS,MAAM,kBAAkB,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE;;;;;;;;;;CAGhH"}
|
|
@@ -5,27 +5,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Middleware = void 0;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const
|
|
8
|
+
const logger_1 = require("../../logger");
|
|
9
9
|
class Middleware {
|
|
10
10
|
constructor(name, required = []) {
|
|
11
11
|
this.name = name;
|
|
12
12
|
this.required = required;
|
|
13
|
+
this.logger = logger_1.Logger.build(`Server.Middleware [${this.name}]`);
|
|
13
14
|
}
|
|
14
15
|
assignHandler(handler) {
|
|
15
16
|
return Object.assign(this, { handler });
|
|
16
17
|
}
|
|
17
|
-
exec(context
|
|
18
|
-
return this.
|
|
19
|
-
}
|
|
20
|
-
check(context) {
|
|
21
|
-
const notExistentRequiredKeys = this.required?.filter((key) => !lodash_1.default.has(context.shared, key)) ?? [];
|
|
22
|
-
if (notExistentRequiredKeys.length) {
|
|
23
|
-
throw new Error(`Middleware "${this.name}" requires: ${notExistentRequiredKeys.join(', ')}`);
|
|
24
|
-
}
|
|
25
|
-
return this;
|
|
18
|
+
async exec(context) {
|
|
19
|
+
return this.handler(context, { logger: this.logger });
|
|
26
20
|
}
|
|
27
21
|
static build(name, required) {
|
|
28
|
-
return new Middleware(path_1.default.parse(name).name, required);
|
|
22
|
+
return new Middleware(path_1.default.parse(name).name.split('.')[0], required);
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
25
|
exports.Middleware = Middleware;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../src/server/models/middleware.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../src/server/models/middleware.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAMxB,yCAAsC;AAEtC,MAAa,UAAU;IAWrB,YAAmB,IAAY,EAAS,WAAwB,EAAE;QAA/C,SAAI,GAAJ,IAAI,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAkB;QAF1D,WAAM,GAAG,eAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAEG,CAAC;IAE/D,aAAa,CAAC,OAAgE;QACnF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,IAAI,CAA6C,OAAiB;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,KAAK,CAA+D,IAAY,EAAE,QAAsB;QAC7G,OAAO,IAAI,UAAU,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;CACF;AAxBD,gCAwBC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
+
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
+
import type { SetRequiredKeys, TFunction } from '../../types';
|
|
4
|
+
import type { HttpRequestContext } from './request-context';
|
|
5
|
+
interface IPluginsStorage {
|
|
6
|
+
'incoming.body': TFunction<Promise<{
|
|
7
|
+
raw: string;
|
|
8
|
+
payload?: object;
|
|
9
|
+
}>, [IncomingMessage]>;
|
|
10
|
+
'outgoing.response': TFunction<unknown | Promise<unknown>, [
|
|
11
|
+
ServerResponse,
|
|
12
|
+
SetRequiredKeys<HttpRequestContext, 'outgoing'>
|
|
13
|
+
]>;
|
|
14
|
+
'forward.response': TFunction<Promise<{
|
|
15
|
+
raw: string;
|
|
16
|
+
payload?: object;
|
|
17
|
+
}>, [AxiosResponse, HttpRequestContext]>;
|
|
18
|
+
'forward.request': TFunction<AxiosRequestConfig | Promise<AxiosRequestConfig>, [
|
|
19
|
+
AxiosRequestConfig,
|
|
20
|
+
HttpRequestContext
|
|
21
|
+
]>;
|
|
22
|
+
}
|
|
23
|
+
export declare class Plugins {
|
|
24
|
+
private storage;
|
|
25
|
+
exec<K extends keyof IPluginsStorage, T extends IPluginsStorage[K] extends TFunction<infer R0, infer R1> ? [R0, R1] : never>(key: K, ...args: T[1]): T[0];
|
|
26
|
+
register<K extends keyof IPluginsStorage>(key: K, handler: IPluginsStorage[K]): this;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../../src/server/models/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,UAAU,eAAe;IACvB,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1F,mBAAmB,EAAE,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE;QACzD,cAAc;QACd,eAAe,CAAC,kBAAkB,EAAE,UAAU,CAAC;KAChD,CAAC,CAAC;IAEH,kBAAkB,EAAE,SAAS,CAAC,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC/G,iBAAiB,EAAE,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,EAAE;QAC7E,kBAAkB;QAClB,kBAAkB;KACnB,CAAC,CAAC;CACJ;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,OAAO,CAkBd;IAEM,IAAI,CACT,CAAC,SAAS,MAAM,eAAe,EAC/B,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,EACrF,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAKvB,QAAQ,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;CAI5F"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Plugins = void 0;
|
|
4
|
+
class Plugins {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.storage = {
|
|
7
|
+
'incoming.body': async (request) => {
|
|
8
|
+
let raw = '';
|
|
9
|
+
request.on('data', chunk => raw += chunk);
|
|
10
|
+
await new Promise(resolve => request.on('end', resolve));
|
|
11
|
+
return { raw };
|
|
12
|
+
},
|
|
13
|
+
'outgoing.response': (response, context) => {
|
|
14
|
+
context.response.writeHead(context.outgoing.status ?? 200, context.outgoing.headers);
|
|
15
|
+
context.response.write(context.outgoing.dataRaw);
|
|
16
|
+
context.response.end();
|
|
17
|
+
},
|
|
18
|
+
'forward.request': (config) => config,
|
|
19
|
+
'forward.response': async (response) => ({ raw: response.data.toString() }),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exec(key, ...args) {
|
|
23
|
+
const handler = this.storage[key];
|
|
24
|
+
return handler(...args);
|
|
25
|
+
}
|
|
26
|
+
register(key, handler) {
|
|
27
|
+
this.storage[key] = handler;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.Plugins = Plugins;
|
|
32
|
+
//# sourceMappingURL=plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../src/server/models/plugins.ts"],"names":[],"mappings":";;;AAoBA,MAAa,OAAO;IAApB;QACU,YAAO,GAAoB;YACjC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACjC,IAAI,GAAG,GAAG,EAAE,CAAC;gBAEb,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;gBAC1C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEzD,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,CAAC;YAED,mBAAmB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;gBACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC;YAED,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;YACrC,kBAAkB,EAAE,KAAK,EAAE,QAA+B,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;SACnG,CAAA;IAcH,CAAC;IAZQ,IAAI,CAGT,GAAM,EAAE,GAAG,IAAU;QACrB,MAAM,OAAO,GAAc,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC5C,OAAO,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEM,QAAQ,CAAkC,GAAM,EAAE,OAA2B;QAClF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAjCD,0BAiCC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { HttpRequestContext, WsRequestContext } from '
|
|
1
|
+
import type { HttpRequestContext, WsRequestContext } from '../request-context';
|
|
2
2
|
export * from './types';
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class Reply<TResponse = unknown> {
|
|
4
4
|
context: HttpRequestContext | WsRequestContext;
|
|
5
5
|
constructor(context: HttpRequestContext | WsRequestContext);
|
|
6
6
|
ok(payload: TResponse): void;
|
|
7
7
|
internalError(message?: string): void;
|
|
8
8
|
validationError(reasons: unknown[]): void;
|
|
9
9
|
notFound(): void;
|
|
10
|
-
static build<
|
|
10
|
+
static build<TResponse>(context: HttpRequestContext | WsRequestContext): Reply<TResponse>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/reply/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAS/E,cAAc,SAAS,CAAC;AAExB,qBAAa,KAAK,CAAC,SAAS,GAAG,OAAO;IACjB,OAAO,EAAE,kBAAkB,GAAG,gBAAgB;gBAA9C,OAAO,EAAE,kBAAkB,GAAG,gBAAgB;IAE1D,EAAE,CAAC,OAAO,EAAE,SAAS;IAarB,aAAa,CAAC,OAAO,GAAE,MAA+B;IAatD,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE;IAalC,QAAQ;IAaf,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,kBAAkB,GAAG,gBAAgB;CAGvE"}
|
|
@@ -14,13 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.Reply = void 0;
|
|
18
18
|
const utils_1 = require("../../../utils");
|
|
19
19
|
const defaultHeaders = {
|
|
20
20
|
'Content-type': 'Application/json',
|
|
21
21
|
};
|
|
22
22
|
__exportStar(require("./types"), exports);
|
|
23
|
-
class
|
|
23
|
+
class Reply {
|
|
24
24
|
constructor(context) {
|
|
25
25
|
this.context = context;
|
|
26
26
|
}
|
|
@@ -69,8 +69,8 @@ class ReplyService {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
static build(context) {
|
|
72
|
-
return new
|
|
72
|
+
return new Reply(context);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
exports.
|
|
75
|
+
exports.Reply = Reply;
|
|
76
76
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/models/reply/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/reply/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,MAAM,EAAE,IAAI,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,WAAW,CAAC;IACnE,IAAI,EAAE,CAAC,CAAC;CACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/server/models/reply/types.ts"],"names":[],"mappings":""}
|
|
@@ -4,17 +4,21 @@ import type { IRequestContextOutgoing } from './types';
|
|
|
4
4
|
import type { ServerContext } from '../server-context';
|
|
5
5
|
import type { History } from '../../history';
|
|
6
6
|
import { RequestContext } from './model';
|
|
7
|
-
import {
|
|
7
|
+
import { Reply } from '../reply';
|
|
8
8
|
export declare class HttpRequestContext<TResponse = unknown> extends RequestContext<'http'> {
|
|
9
9
|
server: ServerContext;
|
|
10
10
|
request: IncomingMessage & {
|
|
11
|
-
|
|
11
|
+
parsed: {
|
|
12
|
+
raw: string;
|
|
13
|
+
payload?: object;
|
|
14
|
+
};
|
|
12
15
|
};
|
|
13
16
|
response: ServerResponse;
|
|
14
17
|
TPlain: Pick<HttpRequestContext, 'incoming' | 'outgoing'> & Pick<HttpRequestContext['shared'], 'forwarded' | 'state' | 'seed'>;
|
|
15
|
-
reply: ReplyService<TResponse>;
|
|
16
18
|
incoming: import("./types").IRequestContextIncoming;
|
|
17
19
|
outgoing?: IRequestContextOutgoing;
|
|
20
|
+
reply: Reply<TResponse>;
|
|
21
|
+
meta: import("../../../meta").MetaContext;
|
|
18
22
|
shared: {
|
|
19
23
|
state: Record<string, unknown>;
|
|
20
24
|
seed?: number;
|
|
@@ -24,7 +28,10 @@ export declare class HttpRequestContext<TResponse = unknown> extends RequestCont
|
|
|
24
28
|
history?: History;
|
|
25
29
|
};
|
|
26
30
|
constructor(server: ServerContext, request: IncomingMessage & {
|
|
27
|
-
|
|
31
|
+
parsed: {
|
|
32
|
+
raw: string;
|
|
33
|
+
payload?: object;
|
|
34
|
+
};
|
|
28
35
|
}, response: ServerResponse);
|
|
29
36
|
share<T extends Partial<HttpRequestContext['shared']>>(shared: T): this & {
|
|
30
37
|
shared: {
|
|
@@ -36,6 +43,12 @@ export declare class HttpRequestContext<TResponse = unknown> extends RequestCont
|
|
|
36
43
|
history?: History;
|
|
37
44
|
} & T;
|
|
38
45
|
};
|
|
46
|
+
assignOutgoing<T extends NonNullable<HttpRequestContext<any>['outgoing']>>(outgoing: T): this & {
|
|
47
|
+
outgoing: T;
|
|
48
|
+
};
|
|
49
|
+
complete(): this & {
|
|
50
|
+
completed: boolean;
|
|
51
|
+
};
|
|
39
52
|
toPlain<K extends 'incoming' | 'outgoing' | 'forwarded.incoming' | 'forwarded.outgoing'>(options?: {
|
|
40
53
|
locations?: K[];
|
|
41
54
|
clone?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/request-context/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAIvD,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/request-context/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAIvD,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAKjC,qBAAa,kBAAkB,CAAC,SAAS,GAAG,OAAO,CAAE,SAAQ,cAAc,CAAC,MAAM,CAAC;IAmCxE,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,eAAe,GAAG;QAAE,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IACxE,QAAQ,EAAE,cAAc;IApC1B,MAAM,EAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG,IAAI,CACtE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAC7D,CAAC;IAEK,QAAQ,4CAAgD;IACxD,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IAEnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAqB;IAC5C,IAAI,sCAER;IAEI,MAAM,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd,WAAW,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC;QAC7E,WAAW,CAAC,EAAE,2BAA2B,CAAC;QAE1C,SAAS,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;QAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAUC;gBAGO,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,eAAe,GAAG;QAAE,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EACxE,QAAQ,EAAE,cAAc;IAK1B,KAAK,CAAC,CAAC,SAAS,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;;mBA5B9D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;mBACvB,MAAM;0BAEC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;0BAC9D,2BAA2B;wBAE7B,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,UAAU,CAAC;sBACnD,OAAO;;;IAyBZ,cAAc,CAAC,CAAC,SAAS,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;;;IAItF,QAAQ;;;IASR,OAAO,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,GAAG,oBAAoB,GAAG,oBAAoB,EAC5F,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GACA,kBAAkB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;WAgC7B,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc;CAI7F"}
|
|
@@ -6,8 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.HttpRequestContext = void 0;
|
|
7
7
|
const rfdc_1 = __importDefault(require("rfdc"));
|
|
8
8
|
const utils_1 = require("./utils");
|
|
9
|
+
const meta_1 = require("../../../meta");
|
|
9
10
|
const model_1 = require("./model");
|
|
10
|
-
const
|
|
11
|
+
const logger_1 = require("../../../logger");
|
|
12
|
+
const reply_1 = require("../reply");
|
|
13
|
+
const logger = logger_1.Logger.build('Server.Models.HttpRequestContext');
|
|
11
14
|
const clone = (0, rfdc_1.default)();
|
|
12
15
|
class HttpRequestContext extends model_1.RequestContext {
|
|
13
16
|
constructor(server, request, response) {
|
|
@@ -15,8 +18,11 @@ class HttpRequestContext extends model_1.RequestContext {
|
|
|
15
18
|
this.server = server;
|
|
16
19
|
this.request = request;
|
|
17
20
|
this.response = response;
|
|
18
|
-
this.reply = reply_service_1.ReplyService.build(this);
|
|
19
21
|
this.incoming = (0, utils_1.extractHttpIncommingParameters)(this.request);
|
|
22
|
+
this.reply = reply_1.Reply.build(this);
|
|
23
|
+
this.meta = meta_1.metaStorage.generate({
|
|
24
|
+
...(this.incoming.headers['x-request-id'] && { requestId: String(this.incoming.headers['x-request-id']) }),
|
|
25
|
+
});
|
|
20
26
|
this.shared = {
|
|
21
27
|
state: {},
|
|
22
28
|
...(this.incoming.headers['x-use-mock-seed'] && {
|
|
@@ -30,8 +36,15 @@ class HttpRequestContext extends model_1.RequestContext {
|
|
|
30
36
|
share(shared) {
|
|
31
37
|
return Object.assign(this, { shared: Object.assign(this.shared, shared) });
|
|
32
38
|
}
|
|
39
|
+
assignOutgoing(outgoing) {
|
|
40
|
+
return Object.assign(this, { outgoing });
|
|
41
|
+
}
|
|
42
|
+
complete() {
|
|
43
|
+
logger.info(`Incoming request [${this.incoming.method} ${this.incoming.path}] has finished`, `in [${Date.now() - this.timestamp}ms]`);
|
|
44
|
+
return super.complete();
|
|
45
|
+
}
|
|
33
46
|
toPlain(options) {
|
|
34
|
-
const
|
|
47
|
+
const locations = {
|
|
35
48
|
incoming: options?.locations?.includes('incoming') ?? true,
|
|
36
49
|
outgoing: (options?.locations?.includes('outgoing') ?? true) && this.outgoing,
|
|
37
50
|
forwarded: {
|
|
@@ -42,18 +55,14 @@ class HttpRequestContext extends model_1.RequestContext {
|
|
|
42
55
|
return {
|
|
43
56
|
state: options?.clone ? clone(this.shared.state) : this.shared.state,
|
|
44
57
|
...(this.shared.seed !== undefined && { seed: this.shared.seed }),
|
|
45
|
-
...(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
...(shouldInclude.outgoing && {
|
|
49
|
-
outgoing: options?.clone ? clone(this.outgoing) : this.outgoing,
|
|
50
|
-
}),
|
|
51
|
-
...((shouldInclude.forwarded.incoming || shouldInclude.forwarded.outgoing) && {
|
|
58
|
+
...(locations.incoming && { incoming: options?.clone ? clone(this.incoming) : this.incoming }),
|
|
59
|
+
...(locations.outgoing && { outgoing: options?.clone ? clone(this.outgoing) : this.outgoing }),
|
|
60
|
+
...((locations.forwarded.incoming || locations.forwarded.outgoing) && {
|
|
52
61
|
forwarded: {
|
|
53
|
-
...(
|
|
62
|
+
...(locations.forwarded.incoming && {
|
|
54
63
|
incoming: options?.clone ? clone(this.shared.forwarded.incoming) : this.shared.forwarded.incoming,
|
|
55
64
|
}),
|
|
56
|
-
...(
|
|
65
|
+
...(locations.forwarded.outgoing && {
|
|
57
66
|
outgoing: options?.clone ? clone(this.shared.forwarded.outgoing) : this.shared.forwarded.outgoing,
|
|
58
67
|
}),
|
|
59
68
|
},
|
|
@@ -61,10 +70,8 @@ class HttpRequestContext extends model_1.RequestContext {
|
|
|
61
70
|
};
|
|
62
71
|
}
|
|
63
72
|
static async build(server, request, response) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
await new Promise(resolve => request.on('end', resolve));
|
|
67
|
-
return new HttpRequestContext(server, Object.assign(request, { incomingBodyRaw }), response);
|
|
73
|
+
const parsed = await server.plugins.exec('incoming.body', request);
|
|
74
|
+
return new HttpRequestContext(server, Object.assign(request, { parsed }), response);
|
|
68
75
|
}
|
|
69
76
|
}
|
|
70
77
|
exports.HttpRequestContext = HttpRequestContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../../src/server/models/request-context/http.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AAQxB,mCAAyD;AACzD,mCAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../../src/server/models/request-context/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import type { TRequestContextType } from './types';
|
|
2
2
|
import type { ServerContext } from '../server-context';
|
|
3
|
-
import {
|
|
3
|
+
import { Reply } from '../reply';
|
|
4
4
|
export declare abstract class RequestContext<K extends TRequestContextType = TRequestContextType> {
|
|
5
5
|
type: K;
|
|
6
6
|
server: ServerContext;
|
|
7
|
-
abstract reply:
|
|
7
|
+
abstract reply: Reply;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
completed: boolean;
|
|
8
10
|
constructor(type: K, server: ServerContext);
|
|
11
|
+
complete(): this & {
|
|
12
|
+
completed: boolean;
|
|
13
|
+
};
|
|
9
14
|
is<This extends RequestContext<any>, T extends TRequestContextType>(this: This, type: T): this is This & {
|
|
10
15
|
type: T;
|
|
11
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/request-context/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/request-context/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,8BAAsB,cAAc,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAMnE,IAAI,EAAE,CAAC;IAAS,MAAM,EAAE,aAAa;IALxD,SAAgB,KAAK,EAAE,KAAK,CAAC;IAEtB,SAAS,SAAc;IACvB,SAAS,UAAS;gBAEN,IAAI,EAAE,CAAC,EAAS,MAAM,EAAE,aAAa;IAEjD,QAAQ;;;IAIR,EAAE,CACP,IAAI,SAAS,cAAc,CAAC,GAAG,CAAC,EAChC,CAAC,SAAS,mBAAmB,EAC7B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE;CAGnD"}
|
|
@@ -5,6 +5,11 @@ class RequestContext {
|
|
|
5
5
|
constructor(type, server) {
|
|
6
6
|
this.type = type;
|
|
7
7
|
this.server = server;
|
|
8
|
+
this.timestamp = Date.now();
|
|
9
|
+
this.completed = false;
|
|
10
|
+
}
|
|
11
|
+
complete() {
|
|
12
|
+
return Object.assign(this, { completed: true });
|
|
8
13
|
}
|
|
9
14
|
is(type) {
|
|
10
15
|
return this.type === type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/server/models/request-context/model.ts"],"names":[],"mappings":";;;AAKA,MAAsB,cAAc;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/server/models/request-context/model.ts"],"names":[],"mappings":";;;AAKA,MAAsB,cAAc;IAMlC,YAAmB,IAAO,EAAS,MAAqB;QAArC,SAAI,GAAJ,IAAI,CAAG;QAAS,WAAM,GAAN,MAAM,CAAe;QAHjD,cAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,cAAS,GAAG,KAAK,CAAC;IAEkC,CAAC;IAErD,QAAQ;QACb,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAEM,EAAE,CAGK,IAAO;QACnB,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;IAC5B,CAAC;CACF;AAlBD,wCAkBC"}
|
|
@@ -5,6 +5,9 @@ export declare const extractPayloadType: (headers: IncomingMessage["headers"]) =
|
|
|
5
5
|
export declare const parsePayload: (type: TRequestPayloadType, raw: string) => object | undefined;
|
|
6
6
|
export declare const serializePayload: (type: TRequestPayloadType, payload: object | null) => string;
|
|
7
7
|
export declare const extractHttpIncommingParameters: (request: IncomingMessage & {
|
|
8
|
-
|
|
8
|
+
parsed: {
|
|
9
|
+
raw: string;
|
|
10
|
+
payload?: object;
|
|
11
|
+
};
|
|
9
12
|
}) => IRequestContextIncoming;
|
|
10
13
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/request-context/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAsBrD,eAAO,MAAM,kBAAkB,YAAa,eAAe,CAAC,SAAS,CAAC,KAAG,mBAYxE,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,mBAAmB,OAAO,MAAM,KAAG,MAAM,GAAG,SAU9E,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,mBAAmB,WAAW,MAAM,GAAG,IAAI,KAAG,MASpF,CAAA;AAED,eAAO,MAAM,8BAA8B,YAChC,eAAe,GAAG;IAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/request-context/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAsBrD,eAAO,MAAM,kBAAkB,YAAa,eAAe,CAAC,SAAS,CAAC,KAAG,mBAYxE,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,mBAAmB,OAAO,MAAM,KAAG,MAAM,GAAG,SAU9E,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,mBAAmB,WAAW,MAAM,GAAG,IAAI,KAAG,MASpF,CAAA;AAED,eAAO,MAAM,8BAA8B,YAChC,eAAe,GAAG;IAAE,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,KACvE,uBAyBF,CAAA"}
|
|
@@ -64,8 +64,8 @@ const extractHttpIncommingParameters = (request) => {
|
|
|
64
64
|
method: String(request.method ?? 'GET').toUpperCase(),
|
|
65
65
|
path: pathname ?? '/',
|
|
66
66
|
query,
|
|
67
|
-
bodyRaw: request.
|
|
68
|
-
body: (0, exports.parsePayload)(type, request.
|
|
67
|
+
bodyRaw: request.parsed.raw,
|
|
68
|
+
body: 'payload' in request.parsed ? request.parsed.payload : (0, exports.parsePayload)(type, request.parsed.raw),
|
|
69
69
|
headers: Object
|
|
70
70
|
.entries(request.headers)
|
|
71
71
|
.map(([name, values]) => [
|