@nmshd/typescript-rest 3.0.5
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/.ci/runChecks.sh +7 -0
- package/.eslintrc.js +226 -0
- package/.github/dependabot.yml +27 -0
- package/.github/workflows/publish.yml +33 -0
- package/.github/workflows/test.yml +31 -0
- package/.prettierrc +27 -0
- package/.vscode/settings.json +31 -0
- package/LICENSE +22 -0
- package/README.md +128 -0
- package/dist/decorators/methods.d.ts +165 -0
- package/dist/decorators/methods.js +263 -0
- package/dist/decorators/methods.js.map +1 -0
- package/dist/decorators/parameters.d.ts +295 -0
- package/dist/decorators/parameters.js +423 -0
- package/dist/decorators/parameters.js.map +1 -0
- package/dist/decorators/services.d.ts +199 -0
- package/dist/decorators/services.js +367 -0
- package/dist/decorators/services.js.map +1 -0
- package/dist/server/config.d.ts +4 -0
- package/dist/server/config.js +43 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/model/errors.d.ts +111 -0
- package/dist/server/model/errors.js +178 -0
- package/dist/server/model/errors.js.map +1 -0
- package/dist/server/model/metadata.d.ts +91 -0
- package/dist/server/model/metadata.js +80 -0
- package/dist/server/model/metadata.js.map +1 -0
- package/dist/server/model/return-types.d.ts +86 -0
- package/dist/server/model/return-types.js +110 -0
- package/dist/server/model/return-types.js.map +1 -0
- package/dist/server/model/server-types.d.ts +118 -0
- package/dist/server/model/server-types.js +47 -0
- package/dist/server/model/server-types.js.map +1 -0
- package/dist/server/parameter-processor.d.ts +13 -0
- package/dist/server/parameter-processor.js +84 -0
- package/dist/server/parameter-processor.js.map +1 -0
- package/dist/server/server-container.d.ts +55 -0
- package/dist/server/server-container.js +432 -0
- package/dist/server/server-container.js.map +1 -0
- package/dist/server/server.d.ts +136 -0
- package/dist/server/server.js +278 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/service-invoker.d.ts +28 -0
- package/dist/server/service-invoker.js +270 -0
- package/dist/server/service-invoker.js.map +1 -0
- package/dist/typescript-rest.d.ts +9 -0
- package/dist/typescript-rest.js +31 -0
- package/dist/typescript-rest.js.map +1 -0
- package/package.json +113 -0
- package/src/decorators/methods.ts +279 -0
- package/src/decorators/parameters.ts +442 -0
- package/src/decorators/services.ts +390 -0
- package/src/server/config.ts +40 -0
- package/src/server/model/errors.ts +178 -0
- package/src/server/model/metadata.ts +118 -0
- package/src/server/model/return-types.ts +109 -0
- package/src/server/model/server-types.ts +130 -0
- package/src/server/parameter-processor.ts +105 -0
- package/src/server/server-container.ts +504 -0
- package/src/server/server.ts +340 -0
- package/src/server/service-invoker.ts +266 -0
- package/src/typescript-rest.ts +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-container.js","sourceRoot":"","sources":["../../src/server/server-container.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import * as express from 'express';
|
|
2
|
+
import 'multer';
|
|
3
|
+
import { FileLimits, HttpMethod, ParameterConverter, ServiceAuthenticator, ServiceFactory } from './model/server-types';
|
|
4
|
+
/**
|
|
5
|
+
* The Http server main class.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Server {
|
|
8
|
+
/**
|
|
9
|
+
* Create the routes for all classes decorated with our decorators
|
|
10
|
+
*/
|
|
11
|
+
static buildServices(router: express.Router, ...types: Array<any>): void;
|
|
12
|
+
/**
|
|
13
|
+
* An alias for Server.loadServices()
|
|
14
|
+
*/
|
|
15
|
+
static loadControllers(router: express.Router, patterns: string | Array<string>, baseDir?: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* Load all services from the files that matches the patterns provided
|
|
18
|
+
*/
|
|
19
|
+
static loadServices(router: express.Router, patterns: string | Array<string>, baseDir?: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Makes the server immutable. Any configuration change request to the Server
|
|
22
|
+
* is ignored when immutable is true
|
|
23
|
+
* @param value true to make immutable
|
|
24
|
+
*/
|
|
25
|
+
static immutable(value: boolean): void;
|
|
26
|
+
/**
|
|
27
|
+
* Return true if the server is immutable. Any configuration change request to the Server
|
|
28
|
+
* is ignored when immutable is true
|
|
29
|
+
*/
|
|
30
|
+
static isImmutable(): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Retrieve the express router that serves the rest endpoints
|
|
33
|
+
*/
|
|
34
|
+
static server(): express.Router;
|
|
35
|
+
/**
|
|
36
|
+
* Return all paths accepted by the Server
|
|
37
|
+
*/
|
|
38
|
+
static getPaths(): Array<string>;
|
|
39
|
+
/**
|
|
40
|
+
* Register a custom serviceFactory. It will be used to instantiate the service Objects
|
|
41
|
+
* If You plan to use a custom serviceFactory, You must ensure to call this method before any typescript-rest service declaration.
|
|
42
|
+
*/
|
|
43
|
+
static registerServiceFactory(serviceFactory: ServiceFactory | string): void;
|
|
44
|
+
/**
|
|
45
|
+
* Register a service authenticator. It will be used to authenticate users before the service method
|
|
46
|
+
* invocations occurs.
|
|
47
|
+
*/
|
|
48
|
+
static registerAuthenticator(authenticator: ServiceAuthenticator, name?: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* Return the set oh HTTP verbs configured for the given path
|
|
51
|
+
* @param servicePath The path to search HTTP verbs
|
|
52
|
+
*/
|
|
53
|
+
static getHttpMethods(servicePath: string): Array<HttpMethod>;
|
|
54
|
+
/**
|
|
55
|
+
* A string used for signing cookies. This is optional and if not specified,
|
|
56
|
+
* will not parse signed cookies.
|
|
57
|
+
* @param secret the secret used to sign
|
|
58
|
+
*/
|
|
59
|
+
static setCookiesSecret(secret: string): void;
|
|
60
|
+
/**
|
|
61
|
+
* Specifies a function that will be used to decode a cookie's value.
|
|
62
|
+
* This function can be used to decode a previously-encoded cookie value
|
|
63
|
+
* into a JavaScript string.
|
|
64
|
+
* The default function is the global decodeURIComponent, which will decode
|
|
65
|
+
* any URL-encoded sequences into their byte representations.
|
|
66
|
+
*
|
|
67
|
+
* NOTE: if an error is thrown from this function, the original, non-decoded
|
|
68
|
+
* cookie value will be returned as the cookie's value.
|
|
69
|
+
* @param decoder The decoder function
|
|
70
|
+
*/
|
|
71
|
+
static setCookiesDecoder(decoder: (val: string) => string): void;
|
|
72
|
+
/**
|
|
73
|
+
* Set where to store the uploaded files
|
|
74
|
+
* @param dest Destination folder
|
|
75
|
+
*/
|
|
76
|
+
static setFileDest(dest: string): void;
|
|
77
|
+
/**
|
|
78
|
+
* Set a Function to control which files are accepted to upload
|
|
79
|
+
* @param filter The filter function
|
|
80
|
+
*/
|
|
81
|
+
static setFileFilter(filter: (req: Express.Request, file: Express.Multer.File, callback: (error: Error, acceptFile: boolean) => void) => void): void;
|
|
82
|
+
/**
|
|
83
|
+
* Set the limits of uploaded data
|
|
84
|
+
* @param limit The data limit
|
|
85
|
+
*/
|
|
86
|
+
static setFileLimits(limit: FileLimits): void;
|
|
87
|
+
/**
|
|
88
|
+
* Adds a converter for param values to have an ability to intercept the type that actually will be passed to service
|
|
89
|
+
* @param converter The converter
|
|
90
|
+
* @param type The target type that needs to be converted
|
|
91
|
+
*/
|
|
92
|
+
static addParameterConverter(converter: ParameterConverter, type: Function): void;
|
|
93
|
+
/**
|
|
94
|
+
* Remove the converter associated with the given type.
|
|
95
|
+
* @param type The target type that needs to be converted
|
|
96
|
+
*/
|
|
97
|
+
static removeParameterConverter(type: Function): void;
|
|
98
|
+
/**
|
|
99
|
+
* Makes the server ignore next middlewares for all endpoints.
|
|
100
|
+
* It has the same effect than add @IgnoreNextMiddlewares to all
|
|
101
|
+
* services.
|
|
102
|
+
* @param value - true to ignore next middlewares.
|
|
103
|
+
*/
|
|
104
|
+
static ignoreNextMiddlewares(value: boolean): void;
|
|
105
|
+
/**
|
|
106
|
+
* Creates and endpoint to publish the swagger documentation.
|
|
107
|
+
* @param router Express router
|
|
108
|
+
* @param options Options for swagger endpoint
|
|
109
|
+
*/
|
|
110
|
+
static swagger(router: express.Router, options?: SwaggerOptions): void;
|
|
111
|
+
private static locked;
|
|
112
|
+
private static loadSwaggerDocument;
|
|
113
|
+
private static getOptions;
|
|
114
|
+
}
|
|
115
|
+
export interface SwaggerOptions {
|
|
116
|
+
/**
|
|
117
|
+
* The path to a swagger file (json or yaml)
|
|
118
|
+
*/
|
|
119
|
+
filePath?: string;
|
|
120
|
+
/**
|
|
121
|
+
* Where to publish the docs
|
|
122
|
+
*/
|
|
123
|
+
endpoint?: string;
|
|
124
|
+
/**
|
|
125
|
+
* The hostname of the service
|
|
126
|
+
*/
|
|
127
|
+
host?: string;
|
|
128
|
+
/**
|
|
129
|
+
* The schemes used by the server
|
|
130
|
+
*/
|
|
131
|
+
schemes?: Array<string>;
|
|
132
|
+
/**
|
|
133
|
+
* Options to send to swagger-ui
|
|
134
|
+
*/
|
|
135
|
+
swaggerUiOptions?: object;
|
|
136
|
+
}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Server = void 0;
|
|
4
|
+
const debug = require("debug");
|
|
5
|
+
const fs = require("fs-extra");
|
|
6
|
+
const _ = require("lodash");
|
|
7
|
+
require("multer");
|
|
8
|
+
const path = require("path");
|
|
9
|
+
const YAML = require("yamljs");
|
|
10
|
+
const server_container_1 = require("./server-container");
|
|
11
|
+
const serverDebugger = debug('typescript-rest:server:build');
|
|
12
|
+
/**
|
|
13
|
+
* The Http server main class.
|
|
14
|
+
*/
|
|
15
|
+
class Server {
|
|
16
|
+
/**
|
|
17
|
+
* Create the routes for all classes decorated with our decorators
|
|
18
|
+
*/
|
|
19
|
+
static buildServices(router, ...types) {
|
|
20
|
+
if (!Server.locked) {
|
|
21
|
+
serverDebugger('Creating typescript-rest services handlers');
|
|
22
|
+
const serverContainer = server_container_1.ServerContainer.get();
|
|
23
|
+
serverContainer.router = router;
|
|
24
|
+
serverContainer.buildServices(types);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* An alias for Server.loadServices()
|
|
29
|
+
*/
|
|
30
|
+
static loadControllers(router, patterns, baseDir) {
|
|
31
|
+
Server.loadServices(router, patterns, baseDir);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Load all services from the files that matches the patterns provided
|
|
35
|
+
*/
|
|
36
|
+
static loadServices(router, patterns, baseDir) {
|
|
37
|
+
if (!Server.locked) {
|
|
38
|
+
serverDebugger('Loading typescript-rest services %j. BaseDir: %s', patterns, baseDir);
|
|
39
|
+
const importedTypes = [];
|
|
40
|
+
const requireGlob = require('require-glob');
|
|
41
|
+
baseDir = baseDir || process.cwd();
|
|
42
|
+
const loadedModules = requireGlob.sync(patterns, {
|
|
43
|
+
cwd: baseDir
|
|
44
|
+
});
|
|
45
|
+
_.values(loadedModules).forEach((serviceModule) => {
|
|
46
|
+
_.values(serviceModule)
|
|
47
|
+
.filter((service) => typeof service === 'function')
|
|
48
|
+
.forEach((service) => {
|
|
49
|
+
importedTypes.push(service);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
try {
|
|
53
|
+
Server.buildServices(router, ...importedTypes);
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
serverDebugger('Error loading services for pattern: %j. Error: %o', patterns, e);
|
|
57
|
+
serverDebugger('ImportedTypes: %o', importedTypes);
|
|
58
|
+
throw new TypeError(`Error loading services for pattern: ${JSON.stringify(patterns)}. Error: ${e.message}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Makes the server immutable. Any configuration change request to the Server
|
|
64
|
+
* is ignored when immutable is true
|
|
65
|
+
* @param value true to make immutable
|
|
66
|
+
*/
|
|
67
|
+
static immutable(value) {
|
|
68
|
+
Server.locked = value;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Return true if the server is immutable. Any configuration change request to the Server
|
|
72
|
+
* is ignored when immutable is true
|
|
73
|
+
*/
|
|
74
|
+
static isImmutable() {
|
|
75
|
+
return Server.locked;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Retrieve the express router that serves the rest endpoints
|
|
79
|
+
*/
|
|
80
|
+
static server() {
|
|
81
|
+
return server_container_1.ServerContainer.get().router;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Return all paths accepted by the Server
|
|
85
|
+
*/
|
|
86
|
+
static getPaths() {
|
|
87
|
+
const result = new Array();
|
|
88
|
+
server_container_1.ServerContainer.get()
|
|
89
|
+
.getPaths()
|
|
90
|
+
.forEach((value) => {
|
|
91
|
+
result.push(value);
|
|
92
|
+
});
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Register a custom serviceFactory. It will be used to instantiate the service Objects
|
|
97
|
+
* If You plan to use a custom serviceFactory, You must ensure to call this method before any typescript-rest service declaration.
|
|
98
|
+
*/
|
|
99
|
+
static registerServiceFactory(serviceFactory) {
|
|
100
|
+
if (!Server.locked) {
|
|
101
|
+
let factory;
|
|
102
|
+
if (typeof serviceFactory === 'string') {
|
|
103
|
+
const mod = require(serviceFactory);
|
|
104
|
+
factory = mod.default ? mod.default : mod;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
factory = serviceFactory;
|
|
108
|
+
}
|
|
109
|
+
serverDebugger('Registering a new serviceFactory');
|
|
110
|
+
server_container_1.ServerContainer.get().serviceFactory = factory;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Register a service authenticator. It will be used to authenticate users before the service method
|
|
115
|
+
* invocations occurs.
|
|
116
|
+
*/
|
|
117
|
+
static registerAuthenticator(authenticator, name = 'default') {
|
|
118
|
+
if (!Server.locked) {
|
|
119
|
+
serverDebugger('Registering a new authenticator with name %s', name);
|
|
120
|
+
server_container_1.ServerContainer.get().authenticator.set(name, authenticator);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Return the set oh HTTP verbs configured for the given path
|
|
125
|
+
* @param servicePath The path to search HTTP verbs
|
|
126
|
+
*/
|
|
127
|
+
static getHttpMethods(servicePath) {
|
|
128
|
+
const result = new Array();
|
|
129
|
+
server_container_1.ServerContainer.get()
|
|
130
|
+
.getHttpMethods(servicePath)
|
|
131
|
+
.forEach((value) => {
|
|
132
|
+
result.push(value);
|
|
133
|
+
});
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* A string used for signing cookies. This is optional and if not specified,
|
|
138
|
+
* will not parse signed cookies.
|
|
139
|
+
* @param secret the secret used to sign
|
|
140
|
+
*/
|
|
141
|
+
static setCookiesSecret(secret) {
|
|
142
|
+
if (!Server.locked) {
|
|
143
|
+
serverDebugger('Setting a new secret for cookies: %s', secret);
|
|
144
|
+
server_container_1.ServerContainer.get().cookiesSecret = secret;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Specifies a function that will be used to decode a cookie's value.
|
|
149
|
+
* This function can be used to decode a previously-encoded cookie value
|
|
150
|
+
* into a JavaScript string.
|
|
151
|
+
* The default function is the global decodeURIComponent, which will decode
|
|
152
|
+
* any URL-encoded sequences into their byte representations.
|
|
153
|
+
*
|
|
154
|
+
* NOTE: if an error is thrown from this function, the original, non-decoded
|
|
155
|
+
* cookie value will be returned as the cookie's value.
|
|
156
|
+
* @param decoder The decoder function
|
|
157
|
+
*/
|
|
158
|
+
static setCookiesDecoder(decoder) {
|
|
159
|
+
if (!Server.locked) {
|
|
160
|
+
serverDebugger('Setting a new secret decoder');
|
|
161
|
+
server_container_1.ServerContainer.get().cookiesDecoder = decoder;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Set where to store the uploaded files
|
|
166
|
+
* @param dest Destination folder
|
|
167
|
+
*/
|
|
168
|
+
static setFileDest(dest) {
|
|
169
|
+
if (!Server.locked) {
|
|
170
|
+
serverDebugger('Setting a new destination for files: %s', dest);
|
|
171
|
+
server_container_1.ServerContainer.get().fileDest = dest;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Set a Function to control which files are accepted to upload
|
|
176
|
+
* @param filter The filter function
|
|
177
|
+
*/
|
|
178
|
+
static setFileFilter(filter) {
|
|
179
|
+
if (!Server.locked) {
|
|
180
|
+
serverDebugger('Setting a new filter for files');
|
|
181
|
+
server_container_1.ServerContainer.get().fileFilter = filter;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Set the limits of uploaded data
|
|
186
|
+
* @param limit The data limit
|
|
187
|
+
*/
|
|
188
|
+
static setFileLimits(limit) {
|
|
189
|
+
if (!Server.locked) {
|
|
190
|
+
serverDebugger('Setting a new fileLimits: %j', limit);
|
|
191
|
+
server_container_1.ServerContainer.get().fileLimits = limit;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Adds a converter for param values to have an ability to intercept the type that actually will be passed to service
|
|
196
|
+
* @param converter The converter
|
|
197
|
+
* @param type The target type that needs to be converted
|
|
198
|
+
*/
|
|
199
|
+
static addParameterConverter(converter, type) {
|
|
200
|
+
if (!Server.locked) {
|
|
201
|
+
serverDebugger('Adding a new parameter converter');
|
|
202
|
+
server_container_1.ServerContainer.get().paramConverters.set(type, converter);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Remove the converter associated with the given type.
|
|
207
|
+
* @param type The target type that needs to be converted
|
|
208
|
+
*/
|
|
209
|
+
static removeParameterConverter(type) {
|
|
210
|
+
if (!Server.locked) {
|
|
211
|
+
serverDebugger('Removing a parameter converter');
|
|
212
|
+
server_container_1.ServerContainer.get().paramConverters.delete(type);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Makes the server ignore next middlewares for all endpoints.
|
|
217
|
+
* It has the same effect than add @IgnoreNextMiddlewares to all
|
|
218
|
+
* services.
|
|
219
|
+
* @param value - true to ignore next middlewares.
|
|
220
|
+
*/
|
|
221
|
+
static ignoreNextMiddlewares(value) {
|
|
222
|
+
if (!Server.locked) {
|
|
223
|
+
serverDebugger('Ignoring next middlewares: %b', value);
|
|
224
|
+
server_container_1.ServerContainer.get().ignoreNextMiddlewares = value;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Creates and endpoint to publish the swagger documentation.
|
|
229
|
+
* @param router Express router
|
|
230
|
+
* @param options Options for swagger endpoint
|
|
231
|
+
*/
|
|
232
|
+
static swagger(router, options) {
|
|
233
|
+
if (!Server.locked) {
|
|
234
|
+
const swaggerUi = require('swagger-ui-express');
|
|
235
|
+
options = Server.getOptions(options);
|
|
236
|
+
serverDebugger('Configuring open api documentation endpoints for options: %j', options);
|
|
237
|
+
const swaggerDocument = Server.loadSwaggerDocument(options);
|
|
238
|
+
if (options.host) {
|
|
239
|
+
swaggerDocument.host = options.host;
|
|
240
|
+
}
|
|
241
|
+
if (options.schemes) {
|
|
242
|
+
swaggerDocument.schemes = options.schemes;
|
|
243
|
+
}
|
|
244
|
+
router.get(path.posix.join('/', options.endpoint, 'json'), (req, res) => {
|
|
245
|
+
res.send(swaggerDocument);
|
|
246
|
+
});
|
|
247
|
+
router.get(path.posix.join('/', options.endpoint, 'yaml'), (req, res) => {
|
|
248
|
+
res.set('Content-Type', 'text/vnd.yaml');
|
|
249
|
+
res.send(YAML.stringify(swaggerDocument, 1000));
|
|
250
|
+
});
|
|
251
|
+
router.use(path.posix.join('/', options.endpoint), swaggerUi.serve, swaggerUi.setup(swaggerDocument, options.swaggerUiOptions));
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
static loadSwaggerDocument(options) {
|
|
255
|
+
let swaggerDocument;
|
|
256
|
+
if (_.endsWith(options.filePath, '.yml') || _.endsWith(options.filePath, '.yaml')) {
|
|
257
|
+
swaggerDocument = YAML.load(options.filePath);
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
swaggerDocument = fs.readJSONSync(options.filePath);
|
|
261
|
+
}
|
|
262
|
+
serverDebugger('Loaded swagger configurations: %j', swaggerDocument);
|
|
263
|
+
return swaggerDocument;
|
|
264
|
+
}
|
|
265
|
+
static getOptions(options) {
|
|
266
|
+
options = _.defaults(options, {
|
|
267
|
+
endpoint: 'api-docs',
|
|
268
|
+
filePath: './swagger.json'
|
|
269
|
+
});
|
|
270
|
+
if (_.startsWith(options.filePath, '.')) {
|
|
271
|
+
options.filePath = path.join(process.cwd(), options.filePath);
|
|
272
|
+
}
|
|
273
|
+
return options;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
exports.Server = Server;
|
|
277
|
+
Server.locked = false;
|
|
278
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ServiceClass, ServiceMethod } from './model/metadata';
|
|
2
|
+
import { ServiceContext } from './model/server-types';
|
|
3
|
+
export declare class ServiceInvoker {
|
|
4
|
+
private serviceClass;
|
|
5
|
+
private serviceMethod;
|
|
6
|
+
private preProcessors;
|
|
7
|
+
private postProcessors;
|
|
8
|
+
private debugger;
|
|
9
|
+
constructor(serviceClass: ServiceClass, serviceMethod: ServiceMethod);
|
|
10
|
+
callService(context: ServiceContext): Promise<void>;
|
|
11
|
+
private mustCallNext;
|
|
12
|
+
private runPreProcessors;
|
|
13
|
+
private runPostProcessors;
|
|
14
|
+
private callTargetEndPoint;
|
|
15
|
+
private getMethodToCall;
|
|
16
|
+
private checkAcceptance;
|
|
17
|
+
private identifyAcceptedLanguage;
|
|
18
|
+
private identifyAcceptedType;
|
|
19
|
+
private createService;
|
|
20
|
+
private buildArgumentsList;
|
|
21
|
+
private processParameter;
|
|
22
|
+
private processResponseHeaders;
|
|
23
|
+
private sendValue;
|
|
24
|
+
private sendComplexValue;
|
|
25
|
+
private sendReferencedResource;
|
|
26
|
+
private sendFile;
|
|
27
|
+
private downloadResToPromise;
|
|
28
|
+
}
|