libmodulor 0.11.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +1 -7
  3. package/dist/esm/apps/Helper/src/lib/project.js +7 -7
  4. package/dist/esm/index.d.ts +1 -0
  5. package/dist/esm/index.js +1 -0
  6. package/dist/esm/index.nextjs.d.ts +3 -0
  7. package/dist/esm/index.nextjs.js +3 -0
  8. package/dist/esm/index.node-hono.d.ts +2 -0
  9. package/dist/esm/index.node-hono.js +2 -0
  10. package/dist/esm/products/Helper/index.js +1 -1
  11. package/dist/esm/std/FSManager.d.ts +1 -1
  12. package/dist/esm/std/impl/FakeFSManager.d.ts +3 -3
  13. package/dist/esm/std/impl/NodeFSManager.d.ts +1 -1
  14. package/dist/esm/std/impl/NodeFSManager.js +2 -2
  15. package/dist/esm/std/impl/WebFSManager.d.ts +1 -1
  16. package/dist/esm/target/lib/react/DIContextProvider.js +1 -1
  17. package/dist/esm/target/lib/react/UCContainer.js +1 -1
  18. package/dist/esm/target/lib/server/AuthCookieCreator.d.ts +28 -0
  19. package/dist/esm/target/lib/server/AuthCookieCreator.js +56 -0
  20. package/dist/esm/target/lib/server/AuthenticationChecker.d.ts +2 -2
  21. package/dist/esm/target/lib/server/CustomerFacingErrorBuilder.js +4 -3
  22. package/dist/esm/target/lib/server/ServerBooter.d.ts +5 -3
  23. package/dist/esm/target/lib/server/ServerBooter.js +29 -22
  24. package/dist/esm/target/lib/server/ServerRequestHandler.d.ts +71 -0
  25. package/dist/esm/target/lib/server/ServerRequestHandler.js +202 -0
  26. package/dist/esm/target/lib/server/ServerSSLCertLoader.d.ts +18 -0
  27. package/dist/esm/target/lib/server/ServerSSLCertLoader.js +45 -0
  28. package/dist/esm/target/lib/server-node/stop.d.ts +2 -0
  29. package/dist/esm/target/lib/server-node/stop.js +18 -0
  30. package/dist/esm/target/lib/server-node/types.d.ts +3 -0
  31. package/dist/esm/target/lib/server-node/types.js +1 -0
  32. package/dist/esm/target/nextjs-server/NextJSAPIRouteHandler.d.ts +23 -0
  33. package/dist/esm/target/nextjs-server/NextJSAPIRouteHandler.js +82 -0
  34. package/dist/esm/target/nextjs-server/NextJSServerManager.d.ts +13 -0
  35. package/dist/esm/target/nextjs-server/NextJSServerManager.js +34 -0
  36. package/dist/esm/target/node-express-server/NodeExpressServerManager.d.ts +10 -16
  37. package/dist/esm/target/node-express-server/NodeExpressServerManager.js +94 -81
  38. package/dist/esm/target/node-express-server/middlewares/RequestHandlerMiddlewareBuilder.js +2 -1
  39. package/dist/esm/target/node-hono-server/NodeHonoServerManager.d.ts +35 -0
  40. package/dist/esm/target/node-hono-server/NodeHonoServerManager.js +169 -0
  41. package/dist/esm/testing/AppTester.js +2 -2
  42. package/dist/esm/testing/impl/newNodeAppTester.js +1 -1
  43. package/dist/esm/uc/impl/SimpleUCManager.d.ts +2 -2
  44. package/dist/esm/uc/utils/ucHTTPContract.js +1 -1
  45. package/dist/esm/uc/workers/UCExecChecker.d.ts +2 -2
  46. package/dist/esm/uc/workers/UCInputFilesProcessor.js +9 -6
  47. package/dist/esm/utils/http/HTTPRequestBuilder.js +3 -3
  48. package/dist/esm/utils/http/form-data.d.ts +4 -0
  49. package/dist/esm/utils/http/form-data.js +20 -0
  50. package/dist/esm/utils/http/json.d.ts +3 -0
  51. package/dist/esm/utils/http/json.js +3 -0
  52. package/dist/esm/utils/http/query-params.d.ts +3 -0
  53. package/dist/esm/utils/http/query-params.js +20 -0
  54. package/dist/esm/utils/index.d.ts +3 -0
  55. package/dist/esm/utils/index.js +3 -0
  56. package/dist/esm/utils/ioc/bindNodeCLI.js +1 -1
  57. package/dist/esm/utils/ioc/bindNodeCore.js +1 -1
  58. package/dist/esm/utils/ioc/bindProduct.js +2 -2
  59. package/dist/esm/utils/ioc/bindProvider.js +1 -1
  60. package/dist/esm/utils/ioc/bindWeb.js +1 -1
  61. package/dist/esm/utils/ioc/container.d.ts +2 -2
  62. package/dist/esm/utils/ioc/container.js +2 -3
  63. package/dist/esm/utils/ioc/types.d.ts +2 -2
  64. package/package.json +21 -11
