@pristine-ts/core 0.0.175 → 0.0.179
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/cjs/core.module.js +7 -4
- package/dist/lib/cjs/core.module.js.map +1 -1
- package/dist/lib/cjs/dispatchers/dispatchers.js +14 -0
- package/dist/lib/cjs/dispatchers/dispatchers.js.map +1 -0
- package/dist/lib/cjs/dispatchers/event.dispatcher.js +108 -0
- package/dist/lib/cjs/dispatchers/event.dispatcher.js.map +1 -0
- package/dist/lib/cjs/enums/enums.js +14 -0
- package/dist/lib/cjs/enums/enums.js.map +1 -0
- package/dist/lib/cjs/enums/execution-context-keyname.enum.js +11 -0
- package/dist/lib/cjs/enums/execution-context-keyname.enum.js.map +1 -0
- package/dist/lib/cjs/errors/error-response-interception-execution.error.js.map +1 -1
- package/dist/lib/cjs/errors/errors.js +6 -4
- package/dist/lib/cjs/errors/errors.js.map +1 -1
- package/dist/lib/cjs/errors/event-dispatcher-no-event-handlers.error.js +20 -0
- package/dist/lib/cjs/errors/event-dispatcher-no-event-handlers.error.js.map +1 -0
- package/dist/lib/cjs/errors/event-dispatching.error.js +21 -0
- package/dist/lib/cjs/errors/event-dispatching.error.js.map +1 -0
- package/dist/lib/cjs/errors/event-mapping.error.js +23 -0
- package/dist/lib/cjs/errors/event-mapping.error.js.map +1 -0
- package/dist/lib/cjs/errors/event-post-mapping-interception.error.js +22 -0
- package/dist/lib/cjs/errors/event-post-mapping-interception.error.js.map +1 -0
- package/dist/lib/cjs/errors/event-post-response-mapping-interception.error.js +22 -0
- package/dist/lib/cjs/errors/event-post-response-mapping-interception.error.js.map +1 -0
- package/dist/lib/cjs/errors/event-pre-mapping-interception.error.js +23 -0
- package/dist/lib/cjs/errors/event-pre-mapping-interception.error.js.map +1 -0
- package/dist/lib/cjs/errors/event-pre-response-mapping-interception.error.js +22 -0
- package/dist/lib/cjs/errors/event-pre-response-mapping-interception.error.js.map +1 -0
- package/dist/lib/cjs/handlers/default-event.handler.js +28 -0
- package/dist/lib/cjs/handlers/default-event.handler.js.map +1 -0
- package/dist/lib/cjs/handlers/handlers.js +14 -0
- package/dist/lib/cjs/handlers/handlers.js.map +1 -0
- package/dist/lib/cjs/interceptors/event-logging.interceptor.js +21 -12
- package/dist/lib/cjs/interceptors/event-logging.interceptor.js.map +1 -1
- package/dist/lib/cjs/interceptors/interceptors.js +0 -2
- package/dist/lib/cjs/interceptors/interceptors.js.map +1 -1
- package/dist/lib/cjs/interfaces/{request-interceptor.interface.js → event-dispatcher.interface.js} +1 -1
- package/dist/lib/cjs/interfaces/event-dispatcher.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/{response-interceptor.interface.js → event-handler.interface.js} +1 -1
- package/dist/lib/cjs/interfaces/event-handler.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/{error-response-interceptor.interface.js → event-listener.interface.js} +1 -1
- package/dist/lib/cjs/interfaces/event-listener.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/event-mapper.interface.js +3 -0
- package/dist/lib/cjs/interfaces/event-mapper.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/events-execution-options.interface.js +3 -0
- package/dist/lib/cjs/interfaces/events-execution-options.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/execution-context.interface.js +3 -0
- package/dist/lib/cjs/interfaces/execution-context.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/interfaces.js +6 -3
- package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
- package/dist/lib/cjs/kernel.js +31 -393
- package/dist/lib/cjs/kernel.js.map +1 -1
- package/dist/lib/cjs/listeners/default-event.listener.js +27 -0
- package/dist/lib/cjs/listeners/default-event.listener.js.map +1 -0
- package/dist/lib/cjs/listeners/listeners.js +14 -0
- package/dist/lib/cjs/listeners/listeners.js.map +1 -0
- package/dist/lib/cjs/mappers/default-event.mapper.js +38 -0
- package/dist/lib/cjs/mappers/default-event.mapper.js.map +1 -0
- package/dist/lib/cjs/mappers/mappers.js +14 -0
- package/dist/lib/cjs/mappers/mappers.js.map +1 -0
- package/dist/lib/cjs/models/event.js +15 -0
- package/dist/lib/cjs/models/event.js.map +1 -0
- package/dist/lib/cjs/models/event.response.js +11 -0
- package/dist/lib/cjs/models/event.response.js.map +1 -0
- package/dist/lib/cjs/models/models.js +15 -0
- package/dist/lib/cjs/models/models.js.map +1 -0
- package/dist/lib/cjs/pipelines/event.pipeline.js +282 -0
- package/dist/lib/cjs/pipelines/event.pipeline.js.map +1 -0
- package/dist/lib/cjs/pipelines/pipelines.js +14 -0
- package/dist/lib/cjs/pipelines/pipelines.js.map +1 -0
- package/dist/lib/esm/core.module.js +7 -4
- package/dist/lib/esm/core.module.js.map +1 -1
- package/dist/lib/esm/dispatchers/dispatchers.js +2 -0
- package/dist/lib/esm/dispatchers/dispatchers.js.map +1 -0
- package/dist/lib/esm/dispatchers/event.dispatcher.js +105 -0
- package/dist/lib/esm/dispatchers/event.dispatcher.js.map +1 -0
- package/dist/lib/esm/enums/enums.js +2 -0
- package/dist/lib/esm/enums/enums.js.map +1 -0
- package/dist/lib/esm/enums/execution-context-keyname.enum.js +8 -0
- package/dist/lib/esm/enums/execution-context-keyname.enum.js.map +1 -0
- package/dist/lib/esm/errors/error-response-interception-execution.error.js.map +1 -1
- package/dist/lib/esm/errors/errors.js +6 -4
- package/dist/lib/esm/errors/errors.js.map +1 -1
- package/dist/lib/esm/errors/event-dispatcher-no-event-handlers.error.js +16 -0
- package/dist/lib/esm/errors/event-dispatcher-no-event-handlers.error.js.map +1 -0
- package/dist/lib/esm/errors/event-dispatching.error.js +17 -0
- package/dist/lib/esm/errors/event-dispatching.error.js.map +1 -0
- package/dist/lib/esm/errors/event-mapping.error.js +19 -0
- package/dist/lib/esm/errors/event-mapping.error.js.map +1 -0
- package/dist/lib/esm/errors/event-post-mapping-interception.error.js +18 -0
- package/dist/lib/esm/errors/event-post-mapping-interception.error.js.map +1 -0
- package/dist/lib/esm/errors/event-post-response-mapping-interception.error.js +18 -0
- package/dist/lib/esm/errors/event-post-response-mapping-interception.error.js.map +1 -0
- package/dist/lib/esm/errors/event-pre-mapping-interception.error.js +19 -0
- package/dist/lib/esm/errors/event-pre-mapping-interception.error.js.map +1 -0
- package/dist/lib/esm/errors/event-pre-response-mapping-interception.error.js +18 -0
- package/dist/lib/esm/errors/event-pre-response-mapping-interception.error.js.map +1 -0
- package/dist/lib/esm/handlers/default-event.handler.js +25 -0
- package/dist/lib/esm/handlers/default-event.handler.js.map +1 -0
- package/dist/lib/esm/handlers/handlers.js +2 -0
- package/dist/lib/esm/handlers/handlers.js.map +1 -0
- package/dist/lib/esm/interceptors/event-logging.interceptor.js +21 -12
- package/dist/lib/esm/interceptors/event-logging.interceptor.js.map +1 -1
- package/dist/lib/esm/interceptors/interceptors.js +0 -2
- package/dist/lib/esm/interceptors/interceptors.js.map +1 -1
- package/dist/lib/esm/interfaces/event-dispatcher.interface.js +2 -0
- package/dist/lib/esm/interfaces/event-dispatcher.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/event-handler.interface.js +2 -0
- package/dist/lib/esm/interfaces/event-handler.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/event-listener.interface.js +2 -0
- package/dist/lib/esm/interfaces/event-listener.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/event-mapper.interface.js +2 -0
- package/dist/lib/esm/interfaces/event-mapper.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/events-execution-options.interface.js +2 -0
- package/dist/lib/esm/interfaces/events-execution-options.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/execution-context.interface.js +2 -0
- package/dist/lib/esm/interfaces/execution-context.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/interfaces.js +6 -3
- package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
- package/dist/lib/esm/kernel.js +32 -394
- package/dist/lib/esm/kernel.js.map +1 -1
- package/dist/lib/esm/listeners/default-event.listener.js +24 -0
- package/dist/lib/esm/listeners/default-event.listener.js.map +1 -0
- package/dist/lib/esm/listeners/listeners.js +2 -0
- package/dist/lib/esm/listeners/listeners.js.map +1 -0
- package/dist/lib/esm/mappers/default-event.mapper.js +35 -0
- package/dist/lib/esm/mappers/default-event.mapper.js.map +1 -0
- package/dist/lib/esm/mappers/mappers.js +2 -0
- package/dist/lib/esm/mappers/mappers.js.map +1 -0
- package/dist/lib/esm/models/event.js +11 -0
- package/dist/lib/esm/models/event.js.map +1 -0
- package/dist/lib/esm/models/event.response.js +7 -0
- package/dist/lib/esm/models/event.response.js.map +1 -0
- package/dist/lib/esm/models/models.js +3 -0
- package/dist/lib/esm/models/models.js.map +1 -0
- package/dist/lib/esm/pipelines/event.pipeline.js +279 -0
- package/dist/lib/esm/pipelines/event.pipeline.js.map +1 -0
- package/dist/lib/esm/pipelines/pipelines.js +2 -0
- package/dist/lib/esm/pipelines/pipelines.js.map +1 -0
- package/dist/types/core.module.d.ts +7 -0
- package/dist/types/dispatchers/dispatchers.d.ts +1 -0
- package/dist/types/dispatchers/event.dispatcher.d.ts +29 -0
- package/dist/types/enums/enums.d.ts +1 -0
- package/dist/types/enums/execution-context-keyname.enum.d.ts +6 -0
- package/dist/types/errors/error-response-interception-execution.error.d.ts +3 -2
- package/dist/types/errors/errors.d.ts +6 -4
- package/dist/types/errors/event-dispatcher-no-event-handlers.error.d.ts +8 -0
- package/dist/types/errors/event-dispatching.error.d.ts +8 -0
- package/dist/types/errors/event-mapping.error.d.ts +8 -0
- package/dist/types/errors/event-post-mapping-interception.error.d.ts +8 -0
- package/dist/types/errors/event-post-response-mapping-interception.error.d.ts +7 -0
- package/dist/types/errors/event-pre-mapping-interception.error.d.ts +8 -0
- package/dist/types/errors/event-pre-response-mapping-interception.error.d.ts +8 -0
- package/dist/types/handlers/default-event.handler.d.ts +7 -0
- package/dist/types/handlers/handlers.d.ts +1 -0
- package/dist/types/interceptors/event-logging.interceptor.d.ts +7 -11
- package/dist/types/interceptors/interceptors.d.ts +0 -2
- package/dist/types/interfaces/event-dispatcher.interface.d.ts +5 -0
- package/dist/types/interfaces/event-handler.interface.d.ts +23 -0
- package/dist/types/interfaces/event-interceptor.interface.d.ts +22 -3
- package/dist/types/interfaces/event-listener.interface.d.ts +17 -0
- package/dist/types/interfaces/event-mapper.interface.d.ts +9 -0
- package/dist/types/interfaces/events-execution-options.interface.d.ts +5 -0
- package/dist/types/interfaces/execution-context.interface.d.ts +5 -0
- package/dist/types/interfaces/interfaces.d.ts +6 -3
- package/dist/types/kernel.d.ts +11 -83
- package/dist/types/listeners/default-event.listener.d.ts +6 -0
- package/dist/types/listeners/listeners.d.ts +1 -0
- package/dist/types/mappers/default-event.mapper.d.ts +13 -0
- package/dist/types/mappers/mappers.d.ts +1 -0
- package/dist/types/models/event.d.ts +9 -0
- package/dist/types/models/event.response.d.ts +6 -0
- package/dist/types/models/models.d.ts +2 -0
- package/dist/types/pipelines/event.pipeline.d.ts +61 -0
- package/dist/types/pipelines/pipelines.d.ts +1 -0
- package/package.json +7 -10
- package/dist/lib/cjs/errors/request-handling.error.js +0 -21
- package/dist/lib/cjs/errors/request-handling.error.js.map +0 -1
- package/dist/lib/cjs/errors/request-interception-execution.error.js +0 -22
- package/dist/lib/cjs/errors/request-interception-execution.error.js.map +0 -1
- package/dist/lib/cjs/errors/response-interception-execution.error.js +0 -23
- package/dist/lib/cjs/errors/response-interception-execution.error.js.map +0 -1
- package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js +0 -89
- package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js.map +0 -1
- package/dist/lib/cjs/interceptors/request-logging.interceptor.js +0 -83
- package/dist/lib/cjs/interceptors/request-logging.interceptor.js.map +0 -1
- package/dist/lib/cjs/interfaces/error-response-interceptor.interface.js.map +0 -1
- package/dist/lib/cjs/interfaces/request-interceptor.interface.js.map +0 -1
- package/dist/lib/cjs/interfaces/response-interceptor.interface.js.map +0 -1
- package/dist/lib/esm/errors/request-handling.error.js +0 -17
- package/dist/lib/esm/errors/request-handling.error.js.map +0 -1
- package/dist/lib/esm/errors/request-interception-execution.error.js +0 -18
- package/dist/lib/esm/errors/request-interception-execution.error.js.map +0 -1
- package/dist/lib/esm/errors/response-interception-execution.error.js +0 -19
- package/dist/lib/esm/errors/response-interception-execution.error.js.map +0 -1
- package/dist/lib/esm/interceptors/request-body-converter.interceptor.js +0 -86
- package/dist/lib/esm/interceptors/request-body-converter.interceptor.js.map +0 -1
- package/dist/lib/esm/interceptors/request-logging.interceptor.js +0 -80
- package/dist/lib/esm/interceptors/request-logging.interceptor.js.map +0 -1
- package/dist/lib/esm/interfaces/error-response-interceptor.interface.js +0 -2
- package/dist/lib/esm/interfaces/error-response-interceptor.interface.js.map +0 -1
- package/dist/lib/esm/interfaces/request-interceptor.interface.js +0 -2
- package/dist/lib/esm/interfaces/request-interceptor.interface.js.map +0 -1
- package/dist/lib/esm/interfaces/response-interceptor.interface.js +0 -2
- package/dist/lib/esm/interfaces/response-interceptor.interface.js.map +0 -1
- package/dist/types/errors/request-handling.error.d.ts +0 -8
- package/dist/types/errors/request-interception-execution.error.d.ts +0 -8
- package/dist/types/errors/response-interception-execution.error.d.ts +0 -8
- package/dist/types/interceptors/request-body-converter.interceptor.d.ts +0 -9
- package/dist/types/interceptors/request-logging.interceptor.d.ts +0 -27
- package/dist/types/interfaces/error-response-interceptor.interface.d.ts +0 -21
- package/dist/types/interfaces/request-interceptor.interface.d.ts +0 -17
- package/dist/types/interfaces/response-interceptor.interface.d.ts +0 -20
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
export * from "./
|
|
1
|
+
export * from "./event-dispatcher.interface";
|
|
2
2
|
export * from "./event-interceptor.interface";
|
|
3
|
+
export * from "./event-handler.interface";
|
|
4
|
+
export * from "./event-listener.interface";
|
|
5
|
+
export * from "./event-mapper.interface";
|
|
6
|
+
export * from "./events-execution-options.interface";
|
|
7
|
+
export * from "./execution-context.interface";
|
|
3
8
|
export * from "./options-mapper.interface";
|
|
4
|
-
export * from "./request-interceptor.interface";
|
|
5
|
-
export * from "./response-interceptor.interface";
|
package/dist/types/kernel.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
2
|
import { DependencyContainer } from "tsyringe";
|
|
3
|
-
import {
|
|
4
|
-
import { ModuleInterface, RequestInterface } from "@pristine-ts/common";
|
|
3
|
+
import { AppModuleInterface, Request } from "@pristine-ts/common";
|
|
5
4
|
import { ModuleConfigurationValue } from "@pristine-ts/configuration";
|
|
5
|
+
import { ExecutionContextInterface } from "./interfaces/execution-context.interface";
|
|
6
|
+
import { Event } from "./models/event";
|
|
6
7
|
/**
|
|
7
8
|
* This is the central class that manages the lifecyle of this library.
|
|
8
9
|
*/
|
|
@@ -21,16 +22,11 @@ export declare class Kernel {
|
|
|
21
22
|
* @private
|
|
22
23
|
*/
|
|
23
24
|
private afterInstantiatedModules;
|
|
24
|
-
/**
|
|
25
|
-
* Contains a reference to the Router. It is undefined until this.setupRouter() is called.
|
|
26
|
-
* @private
|
|
27
|
-
*/
|
|
28
|
-
private router?;
|
|
29
25
|
/**
|
|
30
26
|
* Contains the span for the initialization.
|
|
31
27
|
* @private
|
|
32
28
|
*/
|
|
33
|
-
private initializationSpan
|
|
29
|
+
private initializationSpan?;
|
|
34
30
|
/**
|
|
35
31
|
* Contains the unique instantiation identifier of this specific kernel instance.
|
|
36
32
|
* @public
|
|
@@ -38,12 +34,12 @@ export declare class Kernel {
|
|
|
38
34
|
instantiationId: string;
|
|
39
35
|
constructor();
|
|
40
36
|
/**
|
|
41
|
-
* This function is the entry point of the
|
|
37
|
+
* This function is the entry point of the Kernel. It initializes the module for your application (AppModule) as well as its the dependencies,
|
|
42
38
|
* it registers the services, registers the configurations and runs the afterInit for each module.
|
|
43
39
|
* @param module
|
|
44
40
|
* @param moduleConfigurationValues
|
|
45
41
|
*/
|
|
46
|
-
|
|
42
|
+
start(module: AppModuleInterface, moduleConfigurationValues?: {
|
|
47
43
|
[key: string]: ModuleConfigurationValue;
|
|
48
44
|
}): Promise<void>;
|
|
49
45
|
/**
|
|
@@ -77,83 +73,15 @@ export declare class Kernel {
|
|
|
77
73
|
*/
|
|
78
74
|
private afterInitModule;
|
|
79
75
|
/**
|
|
80
|
-
* This method
|
|
81
|
-
*
|
|
82
|
-
* @param request
|
|
83
|
-
* @param container
|
|
84
|
-
* @private
|
|
85
|
-
*/
|
|
86
|
-
private executeRequestInterceptors;
|
|
87
|
-
/**
|
|
88
|
-
* This method executes all the EventInterceptors and returns the event updated by the interceptors.
|
|
89
|
-
*
|
|
90
|
-
* @param event
|
|
91
|
-
* @param container
|
|
76
|
+
* This method loops through the service tag decorators defined in the taggedProviderRegistrationsRegistry and simply add
|
|
77
|
+
* all the entry to the container.
|
|
92
78
|
* @private
|
|
93
79
|
*/
|
|
94
|
-
private
|
|
80
|
+
private registerServiceTags;
|
|
95
81
|
/**
|
|
96
|
-
* This method executes all the EventInterceptors and returns the event updated by the interceptors.
|
|
97
82
|
*
|
|
98
83
|
* @param event
|
|
99
|
-
* @param
|
|
100
|
-
* @private
|
|
101
|
-
*/
|
|
102
|
-
private executeEventInterceptors;
|
|
103
|
-
/**
|
|
104
|
-
* This method executes all the response interceptors and returns the response updated by the interceptors.
|
|
105
|
-
*
|
|
106
|
-
* @param response
|
|
107
|
-
* @param request
|
|
108
|
-
* @param container
|
|
109
|
-
* @private
|
|
110
|
-
*/
|
|
111
|
-
private executeResponseInterceptors;
|
|
112
|
-
/**
|
|
113
|
-
* This method executes all the error response interceptors and returns the response updated by the interceptors.
|
|
114
|
-
*
|
|
115
|
-
* @param error
|
|
116
|
-
* @param request
|
|
117
|
-
* @param container
|
|
118
|
-
* @private
|
|
84
|
+
* @param executionContext
|
|
119
85
|
*/
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* This method can be used to test if a raw event is supported or not.
|
|
123
|
-
* @param rawEvent
|
|
124
|
-
*/
|
|
125
|
-
isRawEventSupported(rawEvent: object): boolean;
|
|
126
|
-
/**
|
|
127
|
-
* This method takes the raw Event, transforms it into an array of Event object and then dispatches it to the Event Listeners.
|
|
128
|
-
* It completes when all the Event Listeners have settle, and does not return a response.
|
|
129
|
-
*
|
|
130
|
-
* @param rawEvent
|
|
131
|
-
*/
|
|
132
|
-
handleRawEvent(rawEvent: object): Promise<void>;
|
|
133
|
-
/**
|
|
134
|
-
* This method takes a parsed Event, executes the interceptors and dispatches it to the Event Listeners
|
|
135
|
-
*
|
|
136
|
-
* @param rawEvent
|
|
137
|
-
*/
|
|
138
|
-
private handleParsedEvent;
|
|
139
|
-
/**
|
|
140
|
-
* This method receives a requestInterface, calls the router to execute the request and returns the response. This method
|
|
141
|
-
* calls all the interceptors. This should be the only point with the outside world when dealing with requests.
|
|
142
|
-
*
|
|
143
|
-
* @param requestInterface
|
|
144
|
-
*/
|
|
145
|
-
handleRequest(requestInterface: RequestInterface): Promise<Response>;
|
|
146
|
-
/**
|
|
147
|
-
* This method loops through the all the classes decorated with @controller, loops through all the methods decorated
|
|
148
|
-
* with @route and builds the dependency tree of all the routes.
|
|
149
|
-
*
|
|
150
|
-
* @private
|
|
151
|
-
*/
|
|
152
|
-
private setupRouter;
|
|
153
|
-
/**
|
|
154
|
-
* This method loops through the service tag decorators defined in the taggedProviderRegistrationsRegistry and simply add
|
|
155
|
-
* all the entry to the container.
|
|
156
|
-
* @private
|
|
157
|
-
*/
|
|
158
|
-
private registerServiceTags;
|
|
86
|
+
handle<T>(event: any | Request | Event<any>, executionContext: ExecutionContextInterface<T>): Promise<object>;
|
|
159
87
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { EventListenerInterface } from "../interfaces/event-listener.interface";
|
|
2
|
+
import { Event } from "../models/event";
|
|
3
|
+
export declare class DefaultEventListener implements EventListenerInterface {
|
|
4
|
+
execute<EventPayload>(event: Event<EventPayload>): Promise<void>;
|
|
5
|
+
supports<T>(event: Event<T>): boolean;
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./default-event.listener";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventMapperInterface } from "../interfaces/event-mapper.interface";
|
|
2
|
+
import { ExecutionContextInterface } from "../interfaces/execution-context.interface";
|
|
3
|
+
import { EventsExecutionOptionsInterface } from "../interfaces/events-execution-options.interface";
|
|
4
|
+
import { EventResponse } from "../models/event.response";
|
|
5
|
+
/**
|
|
6
|
+
* We need a default mapper, else the container will complain when we do injectAll
|
|
7
|
+
*/
|
|
8
|
+
export declare class DefaultEventMapper implements EventMapperInterface<any, any> {
|
|
9
|
+
map(event: object, executionContext: ExecutionContextInterface<any>): EventsExecutionOptionsInterface<any>;
|
|
10
|
+
reverseMap(eventResponse: EventResponse<any, any>, response: object, executionContext: ExecutionContextInterface<any>): void;
|
|
11
|
+
supportsMapping(event: object, executionContext: ExecutionContextInterface<any>): boolean;
|
|
12
|
+
supportsReverseMapping(eventResponse: EventResponse<any, any>, response: object, executionContext: ExecutionContextInterface<any>): boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./default-event.mapper";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This model defines what an Event is in the Pristine library.
|
|
3
|
+
* Once an event parsed, this should be the only object that will be handle inside the library.
|
|
4
|
+
*/
|
|
5
|
+
export declare class Event<Payload> {
|
|
6
|
+
type: string;
|
|
7
|
+
payload: Payload;
|
|
8
|
+
constructor(type: string, payload: Payload);
|
|
9
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { DependencyContainer } from "tsyringe";
|
|
2
|
+
import { ExecutionContextInterface } from "../interfaces/execution-context.interface";
|
|
3
|
+
import { EventInterceptorInterface } from "../interfaces/event-interceptor.interface";
|
|
4
|
+
import { EventMapperInterface } from "../interfaces/event-mapper.interface";
|
|
5
|
+
import { LogHandlerInterface } from "@pristine-ts/logging";
|
|
6
|
+
import { TracingManagerInterface } from "@pristine-ts/telemetry";
|
|
7
|
+
export declare class EventPipeline {
|
|
8
|
+
private readonly eventInterceptors;
|
|
9
|
+
private readonly eventMappers;
|
|
10
|
+
private readonly logHandler;
|
|
11
|
+
private readonly tracingManager;
|
|
12
|
+
constructor(eventInterceptors: EventInterceptorInterface[], eventMappers: EventMapperInterface<any, any>[], logHandler: LogHandlerInterface, tracingManager: TracingManagerInterface);
|
|
13
|
+
/**
|
|
14
|
+
* This method calls the interceptors that are to be executed just before the EventMappers are executed. It allows
|
|
15
|
+
* for changing the raw event coming directly into the kernel.
|
|
16
|
+
*
|
|
17
|
+
* @param event
|
|
18
|
+
* @param executionContext
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
private preMappingIntercept;
|
|
22
|
+
/**
|
|
23
|
+
* This method calls the interceptors that are executed just after the EventMappers have mapped the raw event into
|
|
24
|
+
* an Event object.
|
|
25
|
+
*
|
|
26
|
+
* @param event
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
29
|
+
private postMappingIntercept;
|
|
30
|
+
/**
|
|
31
|
+
* This method calls the interceptors that are to be executed just after the EventResponse has been returned from
|
|
32
|
+
* the EventDispatcher but before it is reverse mapped by the EventMappers.
|
|
33
|
+
*
|
|
34
|
+
* @param eventResponse
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
private preResponseMappingIntercept;
|
|
38
|
+
/**
|
|
39
|
+
* This method calls the interceptors that are executed after the EventResponse object has been mapped into a simple
|
|
40
|
+
* object.
|
|
41
|
+
*
|
|
42
|
+
* @param eventResponse The event response object to be returned from the handle method in the kernel.
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
private postResponseMappingIntercept;
|
|
46
|
+
/**
|
|
47
|
+
* This method executes the postMappingInterceptors and then dispatches the Event by using the EventDispatcher.
|
|
48
|
+
*
|
|
49
|
+
* @param event This is the event that must be dispatched.
|
|
50
|
+
* @param eventDispatcher This is the eventDispatcher instance that will dispatch the Event.
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
private executeEvent;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @param event
|
|
57
|
+
* @param executionContext
|
|
58
|
+
* @param container
|
|
59
|
+
*/
|
|
60
|
+
execute(event: object, executionContext: ExecutionContextInterface<any>, container: DependencyContainer): Promise<any>;
|
|
61
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./event.pipeline";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pristine-ts/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.179",
|
|
4
4
|
"description": "",
|
|
5
5
|
"module": "dist/lib/esm/core.module.js",
|
|
6
6
|
"main": "dist/lib/cjs/core.module.js",
|
|
@@ -19,14 +19,11 @@
|
|
|
19
19
|
"access": "public"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@pristine-ts/common": "^0.0.
|
|
23
|
-
"@pristine-ts/configuration": "^0.0.
|
|
24
|
-
"@pristine-ts/
|
|
25
|
-
"@pristine-ts/
|
|
26
|
-
"@pristine-ts/
|
|
27
|
-
"@pristine-ts/security": "^0.0.175",
|
|
28
|
-
"@pristine-ts/telemetry": "^0.0.175",
|
|
29
|
-
"lodash": "^4.17.21",
|
|
22
|
+
"@pristine-ts/common": "^0.0.179",
|
|
23
|
+
"@pristine-ts/configuration": "^0.0.179",
|
|
24
|
+
"@pristine-ts/logging": "^0.0.179",
|
|
25
|
+
"@pristine-ts/security": "^0.0.179",
|
|
26
|
+
"@pristine-ts/telemetry": "^0.0.179",
|
|
30
27
|
"uuid": "^8.3.2"
|
|
31
28
|
},
|
|
32
29
|
"devDependencies": {
|
|
@@ -66,5 +63,5 @@
|
|
|
66
63
|
"src/*.{js,ts}"
|
|
67
64
|
]
|
|
68
65
|
},
|
|
69
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "2af3d4b4ecfb0af32b5b3020c78ad5f8d1f64ca6"
|
|
70
67
|
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RequestHandlingError = void 0;
|
|
4
|
-
const common_1 = require("@pristine-ts/common");
|
|
5
|
-
/**
|
|
6
|
-
* This Error is thrown when there's an error that happens while handling a request.
|
|
7
|
-
*/
|
|
8
|
-
class RequestHandlingError extends common_1.LoggableError {
|
|
9
|
-
constructor(message, request, kernel) {
|
|
10
|
-
super(message, {
|
|
11
|
-
request,
|
|
12
|
-
kernel,
|
|
13
|
-
});
|
|
14
|
-
// Set the prototype explicitly.
|
|
15
|
-
// As specified in the documentation in TypeScript
|
|
16
|
-
// https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
17
|
-
Object.setPrototypeOf(this, RequestHandlingError.prototype);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.RequestHandlingError = RequestHandlingError;
|
|
21
|
-
//# sourceMappingURL=request-handling.error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-handling.error.js","sourceRoot":"","sources":["../../../../src/errors/request-handling.error.ts"],"names":[],"mappings":";;;AAAA,gDAAoE;AAGpE;;GAEG;AACH,MAAa,oBAAqB,SAAQ,sBAAa;IAEnD,YAAmB,OAAe,EAAE,OAAyB,EAAE,MAAc;QACzE,KAAK,CAAC,OAAO,EAAE;YACX,OAAO;YACP,MAAM;SACT,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAAI,CAAC;CACxE;AAZD,oDAYC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RequestInterceptionExecutionError = void 0;
|
|
4
|
-
const common_1 = require("@pristine-ts/common");
|
|
5
|
-
/**
|
|
6
|
-
* This Error is thrown when there's an error in the execution of a request interceptor.
|
|
7
|
-
*/
|
|
8
|
-
class RequestInterceptionExecutionError extends common_1.LoggableError {
|
|
9
|
-
constructor(message, request, kernel, error) {
|
|
10
|
-
super(message, {
|
|
11
|
-
error,
|
|
12
|
-
request,
|
|
13
|
-
kernel,
|
|
14
|
-
});
|
|
15
|
-
// Set the prototype explicitly.
|
|
16
|
-
// As specified in the documentation in TypeScript
|
|
17
|
-
// https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
18
|
-
Object.setPrototypeOf(this, RequestInterceptionExecutionError.prototype);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.RequestInterceptionExecutionError = RequestInterceptionExecutionError;
|
|
22
|
-
//# sourceMappingURL=request-interception-execution.error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-interception-execution.error.js","sourceRoot":"","sources":["../../../../src/errors/request-interception-execution.error.ts"],"names":[],"mappings":";;;AAAA,gDAAoE;AAGpE;;GAEG;AACH,MAAa,iCAAkC,SAAQ,sBAAa;IAEhE,YAAmB,OAAe,EAAE,OAAyB,EAAE,MAAc,EAAE,KAAa;QACxF,KAAK,CAAC,OAAO,EAAE;YACX,KAAK;YACL,OAAO;YACP,MAAM;SACT,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAAI,CAAC;CACrF;AAbD,8EAaC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResponseInterceptionExecutionError = void 0;
|
|
4
|
-
const common_1 = require("@pristine-ts/common");
|
|
5
|
-
/**
|
|
6
|
-
* This Error is thrown when an error happens in the execution of a response interceptor.
|
|
7
|
-
*/
|
|
8
|
-
class ResponseInterceptionExecutionError extends common_1.LoggableError {
|
|
9
|
-
constructor(message, request, response, interceptor, previousError) {
|
|
10
|
-
super(message, {
|
|
11
|
-
previousError,
|
|
12
|
-
request,
|
|
13
|
-
response,
|
|
14
|
-
interceptor,
|
|
15
|
-
});
|
|
16
|
-
// Set the prototype explicitly.
|
|
17
|
-
// As specified in the documentation in TypeScript
|
|
18
|
-
// https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
19
|
-
Object.setPrototypeOf(this, ResponseInterceptionExecutionError.prototype);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.ResponseInterceptionExecutionError = ResponseInterceptionExecutionError;
|
|
23
|
-
//# sourceMappingURL=response-interception-execution.error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response-interception-execution.error.js","sourceRoot":"","sources":["../../../../src/errors/response-interception-execution.error.ts"],"names":[],"mappings":";;;AAAA,gDAAoE;AAGpE;;GAEG;AACH,MAAa,kCAAmC,SAAQ,sBAAa;IAEjE,YAAmB,OAAe,EAAE,OAAyB,EAAE,QAAkB,EAAE,WAAgB,EAAE,aAAqB;QACtH,KAAK,CAAC,OAAO,EAAE;YACX,aAAa;YACb,OAAO;YACP,QAAQ;YACR,WAAW;SACd,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kCAAkC,CAAC,SAAS,CAAC,CAAC;IAAI,CAAC;CACtF;AAdD,gFAcC"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
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;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.RequestBodyConverterInterceptor = void 0;
|
|
25
|
-
const tsyringe_1 = require("tsyringe");
|
|
26
|
-
const common_1 = require("@pristine-ts/common");
|
|
27
|
-
const networking_1 = require("@pristine-ts/networking");
|
|
28
|
-
const core_module_keyname_1 = require("../core.module.keyname");
|
|
29
|
-
let RequestBodyConverterInterceptor = class RequestBodyConverterInterceptor {
|
|
30
|
-
constructor(isActive, logHandler) {
|
|
31
|
-
this.isActive = isActive;
|
|
32
|
-
this.logHandler = logHandler;
|
|
33
|
-
}
|
|
34
|
-
interceptRequest(request) {
|
|
35
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
-
if (this.isActive === false) {
|
|
37
|
-
return request;
|
|
38
|
-
}
|
|
39
|
-
let contentType;
|
|
40
|
-
for (let key in request.headers) {
|
|
41
|
-
if (request.headers.hasOwnProperty(key) === false) {
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
const requestHeader = request.headers[key];
|
|
45
|
-
if (key.toLowerCase() === "content-type") {
|
|
46
|
-
contentType = requestHeader;
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
if (contentType === undefined) {
|
|
51
|
-
return request;
|
|
52
|
-
}
|
|
53
|
-
switch (contentType.toLowerCase()) {
|
|
54
|
-
case "application/json":
|
|
55
|
-
switch (typeof request.body) {
|
|
56
|
-
case "object":
|
|
57
|
-
return request;
|
|
58
|
-
case "string":
|
|
59
|
-
try {
|
|
60
|
-
if (request.body) {
|
|
61
|
-
request.body = JSON.parse(request.body);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
catch (e) {
|
|
65
|
-
const errorMessage = "This request has the Content-Type header 'application/json' but the body contains invalid JSON.";
|
|
66
|
-
this.logHandler.error(errorMessage);
|
|
67
|
-
throw new networking_1.InvalidBodyHttpError(errorMessage);
|
|
68
|
-
}
|
|
69
|
-
break;
|
|
70
|
-
default:
|
|
71
|
-
const errorMessage = "This request has the Content-Type header 'application/json' but the body contains invalid JSON.";
|
|
72
|
-
this.logHandler.error(errorMessage);
|
|
73
|
-
throw new networking_1.InvalidBodyHttpError(errorMessage);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return request;
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
RequestBodyConverterInterceptor = __decorate([
|
|
81
|
-
common_1.tag(common_1.ServiceDefinitionTagEnum.RequestInterceptor),
|
|
82
|
-
common_1.moduleScoped(core_module_keyname_1.CoreModuleKeyname),
|
|
83
|
-
tsyringe_1.injectable(),
|
|
84
|
-
__param(0, tsyringe_1.inject("%" + core_module_keyname_1.CoreModuleKeyname + ".requestBodyConverterActive%")),
|
|
85
|
-
__param(1, tsyringe_1.inject("LogHandlerInterface")),
|
|
86
|
-
__metadata("design:paramtypes", [Boolean, Object])
|
|
87
|
-
], RequestBodyConverterInterceptor);
|
|
88
|
-
exports.RequestBodyConverterInterceptor = RequestBodyConverterInterceptor;
|
|
89
|
-
//# sourceMappingURL=request-body-converter.interceptor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-body-converter.interceptor.js","sourceRoot":"","sources":["../../../../src/interceptors/request-body-converter.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA4C;AAE5C,gDAAgF;AAChF,wDAAsE;AAEtE,gEAAyD;AAKzD,IAAa,+BAA+B,GAA5C,MAAa,+BAA+B;IACxC,YAA+F,QAAiB,EACpD,UAA+B;QADI,aAAQ,GAAR,QAAQ,CAAS;QACpD,eAAU,GAAV,UAAU,CAAqB;IAC3F,CAAC;IAEK,gBAAgB,CAAC,OAAgB;;YACnC,IAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;gBACxB,OAAO,OAAO,CAAC;aAClB;YAED,IAAI,WAA+B,CAAC;YAEpC,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE;gBAC7B,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBAC/C,SAAS;iBACZ;gBAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAE3C,IAAG,GAAG,CAAC,WAAW,EAAE,KAAK,cAAc,EAAE;oBACrC,WAAW,GAAG,aAAa,CAAC;oBAC5B,MAAM;iBACT;aACJ;YAED,IAAG,WAAW,KAAK,SAAS,EAAE;gBAC1B,OAAO,OAAO,CAAC;aAClB;YAED,QAAQ,WAAW,CAAC,WAAW,EAAE,EAAE;gBAC/B,KAAK,kBAAkB;oBAEnB,QAAQ,OAAO,OAAO,CAAC,IAAI,EAAE;wBACzB,KAAK,QAAQ;4BACT,OAAO,OAAO,CAAC;wBAEnB,KAAK,QAAQ;4BACT,IAAI;gCACA,IAAG,OAAO,CAAC,IAAI,EAAE;oCACb,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iCAC3C;6BACJ;4BACD,OAAO,CAAC,EAAE;gCACN,MAAM,YAAY,GAAG,iGAAiG,CAAC;gCACvH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gCAEpC,MAAM,IAAI,iCAAoB,CAAC,YAAY,CAAC,CAAC;6BAChD;4BACD,MAAM;wBAEV;4BACI,MAAM,YAAY,GAAG,iGAAiG,CAAC;4BACvH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;4BAEpC,MAAM,IAAI,iCAAoB,CAAC,YAAY,CAAC,CAAC;qBACpD;aAGR;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;CAEJ,CAAA;AA/DY,+BAA+B;IAH3C,YAAG,CAAC,iCAAwB,CAAC,kBAAkB,CAAC;IAChD,qBAAY,CAAC,uCAAiB,CAAC;IAC/B,qBAAU,EAAE;IAEI,WAAA,iBAAM,CAAC,GAAG,GAAG,uCAAiB,GAAG,8BAA8B,CAAC,CAAA;IAChE,WAAA,iBAAM,CAAC,qBAAqB,CAAC,CAAA;;GAFjC,+BAA+B,CA+D3C;AA/DY,0EAA+B"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
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;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.RequestLoggingInterceptor = void 0;
|
|
25
|
-
const tsyringe_1 = require("tsyringe");
|
|
26
|
-
const common_1 = require("@pristine-ts/common");
|
|
27
|
-
const core_module_keyname_1 = require("../core.module.keyname");
|
|
28
|
-
let RequestLoggingInterceptor = class RequestLoggingInterceptor {
|
|
29
|
-
constructor(logHandler) {
|
|
30
|
-
this.logHandler = logHandler;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Intercepts an error in a response and logs the error.
|
|
34
|
-
* @param error
|
|
35
|
-
* @param request
|
|
36
|
-
* @param response
|
|
37
|
-
*/
|
|
38
|
-
interceptError(error, request, response) {
|
|
39
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
let extra = {
|
|
41
|
-
stack: error.stack,
|
|
42
|
-
name: error.name,
|
|
43
|
-
};
|
|
44
|
-
if (error instanceof common_1.LoggableError) {
|
|
45
|
-
extra = Object.assign(Object.assign({}, error.extra), extra);
|
|
46
|
-
}
|
|
47
|
-
this.logHandler.error(error.message, extra, core_module_keyname_1.CoreModuleKeyname);
|
|
48
|
-
return response;
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Intercepts a request and logs it.
|
|
53
|
-
* @param request
|
|
54
|
-
*/
|
|
55
|
-
interceptRequest(request) {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
this.logHandler.info(request.url, { request }, core_module_keyname_1.CoreModuleKeyname);
|
|
58
|
-
return request;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Intercepts a response and logs it.
|
|
63
|
-
* @param response
|
|
64
|
-
* @param request
|
|
65
|
-
*/
|
|
66
|
-
interceptResponse(response, request) {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
this.logHandler.info(request.url, { response }, core_module_keyname_1.CoreModuleKeyname);
|
|
69
|
-
return response;
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
RequestLoggingInterceptor = __decorate([
|
|
74
|
-
tsyringe_1.injectable(),
|
|
75
|
-
common_1.moduleScoped(core_module_keyname_1.CoreModuleKeyname),
|
|
76
|
-
common_1.tag(common_1.ServiceDefinitionTagEnum.RequestInterceptor),
|
|
77
|
-
common_1.tag(common_1.ServiceDefinitionTagEnum.ResponseInterceptor),
|
|
78
|
-
common_1.tag(common_1.ServiceDefinitionTagEnum.ErrorResponseInterceptor),
|
|
79
|
-
__param(0, tsyringe_1.inject("LogHandlerInterface")),
|
|
80
|
-
__metadata("design:paramtypes", [Object])
|
|
81
|
-
], RequestLoggingInterceptor);
|
|
82
|
-
exports.RequestLoggingInterceptor = RequestLoggingInterceptor;
|
|
83
|
-
//# sourceMappingURL=request-logging.interceptor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-logging.interceptor.js","sourceRoot":"","sources":["../../../../src/interceptors/request-logging.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,uCAA4C;AAC5C,gDAA+F;AAC/F,gEAAyD;AASzD,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAClC,YAA4D,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAC3F,CAAC;IAED;;;;;OAKG;IACG,cAAc,CAAC,KAAY,EAAE,OAAgB,EAAE,QAAkB;;YACnE,IAAI,KAAK,GAAG;gBACR,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;aACnB,CAAC;YAEF,IAAG,KAAK,YAAY,sBAAa,EAAE;gBAC/B,KAAK,mCACE,KAAK,CAAC,KAAK,GACX,KAAK,CACX,CAAC;aACL;YAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,uCAAiB,CAAC,CAAC;YAE/D,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAED;;;OAGG;IACG,gBAAgB,CAAC,OAAgB;;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAC,OAAO,EAAC,EAAE,uCAAiB,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAED;;;;OAIG;IACG,iBAAiB,CAAC,QAAkB,EAAE,OAAgB;;YACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAC,QAAQ,EAAC,EAAE,uCAAiB,CAAC,CAAC;YACjE,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;CAEJ,CAAA;AA/CY,yBAAyB;IALrC,qBAAU,EAAE;IACZ,qBAAY,CAAC,uCAAiB,CAAC;IAC/B,YAAG,CAAC,iCAAwB,CAAC,kBAAkB,CAAC;IAChD,YAAG,CAAC,iCAAwB,CAAC,mBAAmB,CAAC;IACjD,YAAG,CAAC,iCAAwB,CAAC,wBAAwB,CAAC;IAEtC,WAAA,iBAAM,CAAC,qBAAqB,CAAC,CAAA;;GADjC,yBAAyB,CA+CrC;AA/CY,8DAAyB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-response-interceptor.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/error-response-interceptor.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-interceptor.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/request-interceptor.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response-interceptor.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/response-interceptor.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { LoggableError } from "@pristine-ts/common";
|
|
2
|
-
/**
|
|
3
|
-
* This Error is thrown when there's an error that happens while handling a request.
|
|
4
|
-
*/
|
|
5
|
-
export class RequestHandlingError extends LoggableError {
|
|
6
|
-
constructor(message, request, kernel) {
|
|
7
|
-
super(message, {
|
|
8
|
-
request,
|
|
9
|
-
kernel,
|
|
10
|
-
});
|
|
11
|
-
// Set the prototype explicitly.
|
|
12
|
-
// As specified in the documentation in TypeScript
|
|
13
|
-
// https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
14
|
-
Object.setPrototypeOf(this, RequestHandlingError.prototype);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=request-handling.error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-handling.error.js","sourceRoot":"","sources":["../../../../src/errors/request-handling.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AAGpE;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IAEnD,YAAmB,OAAe,EAAE,OAAyB,EAAE,MAAc;QACzE,KAAK,CAAC,OAAO,EAAE;YACX,OAAO;YACP,MAAM;SACT,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAAI,CAAC;CACxE"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { LoggableError } from "@pristine-ts/common";
|
|
2
|
-
/**
|
|
3
|
-
* This Error is thrown when there's an error in the execution of a request interceptor.
|
|
4
|
-
*/
|
|
5
|
-
export class RequestInterceptionExecutionError extends LoggableError {
|
|
6
|
-
constructor(message, request, kernel, error) {
|
|
7
|
-
super(message, {
|
|
8
|
-
error,
|
|
9
|
-
request,
|
|
10
|
-
kernel,
|
|
11
|
-
});
|
|
12
|
-
// Set the prototype explicitly.
|
|
13
|
-
// As specified in the documentation in TypeScript
|
|
14
|
-
// https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
15
|
-
Object.setPrototypeOf(this, RequestInterceptionExecutionError.prototype);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=request-interception-execution.error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-interception-execution.error.js","sourceRoot":"","sources":["../../../../src/errors/request-interception-execution.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AAGpE;;GAEG;AACH,MAAM,OAAO,iCAAkC,SAAQ,aAAa;IAEhE,YAAmB,OAAe,EAAE,OAAyB,EAAE,MAAc,EAAE,KAAa;QACxF,KAAK,CAAC,OAAO,EAAE;YACX,KAAK;YACL,OAAO;YACP,MAAM;SACT,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAAI,CAAC;CACrF"}
|