@adonisjs/http-server 8.0.0-next.9 → 8.0.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.
- package/build/define_config-D-kQXU0e.js +2438 -0
- package/build/factories/http_context.d.ts +10 -4
- package/build/factories/main.d.ts +2 -2
- package/build/factories/main.js +170 -345
- package/build/factories/request.d.ts +4 -4
- package/build/factories/response.d.ts +4 -4
- package/build/factories/router.d.ts +1 -1
- package/build/factories/server_factory.d.ts +1 -1
- package/build/factories/url_builder_factory.d.ts +3 -3
- package/build/helpers-C_2HouOe.js +52 -0
- package/build/index.d.ts +2 -2
- package/build/index.js +155 -373
- package/build/src/client/helpers.d.ts +37 -0
- package/build/src/client/types.d.ts +194 -0
- package/build/src/client/url_builder.d.ts +15 -0
- package/build/src/client/url_builder.js +115 -0
- package/build/src/cookies/client.d.ts +28 -5
- package/build/src/cookies/drivers/encrypted.d.ts +1 -1
- package/build/src/cookies/drivers/signed.d.ts +1 -1
- package/build/src/cookies/parser.d.ts +1 -1
- package/build/src/cookies/serializer.d.ts +2 -2
- package/build/src/debug.d.ts +14 -1
- package/build/src/define_config.d.ts +19 -1
- package/build/src/define_middleware.d.ts +19 -3
- package/build/src/errors.d.ts +60 -5
- package/build/src/exception_handler.d.ts +28 -8
- package/build/src/helpers.d.ts +5 -17
- package/build/src/helpers.js +76 -24
- package/build/src/http_context/main.d.ts +67 -17
- package/build/src/qs.d.ts +17 -3
- package/build/src/redirect.d.ts +22 -3
- package/build/src/request.d.ts +12 -5
- package/build/src/response.d.ts +5 -5
- package/build/src/response_status.d.ts +14 -0
- package/build/src/router/main.d.ts +6 -2
- package/build/src/router/route.d.ts +130 -32
- package/build/src/router/signed_url_builder.d.ts +1 -1
- package/build/src/server/main.d.ts +6 -6
- package/build/src/types/main.js +1 -0
- package/build/src/types/response.d.ts +6 -1
- package/build/src/types/route.d.ts +3 -27
- package/build/src/types/url_builder.d.ts +2 -140
- package/build/src/utils.d.ts +71 -6
- package/build/types-AUwURgIL.js +1 -0
- package/build/utils-BjSHKI3s.js +618 -0
- package/package.json +55 -46
- package/build/chunk-CVZAIRWJ.js +0 -1222
- package/build/chunk-JD6QW4NQ.js +0 -4428
- package/build/src/router/url_builder.d.ts +0 -9
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import type { Logger } from '@adonisjs/logger';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { HttpRequest } from '../src/request.ts';
|
|
3
|
+
import type { HttpResponse } from '../src/response.ts';
|
|
4
4
|
import { HttpContext } from '../src/http_context/main.ts';
|
|
5
5
|
type FactoryParameters = {
|
|
6
|
-
request:
|
|
7
|
-
response:
|
|
6
|
+
request: HttpRequest;
|
|
7
|
+
response: HttpResponse;
|
|
8
8
|
logger: Logger;
|
|
9
|
+
url?: string;
|
|
10
|
+
method?: string;
|
|
11
|
+
route?: {
|
|
12
|
+
pattern: string;
|
|
13
|
+
params: Record<string, any>;
|
|
14
|
+
};
|
|
9
15
|
};
|
|
10
16
|
/**
|
|
11
17
|
* HttpContext factory is used to generate Http context class instances for
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { RouterFactory } from './router.ts';
|
|
2
|
-
export { RequestFactory } from './request.ts';
|
|
3
|
-
export { ResponseFactory } from './response.ts';
|
|
2
|
+
export { HttpRequestFactory as RequestFactory } from './request.ts';
|
|
3
|
+
export { HttpResponseFactory as ResponseFactory } from './response.ts';
|
|
4
4
|
export { ServerFactory } from './server_factory.ts';
|
|
5
5
|
export { HttpContextFactory } from './http_context.ts';
|
|
6
6
|
export { QsParserFactory } from './qs_parser_factory.ts';
|
package/build/factories/main.js
CHANGED
|
@@ -1,356 +1,181 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} from "
|
|
10
|
-
import "../chunk-CVZAIRWJ.js";
|
|
11
|
-
|
|
12
|
-
// factories/router.ts
|
|
1
|
+
import "../utils-BjSHKI3s.js";
|
|
2
|
+
import { _ as Qs, c as HttpRequest, i as HttpResponse, n as Server, r as HttpContext, s as Router, t as defineConfig } from "../define_config-D-kQXU0e.js";
|
|
3
|
+
import { t as createURL } from "../helpers-C_2HouOe.js";
|
|
4
|
+
import { parseRoute } from "../src/helpers.js";
|
|
5
|
+
import "../types-AUwURgIL.js";
|
|
6
|
+
import { Container } from "@adonisjs/fold";
|
|
7
|
+
import { Socket } from "node:net";
|
|
8
|
+
import proxyAddr from "proxy-addr";
|
|
9
|
+
import { safeStringify } from "@poppinss/utils/json";
|
|
13
10
|
import { AppFactory } from "@adonisjs/application/factories";
|
|
14
|
-
import { EncryptionFactory } from "@
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
import { EncryptionFactory } from "@boringnode/encryption/factories";
|
|
12
|
+
import { randomUUID } from "node:crypto";
|
|
13
|
+
import { IncomingMessage, ServerResponse } from "node:http";
|
|
14
|
+
import { Logger } from "@adonisjs/logger";
|
|
15
|
+
import { Emitter } from "@adonisjs/events";
|
|
16
|
+
import { LoggerFactory } from "@adonisjs/logger/factories";
|
|
17
17
|
var QsParserFactory = class {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
Object.assign(this.#options.parse, options.parse);
|
|
42
|
-
Object.assign(this.#options.stringify, options.stringify);
|
|
43
|
-
return this;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Create instance of the QS parser class
|
|
47
|
-
*/
|
|
48
|
-
create() {
|
|
49
|
-
return new Qs(this.#options);
|
|
50
|
-
}
|
|
18
|
+
#options = {
|
|
19
|
+
parse: {
|
|
20
|
+
depth: 5,
|
|
21
|
+
parameterLimit: 1e3,
|
|
22
|
+
allowSparse: false,
|
|
23
|
+
arrayLimit: 20,
|
|
24
|
+
comma: true
|
|
25
|
+
},
|
|
26
|
+
stringify: {
|
|
27
|
+
encode: true,
|
|
28
|
+
encodeValuesOnly: false,
|
|
29
|
+
arrayFormat: "indices",
|
|
30
|
+
skipNulls: false
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
merge(options) {
|
|
34
|
+
Object.assign(this.#options.parse, options.parse);
|
|
35
|
+
Object.assign(this.#options.stringify, options.stringify);
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
create() {
|
|
39
|
+
return new Qs(this.#options);
|
|
40
|
+
}
|
|
51
41
|
};
|
|
52
|
-
|
|
53
|
-
// factories/router.ts
|
|
54
42
|
var RouterFactory = class {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
#createEncryption() {
|
|
70
|
-
return this.#parameters.encryption || new EncryptionFactory().create();
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Merge factory params
|
|
74
|
-
* @param params - Partial factory parameters to merge
|
|
75
|
-
*/
|
|
76
|
-
merge(params) {
|
|
77
|
-
Object.assign(this.#parameters, params);
|
|
78
|
-
return this;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Create router instance
|
|
82
|
-
*/
|
|
83
|
-
create() {
|
|
84
|
-
return new Router(this.#getApp(), this.#createEncryption(), new QsParserFactory().create());
|
|
85
|
-
}
|
|
43
|
+
#parameters = {};
|
|
44
|
+
#getApp() {
|
|
45
|
+
return this.#parameters.app || new AppFactory().create(new URL("./app/", import.meta.url));
|
|
46
|
+
}
|
|
47
|
+
#createEncryption() {
|
|
48
|
+
return this.#parameters.encryption || new EncryptionFactory().create();
|
|
49
|
+
}
|
|
50
|
+
merge(params) {
|
|
51
|
+
Object.assign(this.#parameters, params);
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
create() {
|
|
55
|
+
return new Router(this.#getApp(), this.#createEncryption(), new QsParserFactory().create());
|
|
56
|
+
}
|
|
86
57
|
};
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
if (this.#parameters.method) {
|
|
123
|
-
req.method = this.#parameters.method;
|
|
124
|
-
}
|
|
125
|
-
return req;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Returns the HTTP res object
|
|
129
|
-
* @param req - The incoming message request object
|
|
130
|
-
*/
|
|
131
|
-
#createResponse(req) {
|
|
132
|
-
return this.#parameters.res || new ServerResponse(req);
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Returns an instance of the encryptor to encrypt
|
|
136
|
-
* signed URLs
|
|
137
|
-
*/
|
|
138
|
-
#createEncryption() {
|
|
139
|
-
return this.#parameters.encryption || new EncryptionFactory2().create();
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Merge factory params
|
|
143
|
-
* @param params - Partial factory parameters to merge
|
|
144
|
-
*/
|
|
145
|
-
merge(params) {
|
|
146
|
-
Object.assign(this.#parameters, params);
|
|
147
|
-
return this;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Create request
|
|
151
|
-
*/
|
|
152
|
-
create() {
|
|
153
|
-
const req = this.#createRequest();
|
|
154
|
-
return new Request(
|
|
155
|
-
req,
|
|
156
|
-
this.#createResponse(req),
|
|
157
|
-
this.#createEncryption(),
|
|
158
|
-
this.#getConfig(),
|
|
159
|
-
new QsParserFactory().create()
|
|
160
|
-
);
|
|
161
|
-
}
|
|
58
|
+
var HttpRequestFactory = class {
|
|
59
|
+
#parameters = {};
|
|
60
|
+
#getConfig() {
|
|
61
|
+
return {
|
|
62
|
+
allowMethodSpoofing: false,
|
|
63
|
+
trustProxy: proxyAddr.compile("loopback"),
|
|
64
|
+
subdomainOffset: 2,
|
|
65
|
+
generateRequestId: false,
|
|
66
|
+
createRequestId() {
|
|
67
|
+
return randomUUID();
|
|
68
|
+
},
|
|
69
|
+
...this.#parameters.config
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
#createRequest() {
|
|
73
|
+
const req = this.#parameters.req || new IncomingMessage(new Socket());
|
|
74
|
+
if (this.#parameters.url) req.url = this.#parameters.url;
|
|
75
|
+
if (this.#parameters.method) req.method = this.#parameters.method;
|
|
76
|
+
return req;
|
|
77
|
+
}
|
|
78
|
+
#createResponse(req) {
|
|
79
|
+
return this.#parameters.res || new ServerResponse(req);
|
|
80
|
+
}
|
|
81
|
+
#createEncryption() {
|
|
82
|
+
return this.#parameters.encryption || new EncryptionFactory().create();
|
|
83
|
+
}
|
|
84
|
+
merge(params) {
|
|
85
|
+
Object.assign(this.#parameters, params);
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
create() {
|
|
89
|
+
const req = this.#createRequest();
|
|
90
|
+
return new HttpRequest(req, this.#createResponse(req), this.#createEncryption(), this.#getConfig(), new QsParserFactory().create());
|
|
91
|
+
}
|
|
162
92
|
};
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
return this.#parameters.router || new RouterFactory().create();
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Returns the HTTP res object
|
|
204
|
-
* @param req - The incoming message request object
|
|
205
|
-
*/
|
|
206
|
-
#createResponse(req) {
|
|
207
|
-
return this.#parameters.res || new ServerResponse2(req);
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Returns an instance of the encryptor to encrypt
|
|
211
|
-
* signed URLs
|
|
212
|
-
*/
|
|
213
|
-
#createEncryption() {
|
|
214
|
-
return this.#parameters.encryption || new EncryptionFactory3().create();
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Merge factory params
|
|
218
|
-
* @param params - Partial factory parameters to merge
|
|
219
|
-
*/
|
|
220
|
-
merge(params) {
|
|
221
|
-
Object.assign(this.#parameters, params);
|
|
222
|
-
return this;
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Create response class instance
|
|
226
|
-
*/
|
|
227
|
-
create() {
|
|
228
|
-
const req = this.#createRequest();
|
|
229
|
-
return new Response(
|
|
230
|
-
req,
|
|
231
|
-
this.#createResponse(req),
|
|
232
|
-
this.#createEncryption(),
|
|
233
|
-
this.#getConfig(),
|
|
234
|
-
this.#createRouter(),
|
|
235
|
-
new QsParserFactory().create()
|
|
236
|
-
);
|
|
237
|
-
}
|
|
93
|
+
var HttpResponseFactory = class {
|
|
94
|
+
#parameters = {};
|
|
95
|
+
#getConfig() {
|
|
96
|
+
return {
|
|
97
|
+
etag: false,
|
|
98
|
+
serializeJSON: safeStringify,
|
|
99
|
+
jsonpCallbackName: "callback",
|
|
100
|
+
cookie: {
|
|
101
|
+
maxAge: 90,
|
|
102
|
+
path: "/",
|
|
103
|
+
httpOnly: true,
|
|
104
|
+
sameSite: false,
|
|
105
|
+
secure: false
|
|
106
|
+
},
|
|
107
|
+
...this.#parameters.config
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
#createRequest() {
|
|
111
|
+
return this.#parameters.req || new IncomingMessage(new Socket());
|
|
112
|
+
}
|
|
113
|
+
#createRouter() {
|
|
114
|
+
return this.#parameters.router || new RouterFactory().create();
|
|
115
|
+
}
|
|
116
|
+
#createResponse(req) {
|
|
117
|
+
return this.#parameters.res || new ServerResponse(req);
|
|
118
|
+
}
|
|
119
|
+
#createEncryption() {
|
|
120
|
+
return this.#parameters.encryption || new EncryptionFactory().create();
|
|
121
|
+
}
|
|
122
|
+
merge(params) {
|
|
123
|
+
Object.assign(this.#parameters, params);
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
create() {
|
|
127
|
+
const req = this.#createRequest();
|
|
128
|
+
return new HttpResponse(req, this.#createResponse(req), this.#createEncryption(), this.#getConfig(), this.#createRouter(), new QsParserFactory().create());
|
|
129
|
+
}
|
|
238
130
|
};
|
|
239
|
-
|
|
240
|
-
// factories/server_factory.ts
|
|
241
|
-
import { Logger } from "@adonisjs/logger";
|
|
242
|
-
import { Emitter } from "@adonisjs/events";
|
|
243
|
-
import { AppFactory as AppFactory2 } from "@adonisjs/application/factories";
|
|
244
|
-
import { EncryptionFactory as EncryptionFactory4 } from "@adonisjs/encryption/factories";
|
|
245
131
|
var ServerFactory = class {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
* Returns an instance of the application class
|
|
270
|
-
*/
|
|
271
|
-
#getApp() {
|
|
272
|
-
return this.#parameters.app || new AppFactory2().create(new URL("./app/", import.meta.url));
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* Returns an instance of the encryptor to encrypt
|
|
276
|
-
* signed URLs
|
|
277
|
-
*/
|
|
278
|
-
#createEncryption() {
|
|
279
|
-
return this.#parameters.encryption || new EncryptionFactory4().create();
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Merge factory params
|
|
283
|
-
* @param params - Partial factory parameters to merge
|
|
284
|
-
*/
|
|
285
|
-
merge(params) {
|
|
286
|
-
Object.assign(this.#parameters, params);
|
|
287
|
-
return this;
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Create server instance
|
|
291
|
-
*/
|
|
292
|
-
create() {
|
|
293
|
-
return new Server(
|
|
294
|
-
this.#getApp(),
|
|
295
|
-
this.#createEncryption(),
|
|
296
|
-
this.#getEmitter(),
|
|
297
|
-
this.#getLogger(),
|
|
298
|
-
this.#getConfig()
|
|
299
|
-
);
|
|
300
|
-
}
|
|
132
|
+
#parameters = {};
|
|
133
|
+
#getEmitter() {
|
|
134
|
+
return this.#parameters.emitter || new Emitter(this.#getApp());
|
|
135
|
+
}
|
|
136
|
+
#getLogger() {
|
|
137
|
+
return this.#parameters.logger || new Logger({ enabled: false });
|
|
138
|
+
}
|
|
139
|
+
#getConfig() {
|
|
140
|
+
return defineConfig(this.#parameters.config || {});
|
|
141
|
+
}
|
|
142
|
+
#getApp() {
|
|
143
|
+
return this.#parameters.app || new AppFactory().create(new URL("./app/", import.meta.url));
|
|
144
|
+
}
|
|
145
|
+
#createEncryption() {
|
|
146
|
+
return this.#parameters.encryption || new EncryptionFactory().create();
|
|
147
|
+
}
|
|
148
|
+
merge(params) {
|
|
149
|
+
Object.assign(this.#parameters, params);
|
|
150
|
+
return this;
|
|
151
|
+
}
|
|
152
|
+
create() {
|
|
153
|
+
return new Server(this.#getApp(), this.#createEncryption(), this.#getEmitter(), this.#getLogger(), this.#getConfig());
|
|
154
|
+
}
|
|
301
155
|
};
|
|
302
|
-
|
|
303
|
-
// factories/http_context.ts
|
|
304
|
-
import { Container } from "@adonisjs/fold";
|
|
305
|
-
import { LoggerFactory } from "@adonisjs/logger/factories";
|
|
306
156
|
var HttpContextFactory = class {
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
* Merge factory params
|
|
331
|
-
* @param params - Partial factory parameters to merge
|
|
332
|
-
*/
|
|
333
|
-
merge(params) {
|
|
334
|
-
Object.assign(this.#parameters, params);
|
|
335
|
-
return this;
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Create HTTP context instance
|
|
339
|
-
*/
|
|
340
|
-
create() {
|
|
341
|
-
return new HttpContext(
|
|
342
|
-
this.#createRequest(),
|
|
343
|
-
this.#createResponse(),
|
|
344
|
-
this.#createLogger(),
|
|
345
|
-
new Container().createResolver()
|
|
346
|
-
);
|
|
347
|
-
}
|
|
348
|
-
};
|
|
349
|
-
export {
|
|
350
|
-
HttpContextFactory,
|
|
351
|
-
QsParserFactory,
|
|
352
|
-
RequestFactory,
|
|
353
|
-
ResponseFactory,
|
|
354
|
-
RouterFactory,
|
|
355
|
-
ServerFactory
|
|
157
|
+
#parameters = {};
|
|
158
|
+
#createRequest() {
|
|
159
|
+
if (this.#parameters.request) return this.#parameters.request;
|
|
160
|
+
let { url, method, route } = this.#parameters;
|
|
161
|
+
if (route) url = createURL(route.pattern, parseRoute(route.pattern), new QsParserFactory().create().stringify, route.params);
|
|
162
|
+
return new HttpRequestFactory().merge({
|
|
163
|
+
url,
|
|
164
|
+
method
|
|
165
|
+
}).create();
|
|
166
|
+
}
|
|
167
|
+
#createResponse() {
|
|
168
|
+
return this.#parameters.response || new HttpResponseFactory().create();
|
|
169
|
+
}
|
|
170
|
+
#createLogger() {
|
|
171
|
+
return this.#parameters.logger || new LoggerFactory().create();
|
|
172
|
+
}
|
|
173
|
+
merge(params) {
|
|
174
|
+
Object.assign(this.#parameters, params);
|
|
175
|
+
return this;
|
|
176
|
+
}
|
|
177
|
+
create() {
|
|
178
|
+
return new HttpContext(this.#createRequest(), this.#createResponse(), this.#createLogger(), new Container().createResolver());
|
|
179
|
+
}
|
|
356
180
|
};
|
|
181
|
+
export { HttpContextFactory, QsParserFactory, HttpRequestFactory as RequestFactory, HttpResponseFactory as ResponseFactory, RouterFactory, ServerFactory };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Encryption } from '@
|
|
1
|
+
import type { Encryption } from '@boringnode/encryption';
|
|
2
2
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
3
|
-
import {
|
|
3
|
+
import { HttpRequest } from '../src/request.ts';
|
|
4
4
|
import { type RequestConfig } from '../src/types/request.ts';
|
|
5
5
|
type FactoryParameters = {
|
|
6
6
|
url: string;
|
|
@@ -14,7 +14,7 @@ type FactoryParameters = {
|
|
|
14
14
|
* Request factory is used to generate request class instances for
|
|
15
15
|
* testing
|
|
16
16
|
*/
|
|
17
|
-
export declare class
|
|
17
|
+
export declare class HttpRequestFactory {
|
|
18
18
|
#private;
|
|
19
19
|
/**
|
|
20
20
|
* Merge factory params
|
|
@@ -24,6 +24,6 @@ export declare class RequestFactory {
|
|
|
24
24
|
/**
|
|
25
25
|
* Create request
|
|
26
26
|
*/
|
|
27
|
-
create():
|
|
27
|
+
create(): HttpRequest;
|
|
28
28
|
}
|
|
29
29
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Encryption } from '@
|
|
1
|
+
import type { Encryption } from '@boringnode/encryption';
|
|
2
2
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
3
|
-
import {
|
|
3
|
+
import { HttpResponse } from '../src/response.ts';
|
|
4
4
|
import { type Router } from '../src/router/main.ts';
|
|
5
5
|
import { type ResponseConfig } from '../src/types/response.ts';
|
|
6
6
|
type FactoryParameters = {
|
|
@@ -14,7 +14,7 @@ type FactoryParameters = {
|
|
|
14
14
|
* Response factory is used to generate response class instances for
|
|
15
15
|
* testing
|
|
16
16
|
*/
|
|
17
|
-
export declare class
|
|
17
|
+
export declare class HttpResponseFactory {
|
|
18
18
|
#private;
|
|
19
19
|
/**
|
|
20
20
|
* Merge factory params
|
|
@@ -24,6 +24,6 @@ export declare class ResponseFactory {
|
|
|
24
24
|
/**
|
|
25
25
|
* Create response class instance
|
|
26
26
|
*/
|
|
27
|
-
create():
|
|
27
|
+
create(): HttpResponse;
|
|
28
28
|
}
|
|
29
29
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Logger } from '@adonisjs/logger';
|
|
2
2
|
import { Emitter } from '@adonisjs/events';
|
|
3
|
-
import type { Encryption } from '@
|
|
3
|
+
import type { Encryption } from '@boringnode/encryption';
|
|
4
4
|
import type { Application } from '@adonisjs/application';
|
|
5
5
|
import { Server } from '../src/server/main.ts';
|
|
6
6
|
import type { ServerConfig } from '../src/types/server.ts';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Encryption } from '@
|
|
1
|
+
import type { Encryption } from '@boringnode/encryption';
|
|
2
2
|
import type { Router } from '../src/router/main.ts';
|
|
3
3
|
import { type LookupList } from '../src/types/url_builder.ts';
|
|
4
4
|
type FactoryParameters = {
|
|
@@ -19,8 +19,8 @@ export declare class URLBuilderFactory<Routes extends LookupList> {
|
|
|
19
19
|
* Create URL builder helpers
|
|
20
20
|
*/
|
|
21
21
|
create(): {
|
|
22
|
-
urlFor: import("../src/types
|
|
23
|
-
signedUrlFor: import("../src/types
|
|
22
|
+
urlFor: import("../src/client/types.ts").UrlFor<Routes>;
|
|
23
|
+
signedUrlFor: import("../src/client/types.ts").UrlFor<Routes, import("../src/types/url_builder.ts").SignedURLOptions>;
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
export {};
|