@@ -0,0 +1,202 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var ServerRequestHandler_1;
14
+ import { inject, injectable } from 'inversify';
15
+ import { UCBuilder, UCOutputReader, UCOutputSideEffectType, } from '../../../uc/index.js';
16
+ import { AuthCookieCreator, } from './AuthCookieCreator.js';
17
+ import { AuthenticationChecker } from './AuthenticationChecker.js';
18
+ import { CustomerFacingErrorBuilder } from './CustomerFacingErrorBuilder.js';
19
+ import { PublicApiKeyChecker } from './PublicApiKeyChecker.js';
20
+ import { RequestChecker } from './RequestChecker.js';
21
+ import { RequestLogger } from './RequestLogger.js';
22
+ let ServerRequestHandler = class ServerRequestHandler {
23
+ static { ServerRequestHandler_1 = this; }
24
+ authCookieCreator;
25
+ authenticationChecker;
26
+ customerFacingErrorBuilder;
27
+ publicApiKeyChecker;
28
+ requestChecker;
29
+ requestLogger;
30
+ settingsManager;
31
+ ucBuilder;
32
+ static AUTHORIZATION_HEADER_NAME = 'Authorization';
33
+ static X_FORWARDED_PROTO_HEADER_NAME = 'X-Forwarded-Proto';
34
+ constructor(authCookieCreator, authenticationChecker, customerFacingErrorBuilder, publicApiKeyChecker, requestChecker, requestLogger, settingsManager, ucBuilder) {
35
+ this.authCookieCreator = authCookieCreator;
36
+ this.authenticationChecker = authenticationChecker;
37
+ this.customerFacingErrorBuilder = customerFacingErrorBuilder;
38
+ this.publicApiKeyChecker = publicApiKeyChecker;
39
+ this.requestChecker = requestChecker;
40
+ this.requestLogger = requestLogger;
41
+ this.settingsManager = settingsManager;
42
+ this.ucBuilder = ucBuilder;
43
+ }
44
+ s() {
45
+ return {
46
+ server_cookies_name_auth: this.settingsManager.get()('server_cookies_name_auth'),
47
+ server_public_api_key_header_name: this.settingsManager.get()('server_public_api_key_header_name'),
48
+ };
49
+ }
50
+ async exec({ appManifest, envelope, req, res, ucd, ucManager, }) {
51
+ try {
52
+ const { bodyRaw, cookie, header, method, secure, url } = req;
53
+ this.requestLogger.exec({
54
+ body: bodyRaw,
55
+ method,
56
+ url,
57
+ });
58
+ this.requestChecker.exec({
59
+ secure,
60
+ url,
61
+ xForwardedProtoHeader: await header(ServerRequestHandler_1.X_FORWARDED_PROTO_HEADER_NAME),
62
+ });
63
+ const { ext, sec } = ucd;
64
+ await this.publicApiKeyChecker.exec({
65
+ checkType: sec?.publicApiKeyCheckType,
66
+ value: await header(this.s().server_public_api_key_header_name),
67
+ });
68
+ const uc = this.ucBuilder.exec({
69
+ appManifest,
70
+ auth: null,
71
+ def: ucd,
72
+ });
73
+ const { auth } = await this.authenticationChecker.exec({
74
+ authCookie: await cookie(this.s().server_cookies_name_auth),
75
+ authorizationHeader: await header(ServerRequestHandler_1.AUTHORIZATION_HEADER_NAME),
76
+ uc,
77
+ });
78
+ if (auth) {
79
+ uc.auth = auth;
80
+ }
81
+ await this.fill(req, envelope, uc);
82
+ const output = await ucManager.execServer(uc);
83
+ const { status } = await this.applySideEffects(res, ucd, output);
84
+ if (status !== undefined) {
85
+ return {
86
+ body: undefined,
87
+ status,
88
+ };
89
+ }
90
+ if (!output) {
91
+ return {
92
+ body: undefined,
93
+ status: 204,
94
+ };
95
+ }
96
+ const transform = ext?.http?.transform;
97
+ return {
98
+ body: transform ? transform(output) : output,
99
+ status: 200,
100
+ };
101
+ }
102
+ catch (err) {
103
+ const { error } = this.customerFacingErrorBuilder.exec({
104
+ error: err,
105
+ });
106
+ return {
107
+ body: error.toObj(),
108
+ status: error.httpStatus,
109
+ };
110
+ }
111
+ }
112
+ async fill(req, envelope, uc) {
113
+ switch (envelope) {
114
+ case 'form-data': {
115
+ uc.fill((await req.bodyFromFormData()));
116
+ break;
117
+ }
118
+ case 'json':
119
+ try {
120
+ uc.fill((await req.bodyFromJSON()));
121
+ }
122
+ catch (err) {
123
+ // Ignore any JSON.parse error as everything is validated afterwards
124
+ }
125
+ break;
126
+ case 'query-params':
127
+ uc.fill((await req.bodyFromQueryParams()));
128
+ break;
129
+ default:
130
+ ((_) => { })(envelope);
131
+ }
132
+ }
133
+ async applySideEffects(res, ucd, output) {
134
+ const { io } = ucd;
135
+ const sideEffects = io.o?.sideEffects;
136
+ if (!sideEffects) {
137
+ return { status: undefined };
138
+ }
139
+ const ucor = new UCOutputReader(ucd, output ?? undefined);
140
+ let item;
141
+ if (ucor.canItem00()) {
142
+ item = ucor.item00().item;
143
+ }
144
+ for (const se of sideEffects) {
145
+ const { type } = se;
146
+ switch (type) {
147
+ case UCOutputSideEffectType.CLEAR_AUTH:
148
+ await this.applyClearAuthSideEffect(res);
149
+ break;
150
+ case UCOutputSideEffectType.REDIRECT:
151
+ await this.applyRedirectSideEffect(res, item);
152
+ return { status: 302 };
153
+ case UCOutputSideEffectType.SET_AUTH:
154
+ await this.applySetAuthSideEffect(res, item);
155
+ break;
156
+ default:
157
+ ((_) => { })(type);
158
+ }
159
+ }
160
+ return { status: undefined };
161
+ }
162
+ async applyClearAuthSideEffect(res) {
163
+ res.clearCookie(this.s().server_cookies_name_auth);
164
+ }
165
+ async applyRedirectSideEffect(res, item) {
166
+ if (!item ||
167
+ !('redirect' in item) ||
168
+ typeof item['redirect'] !== 'string') {
169
+ return;
170
+ }
171
+ const { redirect } = item;
172
+ res.redirect(redirect);
173
+ }
174
+ async applySetAuthSideEffect(res, item) {
175
+ if (!item || !('jwt' in item) || typeof item['jwt'] !== 'string') {
176
+ return;
177
+ }
178
+ const { jwt } = item;
179
+ const output = await this.authCookieCreator.exec({
180
+ jwt,
181
+ });
182
+ res.setCookie(output);
183
+ }
184
+ };
185
+ ServerRequestHandler = ServerRequestHandler_1 = __decorate([
186
+ injectable(),
187
+ __param(0, inject(AuthCookieCreator)),
188
+ __param(1, inject(AuthenticationChecker)),
189
+ __param(2, inject(CustomerFacingErrorBuilder)),
190
+ __param(3, inject(PublicApiKeyChecker)),
191
+ __param(4, inject(RequestChecker)),
192
+ __param(5, inject(RequestLogger)),
193
+ __param(6, inject('SettingsManager')),
194
+ __param(7, inject(UCBuilder)),
195
+ __metadata("design:paramtypes", [AuthCookieCreator,
196
+ AuthenticationChecker,
197
+ CustomerFacingErrorBuilder,
198
+ PublicApiKeyChecker,
199
+ RequestChecker,
200
+ RequestLogger, Object, UCBuilder])
201
+ ], ServerRequestHandler);
202
+ export { ServerRequestHandler };
@@ -0,0 +1,18 @@
1
+ import type { Configurable, FSManager, SettingsManager, Worker } from '../../../std/index.js';
2
+ import type { ServerManagerSettings } from './ServerManager.js';
3
+ type Input = undefined;
4
+ type Cert = string;
5
+ type Key = string;
6
+ interface Output {
7
+ cert: Cert;
8
+ key: Key;
9
+ }
10
+ type S = Pick<ServerManagerSettings, 'server_ssl_fullchain_path' | 'server_ssl_key_path'>;
11
+ export declare class ServerSSLCertLoader implements Configurable<S>, Worker<Input, Promise<Output>> {
12
+ private fsManager;
13
+ private settingsManager;
14
+ constructor(fsManager: FSManager, settingsManager: SettingsManager<S>);
15
+ s(): S;
16
+ exec(_input: Input): Promise<Output>;
17
+ }
18
+ export {};
@@ -0,0 +1,45 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'inversify';
14
+ let ServerSSLCertLoader = class ServerSSLCertLoader {
15
+ fsManager;
16
+ settingsManager;
17
+ constructor(fsManager, settingsManager) {
18
+ this.fsManager = fsManager;
19
+ this.settingsManager = settingsManager;
20
+ }
21
+ s() {
22
+ return {
23
+ server_ssl_fullchain_path: this.settingsManager.get()('server_ssl_fullchain_path'),
24
+ server_ssl_key_path: this.settingsManager.get()('server_ssl_key_path'),
25
+ };
26
+ }
27
+ async exec(_input) {
28
+ const fullchainPath = this.s().server_ssl_fullchain_path;
29
+ const keyPath = this.s().server_ssl_key_path;
30
+ if (!fullchainPath || !keyPath) {
31
+ throw new Error('You must provide server_ssl_fullchain_path and server_ssl_key_path to start on secure port 443');
32
+ }
33
+ return {
34
+ cert: await this.fsManager.cat(fullchainPath),
35
+ key: await this.fsManager.cat(keyPath),
36
+ };
37
+ }
38
+ };
39
+ ServerSSLCertLoader = __decorate([
40
+ injectable(),
41
+ __param(0, inject('FSManager')),
42
+ __param(1, inject('SettingsManager')),
43
+ __metadata("design:paramtypes", [Object, Object])
44
+ ], ServerSSLCertLoader);
45
+ export { ServerSSLCertLoader };
@@ -0,0 +1,2 @@
1
+ import type { Server } from './types.js';
2
+ export declare function stop(server: Server): Promise<void>;
@@ -0,0 +1,18 @@
1
+ export async function stop(server) {
2
+ if (!server?.listening) {
3
+ return;
4
+ }
5
+ // As stated in the docs of `close`, only awaiting `.close` is not enough to make sure all the connections are closed.
6
+ // Hence the wrapping in a promise, where the callback is called when the 'close' event is emitted.
7
+ return new Promise((resolve, reject) => {
8
+ if (!server) {
9
+ return resolve();
10
+ }
11
+ server.close((err) => {
12
+ if (err) {
13
+ return reject(err);
14
+ }
15
+ resolve();
16
+ });
17
+ });
18
+ }
@@ -0,0 +1,3 @@
1
+ import type http from 'node:http';
2
+ import type https from 'node:https';
3
+ export type Server = http.Server | https.Server;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import { type NextRequest, NextResponse } from 'next/server.js';
2
+ import type { AppManifest } from '../../app/index.js';
3
+ import type { Worker } from '../../std/index.js';
4
+ import { UCBuilder, type UCDef, type UCInput, type UCManager, type UCOPIBase } from '../../uc/index.js';
5
+ import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
6
+ interface Input<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined> {
7
+ appManifest: AppManifest;
8
+ req: NextRequest;
9
+ ucd: UCDef<I, OPI0, OPI1>;
10
+ }
11
+ interface Output {
12
+ res: NextResponse;
13
+ }
14
+ export declare class NextJSAPIRouteHandler implements Worker<Input, Promise<Output>> {
15
+ private serverRequestHandler;
16
+ private ucBuilder;
17
+ private ucManager;
18
+ constructor(serverRequestHandler: ServerRequestHandler, ucBuilder: UCBuilder, ucManager: UCManager);
19
+ exec<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>({ appManifest, req, ucd }: Input<I, OPI0, OPI1>): Promise<Output>;
20
+ private toReq;
21
+ private toRes;
22
+ }
23
+ export {};
@@ -0,0 +1,82 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'inversify';
14
+ import { cookies, headers } from 'next/headers.js';
15
+ import { redirect } from 'next/navigation.js';
16
+ import { NextResponse } from 'next/server.js';
17
+ import { UCBuilder, ucHTTPContract, } from '../../uc/index.js';
18
+ import { fromFormData, fromQueryParams } from '../../utils/index.js';
19
+ import { ServerRequestHandler, } from '../lib/server/ServerRequestHandler.js';
20
+ let NextJSAPIRouteHandler = class NextJSAPIRouteHandler {
21
+ serverRequestHandler;
22
+ ucBuilder;
23
+ ucManager;
24
+ constructor(serverRequestHandler, ucBuilder, ucManager) {
25
+ this.serverRequestHandler = serverRequestHandler;
26
+ this.ucBuilder = ucBuilder;
27
+ this.ucManager = ucManager;
28
+ }
29
+ async exec({ appManifest, req, ucd }) {
30
+ const uc = this.ucBuilder.exec({ appManifest, auth: null, def: ucd });
31
+ const { envelope } = ucHTTPContract(uc);
32
+ const { body, status } = await this.serverRequestHandler.exec({
33
+ appManifest,
34
+ envelope,
35
+ req: this.toReq(req),
36
+ res: this.toRes(),
37
+ ucd,
38
+ ucManager: this.ucManager,
39
+ });
40
+ if (!body) {
41
+ return {
42
+ res: new NextResponse(null, { status }),
43
+ };
44
+ }
45
+ return {
46
+ res: NextResponse.json(body, { status }),
47
+ };
48
+ }
49
+ toReq(req) {
50
+ return {
51
+ bodyFromFormData: async () => fromFormData((await req.formData())),
52
+ bodyFromJSON: () => req.json(),
53
+ bodyFromQueryParams: async () => fromQueryParams(req.nextUrl),
54
+ bodyRaw: req.body,
55
+ cookie: async (name) => (await cookies()).get(name)?.value,
56
+ header: async (name) => (await headers()).get(name) ?? undefined,
57
+ method: req.method,
58
+ secure: req.url.startsWith('https://'),
59
+ url: req.url,
60
+ };
61
+ }
62
+ toRes() {
63
+ return {
64
+ clearCookie: async (name) => {
65
+ (await cookies()).delete(name);
66
+ },
67
+ redirect: (location) => redirect(location),
68
+ setCookie: async ({ name, opts, val }) => {
69
+ (await cookies()).set(name, val, opts);
70
+ },
71
+ };
72
+ }
73
+ };
74
+ NextJSAPIRouteHandler = __decorate([
75
+ injectable(),
76
+ __param(0, inject(ServerRequestHandler)),
77
+ __param(1, inject(UCBuilder)),
78
+ __param(2, inject('UCManager')),
79
+ __metadata("design:paramtypes", [ServerRequestHandler,
80
+ UCBuilder, Object])
81
+ ], NextJSAPIRouteHandler);
82
+ export { NextJSAPIRouteHandler };
@@ -0,0 +1,13 @@
1
+ import type { AppManifest } from '../../app/index.js';
2
+ import type { DirPath } from '../../dt/index.js';
3
+ import type { UCDef, UCHTTPContract, UCInput, UCManager, UCOPIBase } from '../../uc/index.js';
4
+ import type { ServerManager } from '../lib/server/ServerManager.js';
5
+ export declare class NextJSServerManager implements ServerManager {
6
+ overrideUCManager(_ucManager: UCManager): void;
7
+ init(): Promise<void>;
8
+ mount<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(_appManifest: AppManifest, _ucd: UCDef<I, OPI0, OPI1>, _contract: UCHTTPContract): Promise<void>;
9
+ mountStaticDir(_dirPath: DirPath): Promise<void>;
10
+ start(): Promise<void>;
11
+ stop(): Promise<void>;
12
+ warmUp(): Promise<void>;
13
+ }
@@ -0,0 +1,34 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { injectable } from 'inversify';
8
+ let NextJSServerManager = class NextJSServerManager {
9
+ overrideUCManager(_ucManager) {
10
+ // Nothing to do
11
+ }
12
+ async init() {
13
+ // Nothing to do
14
+ }
15
+ async mount(_appManifest, _ucd, _contract) {
16
+ // Nothing to do
17
+ }
18
+ async mountStaticDir(_dirPath) {
19
+ // Nothing to do
20
+ }
21
+ async start() {
22
+ // Nothing to do
23
+ }
24
+ async stop() {
25
+ // Nothing to do
26
+ }
27
+ async warmUp() {
28
+ // Nothing to do
29
+ }
30
+ };
31
+ NextJSServerManager = __decorate([
32
+ injectable()
33
+ ], NextJSServerManager);
34
+ export { NextJSServerManager };
@@ -1,35 +1,26 @@
1
1
  import { type Express } from 'express';
2
2
  import type { AppManifest } from '../../app/index.js';
3
3
  import type { DirPath } from '../../dt/index.js';
4
- import type { Configurable, EnvironmentManager, FSManager, Logger, LoggerSettings, SettingsManager } from '../../std/index.js';
4
+ import type { Configurable, EnvironmentManager, Logger, LoggerSettings, SettingsManager } from '../../std/index.js';
5
5
  import type { UCDef, UCHTTPContract, UCInput, UCManager, UCOPIBase } from '../../uc/index.js';
6
6
  import { EntrypointsBuilder } from '../lib/server/EntrypointsBuilder.js';
7
7
  import type { ServerManager, ServerManagerSettings } from '../lib/server/ServerManager.js';
8
- import { AuthenticationCheckerMiddlewareBuilder } from './middlewares/AuthenticationCheckerMiddlewareBuilder.js';
9
- import { ErrorMiddlewareBuilder } from './middlewares/ErrorMiddlewareBuilder.js';
8
+ import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
9
+ import { ServerSSLCertLoader } from '../lib/server/ServerSSLCertLoader.js';
10
10
  import { HelmetMiddlewareBuilder } from './middlewares/HelmetMiddlewareBuilder.js';
11
- import { PublicApiKeyCheckerMiddlewareBuilder } from './middlewares/PublicApiKeyCheckerMiddlewareBuilder.js';
12
- import { RequestCheckerMiddlewareBuilder } from './middlewares/RequestCheckerMiddlewareBuilder.js';
13
- import { RequestHandlerMiddlewareBuilder } from './middlewares/RequestHandlerMiddlewareBuilder.js';
14
- import { RequestLoggerMiddlewareBuilder } from './middlewares/RequestLoggerMiddlewareBuilder.js';
15
- type S = Pick<LoggerSettings, 'logger_level'> & Pick<ServerManagerSettings, 'server_binding_host' | 'server_binding_port' | 'server_ssl_fullchain_path' | 'server_ssl_key_path' | 'server_tmp_path'>;
11
+ type S = Pick<LoggerSettings, 'logger_level'> & Pick<ServerManagerSettings, 'server_binding_host' | 'server_binding_port' | 'server_tmp_path'>;
16
12
  export declare class NodeExpressServerManager implements Configurable<S>, ServerManager {
17
- private authenticationCheckerMB;
18
13
  private entrypointsBuilder;
19
14
  protected environmentManager: EnvironmentManager;
20
- private errorMB;
21
- private fsManager;
22
15
  private helmetMB;
23
16
  protected logger: Logger;
24
- private publicApiKeyCheckerMB;
25
- private requestCheckerMB;
26
- private requestHandlerMB;
27
- private requestLoggerMB;
17
+ private serverRequestHandler;
18
+ private serverSSLCertLoader;
28
19
  private settingsManager;
29
20
  private ucManager;
30
21
  protected runtime: Express;
31
22
  private server;
32
- constructor(authenticationCheckerMB: AuthenticationCheckerMiddlewareBuilder<any, any, any>, entrypointsBuilder: EntrypointsBuilder, environmentManager: EnvironmentManager, errorMB: ErrorMiddlewareBuilder, fsManager: FSManager, helmetMB: HelmetMiddlewareBuilder, logger: Logger, publicApiKeyCheckerMB: PublicApiKeyCheckerMiddlewareBuilder, requestCheckerMB: RequestCheckerMiddlewareBuilder, requestHandlerMB: RequestHandlerMiddlewareBuilder<any, any, any>, requestLoggerMB: RequestLoggerMiddlewareBuilder, settingsManager: SettingsManager<S>, ucManager: UCManager);
23
+ constructor(entrypointsBuilder: EntrypointsBuilder, environmentManager: EnvironmentManager, helmetMB: HelmetMiddlewareBuilder, logger: Logger, serverRequestHandler: ServerRequestHandler, serverSSLCertLoader: ServerSSLCertLoader, settingsManager: SettingsManager<S>, ucManager: UCManager);
33
24
  s(): S;
34
25
  getRuntime(): Express;
35
26
  overrideUCManager(ucManager: UCManager): void;
@@ -40,5 +31,8 @@ export declare class NodeExpressServerManager implements Configurable<S>, Server
40
31
  stop(): Promise<void>;
41
32
  warmUp(): Promise<void>;
42
33
  private createServer;
34
+ private toFile;
35
+ private toReq;
36
+ private toRes;
43
37
  }
44
38
  export {};