@adonisjs/http-server 7.0.0-0 → 7.0.0-1
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/factories/http_context.d.ts +25 -0
- package/build/factories/http_context.js +51 -0
- package/build/factories/http_server.d.ts +8 -0
- package/build/factories/http_server.js +26 -0
- package/build/factories/main.d.ts +6 -149
- package/build/factories/main.js +14 -331
- package/build/factories/qs_parser_factory.d.ts +20 -0
- package/build/factories/qs_parser_factory.js +44 -0
- package/build/factories/request.d.ts +29 -0
- package/build/factories/request.js +73 -0
- package/build/factories/response.d.ts +29 -0
- package/build/factories/response.js +77 -0
- package/build/factories/router.d.ts +23 -0
- package/build/factories/router.js +45 -0
- package/build/factories/server_factory.d.ts +29 -0
- package/build/factories/server_factory.js +65 -0
- package/build/index.d.ts +14 -272
- package/build/index.js +22 -308
- package/build/src/cookies/client.d.ts +37 -0
- package/build/src/cookies/client.js +84 -0
- package/build/src/cookies/drivers/encrypted.d.ts +16 -0
- package/build/src/cookies/drivers/encrypted.js +36 -0
- package/build/src/cookies/drivers/plain.d.ts +15 -0
- package/build/src/cookies/drivers/plain.js +33 -0
- package/build/src/cookies/drivers/signed.d.ts +16 -0
- package/build/src/cookies/drivers/signed.js +36 -0
- package/build/src/cookies/parser.d.ts +37 -0
- package/build/src/cookies/parser.js +167 -0
- package/build/src/cookies/serializer.d.ts +33 -0
- package/build/src/cookies/serializer.js +79 -0
- package/build/src/debug.d.ts +3 -0
- package/build/src/debug.js +10 -0
- package/build/src/define_config.d.ts +9 -0
- package/build/src/define_config.js +68 -0
- package/build/src/define_middleware.d.ts +11 -0
- package/build/src/define_middleware.js +35 -0
- package/build/src/exception_handler.d.ts +113 -0
- package/build/src/exception_handler.js +306 -0
- package/build/src/exceptions.d.ts +84 -0
- package/build/src/exceptions.js +38 -0
- package/build/src/helpers.d.ts +23 -0
- package/build/src/helpers.js +105 -0
- package/build/src/http_context/local_storage.d.ts +12 -0
- package/build/src/http_context/local_storage.js +39 -0
- package/build/src/http_context/main.d.ts +58 -0
- package/build/src/http_context/main.js +105 -0
- package/build/src/qs.d.ts +11 -0
- package/build/src/qs.js +25 -0
- package/build/src/redirect.d.ts +42 -0
- package/build/src/redirect.js +140 -0
- package/build/src/request.d.ts +565 -0
- package/build/src/request.js +865 -0
- package/build/src/response.d.ts +620 -0
- package/build/src/response.js +1208 -0
- package/build/src/router/brisk.d.ts +42 -0
- package/build/src/router/brisk.js +85 -0
- package/build/src/router/executor.d.ts +9 -0
- package/build/src/router/executor.js +30 -0
- package/build/src/router/factories/use_return_value.d.ts +6 -0
- package/build/src/router/factories/use_return_value.js +22 -0
- package/build/src/router/group.d.ts +65 -0
- package/build/src/router/group.js +207 -0
- package/build/src/router/lookup_store/main.d.ts +49 -0
- package/build/src/router/lookup_store/main.js +86 -0
- package/build/src/router/lookup_store/route_finder.d.ts +21 -0
- package/build/src/router/lookup_store/route_finder.js +49 -0
- package/build/src/router/lookup_store/url_builder.d.ts +52 -0
- package/build/src/router/lookup_store/url_builder.js +209 -0
- package/build/src/router/main.d.ts +128 -0
- package/build/src/router/main.js +316 -0
- package/build/src/router/matchers.d.ts +27 -0
- package/build/src/router/matchers.js +36 -0
- package/build/src/router/parser.d.ts +5 -0
- package/build/src/router/parser.js +17 -0
- package/build/src/router/resource.d.ts +54 -0
- package/build/src/router/resource.js +216 -0
- package/build/src/router/route.d.ts +92 -0
- package/build/src/router/route.js +293 -0
- package/build/src/router/store.d.ts +66 -0
- package/build/src/router/store.js +195 -0
- package/build/src/server/factories/final_handler.d.ts +10 -0
- package/build/src/server/factories/final_handler.js +30 -0
- package/build/src/server/factories/middleware_handler.d.ts +8 -0
- package/build/src/server/factories/middleware_handler.js +16 -0
- package/build/src/server/factories/write_response.d.ts +6 -0
- package/build/src/server/factories/write_response.js +24 -0
- package/build/{main-29eaaee4.d.ts → src/server/main.d.ts} +18 -13
- package/build/src/server/main.js +292 -0
- package/build/src/types/base.d.ts +19 -0
- package/build/src/types/base.js +9 -0
- package/build/src/types/main.d.ts +7 -14
- package/build/src/types/main.js +15 -0
- package/build/src/types/middleware.d.ts +35 -0
- package/build/src/types/middleware.js +9 -0
- package/build/src/types/qs.d.ts +68 -0
- package/build/src/types/qs.js +9 -0
- package/build/src/types/request.d.ts +39 -0
- package/build/src/types/request.js +9 -0
- package/build/src/types/response.d.ts +45 -0
- package/build/src/types/response.js +9 -0
- package/build/src/types/route.d.ts +166 -0
- package/build/src/types/route.js +9 -0
- package/build/src/types/server.d.ts +72 -0
- package/build/src/types/server.js +9 -0
- package/package.json +6 -3
- package/build/chunk-XX72ATFY.js +0 -4388
- package/build/main-e5b46c83.d.ts +0 -2210
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Logger } from '@adonisjs/logger';
|
|
2
|
+
import type { Request } from '../src/request.js';
|
|
3
|
+
import type { Response } from '../src/response.js';
|
|
4
|
+
import { HttpContext } from '../src/http_context/main.js';
|
|
5
|
+
type FactoryParameters = {
|
|
6
|
+
request: Request;
|
|
7
|
+
response: Response;
|
|
8
|
+
logger: Logger;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* HttpContext factory is used to generate Http context class instances for
|
|
12
|
+
* testing
|
|
13
|
+
*/
|
|
14
|
+
export declare class HttpContextFactory {
|
|
15
|
+
#private;
|
|
16
|
+
/**
|
|
17
|
+
* Merge factory params
|
|
18
|
+
*/
|
|
19
|
+
merge(params: Partial<FactoryParameters>): this;
|
|
20
|
+
/**
|
|
21
|
+
* Create request
|
|
22
|
+
*/
|
|
23
|
+
create(): HttpContext;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/http-server
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
import { Container } from '@adonisjs/fold';
|
|
10
|
+
import { LoggerFactory } from '@adonisjs/logger/factories';
|
|
11
|
+
import { RequestFactory } from './request.js';
|
|
12
|
+
import { ResponseFactory } from './response.js';
|
|
13
|
+
import { HttpContext } from '../src/http_context/main.js';
|
|
14
|
+
/**
|
|
15
|
+
* HttpContext factory is used to generate Http context class instances for
|
|
16
|
+
* testing
|
|
17
|
+
*/
|
|
18
|
+
export class HttpContextFactory {
|
|
19
|
+
#parameters = {};
|
|
20
|
+
/**
|
|
21
|
+
* Returns the request class instance
|
|
22
|
+
*/
|
|
23
|
+
#createRequest() {
|
|
24
|
+
return this.#parameters.request || new RequestFactory().create();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns the response class instance
|
|
28
|
+
*/
|
|
29
|
+
#createResponse() {
|
|
30
|
+
return this.#parameters.response || new ResponseFactory().create();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Returns an instance of the logger class
|
|
34
|
+
*/
|
|
35
|
+
#createLogger() {
|
|
36
|
+
return this.#parameters.logger || new LoggerFactory().create();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Merge factory params
|
|
40
|
+
*/
|
|
41
|
+
merge(params) {
|
|
42
|
+
Object.assign(this.#parameters, params);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create request
|
|
47
|
+
*/
|
|
48
|
+
create() {
|
|
49
|
+
return new HttpContext(this.#createRequest(), this.#createResponse(), this.#createLogger(), new Container().createResolver());
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/http-server
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
import getPort from 'get-port';
|
|
10
|
+
import { getActiveTest } from '@japa/runner';
|
|
11
|
+
import { createServer } from 'node:http';
|
|
12
|
+
export const httpServer = {
|
|
13
|
+
async create(handler) {
|
|
14
|
+
const server = createServer(handler);
|
|
15
|
+
const test = getActiveTest();
|
|
16
|
+
test?.cleanup(() => {
|
|
17
|
+
server.close();
|
|
18
|
+
});
|
|
19
|
+
const port = await getPort({ port: 3000 });
|
|
20
|
+
return new Promise((resolve) => {
|
|
21
|
+
server.listen(port, 'localhost', () => {
|
|
22
|
+
return resolve({ server, port, url: `http://localhost:${port}` });
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
};
|
|
@@ -1,149 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { S as Server } from '../main-29eaaee4.js';
|
|
8
|
-
import '@adonisjs/fold';
|
|
9
|
-
import '@poppinss/macroable';
|
|
10
|
-
import 'node:url';
|
|
11
|
-
import 'qs';
|
|
12
|
-
import 'http';
|
|
13
|
-
import 'stream';
|
|
14
|
-
import '@poppinss/middleware';
|
|
15
|
-
import '@poppinss/middleware/types';
|
|
16
|
-
import 'node:stream';
|
|
17
|
-
import 'node:https';
|
|
18
|
-
|
|
19
|
-
type FactoryParameters$4 = {
|
|
20
|
-
request: Request;
|
|
21
|
-
response: Response;
|
|
22
|
-
logger: Logger;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* HttpContext factory is used to generate Http context class instances for
|
|
26
|
-
* testing
|
|
27
|
-
*/
|
|
28
|
-
declare class HttpContextFactory {
|
|
29
|
-
#private;
|
|
30
|
-
/**
|
|
31
|
-
* Merge factory params
|
|
32
|
-
*/
|
|
33
|
-
merge(params: Partial<FactoryParameters$4>): this;
|
|
34
|
-
/**
|
|
35
|
-
* Create request
|
|
36
|
-
*/
|
|
37
|
-
create(): HttpContext;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* QS Parser factory is used to generate the query string
|
|
42
|
-
* parser for testing
|
|
43
|
-
*/
|
|
44
|
-
declare class QsParserFactory {
|
|
45
|
-
#private;
|
|
46
|
-
/**
|
|
47
|
-
* Merge encryption factory options
|
|
48
|
-
*/
|
|
49
|
-
merge(options: Partial<{
|
|
50
|
-
parse: Partial<QSParserConfig['parse']>;
|
|
51
|
-
stringify: Partial<QSParserConfig['stringify']>;
|
|
52
|
-
}>): this;
|
|
53
|
-
/**
|
|
54
|
-
* Create instance of the logger class
|
|
55
|
-
*/
|
|
56
|
-
create(): Qs;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
type FactoryParameters$3 = {
|
|
60
|
-
url: string;
|
|
61
|
-
method: string;
|
|
62
|
-
req: IncomingMessage;
|
|
63
|
-
res: ServerResponse;
|
|
64
|
-
encryption: Encryption;
|
|
65
|
-
config: Partial<RequestConfig>;
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Request factory is used to generate request class instances for
|
|
69
|
-
* testing
|
|
70
|
-
*/
|
|
71
|
-
declare class RequestFactory {
|
|
72
|
-
#private;
|
|
73
|
-
/**
|
|
74
|
-
* Merge factory params
|
|
75
|
-
*/
|
|
76
|
-
merge(params: Partial<FactoryParameters$3>): this;
|
|
77
|
-
/**
|
|
78
|
-
* Create request
|
|
79
|
-
*/
|
|
80
|
-
create(): Request;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
type FactoryParameters$2 = {
|
|
84
|
-
req: IncomingMessage;
|
|
85
|
-
res: ServerResponse;
|
|
86
|
-
encryption: Encryption;
|
|
87
|
-
config: Partial<ResponseConfig>;
|
|
88
|
-
router: Router;
|
|
89
|
-
};
|
|
90
|
-
/**
|
|
91
|
-
* Response factory is used to generate response class instances for
|
|
92
|
-
* testing
|
|
93
|
-
*/
|
|
94
|
-
declare class ResponseFactory {
|
|
95
|
-
#private;
|
|
96
|
-
/**
|
|
97
|
-
* Merge factory params
|
|
98
|
-
*/
|
|
99
|
-
merge(params: Partial<FactoryParameters$2>): this;
|
|
100
|
-
/**
|
|
101
|
-
* Create response class instance
|
|
102
|
-
*/
|
|
103
|
-
create(): Response;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
type FactoryParameters$1 = {
|
|
107
|
-
app: Application<any>;
|
|
108
|
-
encryption: Encryption;
|
|
109
|
-
};
|
|
110
|
-
/**
|
|
111
|
-
* Router factory is used to generate router class instances for
|
|
112
|
-
* testing
|
|
113
|
-
*/
|
|
114
|
-
declare class RouterFactory {
|
|
115
|
-
#private;
|
|
116
|
-
/**
|
|
117
|
-
* Merge factory params
|
|
118
|
-
*/
|
|
119
|
-
merge(params: Partial<FactoryParameters$1>): this;
|
|
120
|
-
/**
|
|
121
|
-
* Create router instance
|
|
122
|
-
*/
|
|
123
|
-
create(): Router;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
type FactoryParameters = {
|
|
127
|
-
app: Application<any>;
|
|
128
|
-
logger: Logger;
|
|
129
|
-
encryption: Encryption;
|
|
130
|
-
emitter: Emitter<any>;
|
|
131
|
-
config: Partial<ServerConfig>;
|
|
132
|
-
};
|
|
133
|
-
/**
|
|
134
|
-
* Server factory is used to generate server class instances for
|
|
135
|
-
* testing
|
|
136
|
-
*/
|
|
137
|
-
declare class ServerFactory {
|
|
138
|
-
#private;
|
|
139
|
-
/**
|
|
140
|
-
* Merge factory params
|
|
141
|
-
*/
|
|
142
|
-
merge(params: Partial<FactoryParameters>): this;
|
|
143
|
-
/**
|
|
144
|
-
* Create server instance
|
|
145
|
-
*/
|
|
146
|
-
create(): Server;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
export { HttpContextFactory, QsParserFactory, RequestFactory, ResponseFactory, RouterFactory, ServerFactory };
|
|
1
|
+
export { HttpContextFactory } from './http_context.js';
|
|
2
|
+
export { QsParserFactory } from './qs_parser_factory.js';
|
|
3
|
+
export { RequestFactory } from './request.js';
|
|
4
|
+
export { ResponseFactory } from './response.js';
|
|
5
|
+
export { RouterFactory } from './router.js';
|
|
6
|
+
export { ServerFactory } from './server_factory.js';
|
package/build/factories/main.js
CHANGED
|
@@ -1,331 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} from
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
// factories/request.ts
|
|
16
|
-
import { Socket } from "node:net";
|
|
17
|
-
import proxyAddr from "proxy-addr";
|
|
18
|
-
import { IncomingMessage, ServerResponse } from "node:http";
|
|
19
|
-
import { EncryptionFactory } from "@adonisjs/encryption/factories";
|
|
20
|
-
|
|
21
|
-
// factories/qs_parser_factory.ts
|
|
22
|
-
var QsParserFactory = class {
|
|
23
|
-
#options = {
|
|
24
|
-
parse: {
|
|
25
|
-
depth: 5,
|
|
26
|
-
parameterLimit: 1e3,
|
|
27
|
-
allowSparse: false,
|
|
28
|
-
arrayLimit: 20,
|
|
29
|
-
comma: true
|
|
30
|
-
},
|
|
31
|
-
stringify: {
|
|
32
|
-
encode: true,
|
|
33
|
-
encodeValuesOnly: false,
|
|
34
|
-
arrayFormat: "indices",
|
|
35
|
-
skipNulls: false
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Merge encryption factory options
|
|
40
|
-
*/
|
|
41
|
-
merge(options) {
|
|
42
|
-
Object.assign(this.#options.parse, options.parse);
|
|
43
|
-
Object.assign(this.#options.stringify, options.stringify);
|
|
44
|
-
return this;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Create instance of the logger class
|
|
48
|
-
*/
|
|
49
|
-
create() {
|
|
50
|
-
return new Qs(this.#options);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
// factories/request.ts
|
|
55
|
-
var RequestFactory = class {
|
|
56
|
-
#parameters = {};
|
|
57
|
-
/**
|
|
58
|
-
* Returns the config for the request class
|
|
59
|
-
*/
|
|
60
|
-
#getConfig() {
|
|
61
|
-
return {
|
|
62
|
-
allowMethodSpoofing: false,
|
|
63
|
-
trustProxy: proxyAddr.compile("loopback"),
|
|
64
|
-
subdomainOffset: 2,
|
|
65
|
-
generateRequestId: false,
|
|
66
|
-
...this.#parameters.config
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Returns the HTTP req object
|
|
71
|
-
*/
|
|
72
|
-
#createRequest() {
|
|
73
|
-
const req = this.#parameters.req || new IncomingMessage(new Socket());
|
|
74
|
-
if (this.#parameters.url) {
|
|
75
|
-
req.url = this.#parameters.url;
|
|
76
|
-
}
|
|
77
|
-
if (this.#parameters.method) {
|
|
78
|
-
req.method = this.#parameters.method;
|
|
79
|
-
}
|
|
80
|
-
return req;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Returns the HTTP res object
|
|
84
|
-
*/
|
|
85
|
-
#createResponse(req) {
|
|
86
|
-
return this.#parameters.res || new ServerResponse(req);
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Returns an instance of the encryptor to encrypt
|
|
90
|
-
* signed URLs
|
|
91
|
-
*/
|
|
92
|
-
#createEncryption() {
|
|
93
|
-
return this.#parameters.encryption || new EncryptionFactory().create();
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Merge factory params
|
|
97
|
-
*/
|
|
98
|
-
merge(params) {
|
|
99
|
-
Object.assign(this.#parameters, params);
|
|
100
|
-
return this;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Create request
|
|
104
|
-
*/
|
|
105
|
-
create() {
|
|
106
|
-
const req = this.#createRequest();
|
|
107
|
-
return new Request(
|
|
108
|
-
req,
|
|
109
|
-
this.#createResponse(req),
|
|
110
|
-
this.#createEncryption(),
|
|
111
|
-
this.#getConfig(),
|
|
112
|
-
new QsParserFactory().create()
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
// factories/response.ts
|
|
118
|
-
import { Socket as Socket2 } from "node:net";
|
|
119
|
-
import { IncomingMessage as IncomingMessage2, ServerResponse as ServerResponse2 } from "node:http";
|
|
120
|
-
import { EncryptionFactory as EncryptionFactory3 } from "@adonisjs/encryption/factories";
|
|
121
|
-
|
|
122
|
-
// factories/router.ts
|
|
123
|
-
import { AppFactory } from "@adonisjs/application/factories";
|
|
124
|
-
import { EncryptionFactory as EncryptionFactory2 } from "@adonisjs/encryption/factories";
|
|
125
|
-
var RouterFactory = class {
|
|
126
|
-
#parameters = {};
|
|
127
|
-
/**
|
|
128
|
-
* Returns an instance of the application class
|
|
129
|
-
*/
|
|
130
|
-
#getApp() {
|
|
131
|
-
return this.#parameters.app || new AppFactory().create(new URL("./app/", import.meta.url), () => {
|
|
132
|
-
});
|
|
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
|
-
*/
|
|
144
|
-
merge(params) {
|
|
145
|
-
Object.assign(this.#parameters, params);
|
|
146
|
-
return this;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Create router instance
|
|
150
|
-
*/
|
|
151
|
-
create() {
|
|
152
|
-
return new Router(this.#getApp(), this.#createEncryption(), new QsParserFactory().create());
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
// factories/response.ts
|
|
157
|
-
var ResponseFactory = class {
|
|
158
|
-
#parameters = {};
|
|
159
|
-
/**
|
|
160
|
-
* Returns the config for the request class
|
|
161
|
-
*/
|
|
162
|
-
#getConfig() {
|
|
163
|
-
return {
|
|
164
|
-
etag: false,
|
|
165
|
-
jsonpCallbackName: "callback",
|
|
166
|
-
cookie: {
|
|
167
|
-
maxAge: 90,
|
|
168
|
-
path: "/",
|
|
169
|
-
httpOnly: true,
|
|
170
|
-
sameSite: false,
|
|
171
|
-
secure: false
|
|
172
|
-
},
|
|
173
|
-
...this.#parameters.config
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Returns the HTTP req object
|
|
178
|
-
*/
|
|
179
|
-
#createRequest() {
|
|
180
|
-
return this.#parameters.req || new IncomingMessage2(new Socket2());
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Returns an instance of the router
|
|
184
|
-
*/
|
|
185
|
-
#createRouter() {
|
|
186
|
-
return this.#parameters.router || new RouterFactory().create();
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Returns the HTTP res object
|
|
190
|
-
*/
|
|
191
|
-
#createResponse(req) {
|
|
192
|
-
return this.#parameters.res || new ServerResponse2(req);
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Returns an instance of the encryptor to encrypt
|
|
196
|
-
* signed URLs
|
|
197
|
-
*/
|
|
198
|
-
#createEncryption() {
|
|
199
|
-
return this.#parameters.encryption || new EncryptionFactory3().create();
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Merge factory params
|
|
203
|
-
*/
|
|
204
|
-
merge(params) {
|
|
205
|
-
Object.assign(this.#parameters, params);
|
|
206
|
-
return this;
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Create response class instance
|
|
210
|
-
*/
|
|
211
|
-
create() {
|
|
212
|
-
const req = this.#createRequest();
|
|
213
|
-
return new Response(
|
|
214
|
-
req,
|
|
215
|
-
this.#createResponse(req),
|
|
216
|
-
this.#createEncryption(),
|
|
217
|
-
this.#getConfig(),
|
|
218
|
-
this.#createRouter(),
|
|
219
|
-
new QsParserFactory().create()
|
|
220
|
-
);
|
|
221
|
-
}
|
|
222
|
-
};
|
|
223
|
-
|
|
224
|
-
// factories/http_context.ts
|
|
225
|
-
var HttpContextFactory = class {
|
|
226
|
-
#parameters = {};
|
|
227
|
-
/**
|
|
228
|
-
* Returns the request class instance
|
|
229
|
-
*/
|
|
230
|
-
#createRequest() {
|
|
231
|
-
return this.#parameters.request || new RequestFactory().create();
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Returns the response class instance
|
|
235
|
-
*/
|
|
236
|
-
#createResponse() {
|
|
237
|
-
return this.#parameters.response || new ResponseFactory().create();
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Returns an instance of the logger class
|
|
241
|
-
*/
|
|
242
|
-
#createLogger() {
|
|
243
|
-
return this.#parameters.logger || new LoggerFactory().create();
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Merge factory params
|
|
247
|
-
*/
|
|
248
|
-
merge(params) {
|
|
249
|
-
Object.assign(this.#parameters, params);
|
|
250
|
-
return this;
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Create request
|
|
254
|
-
*/
|
|
255
|
-
create() {
|
|
256
|
-
return new HttpContext(
|
|
257
|
-
this.#createRequest(),
|
|
258
|
-
this.#createResponse(),
|
|
259
|
-
this.#createLogger(),
|
|
260
|
-
new Container().createResolver()
|
|
261
|
-
);
|
|
262
|
-
}
|
|
263
|
-
};
|
|
264
|
-
|
|
265
|
-
// factories/server_factory.ts
|
|
266
|
-
import { Logger } from "@adonisjs/logger";
|
|
267
|
-
import { Emitter } from "@adonisjs/events";
|
|
268
|
-
import { AppFactory as AppFactory2 } from "@adonisjs/application/factories";
|
|
269
|
-
import { EncryptionFactory as EncryptionFactory4 } from "@adonisjs/encryption/factories";
|
|
270
|
-
var ServerFactory = class {
|
|
271
|
-
#parameters = {};
|
|
272
|
-
/**
|
|
273
|
-
* Returns the emitter instance
|
|
274
|
-
*/
|
|
275
|
-
#getEmitter() {
|
|
276
|
-
return this.#parameters.emitter || new Emitter(this.#getApp());
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Returns the logger instance
|
|
280
|
-
*/
|
|
281
|
-
#getLogger() {
|
|
282
|
-
return this.#parameters.logger || new Logger({ enabled: false });
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Returns the config for the server class
|
|
286
|
-
*/
|
|
287
|
-
#getConfig() {
|
|
288
|
-
return defineConfig(this.#parameters.config || {});
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Returns an instance of the application class
|
|
292
|
-
*/
|
|
293
|
-
#getApp() {
|
|
294
|
-
return this.#parameters.app || new AppFactory2().create(new URL("./app/", import.meta.url), () => {
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Returns an instance of the encryptor to encrypt
|
|
299
|
-
* signed URLs
|
|
300
|
-
*/
|
|
301
|
-
#createEncryption() {
|
|
302
|
-
return this.#parameters.encryption || new EncryptionFactory4().create();
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* Merge factory params
|
|
306
|
-
*/
|
|
307
|
-
merge(params) {
|
|
308
|
-
Object.assign(this.#parameters, params);
|
|
309
|
-
return this;
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Create server instance
|
|
313
|
-
*/
|
|
314
|
-
create() {
|
|
315
|
-
return new Server(
|
|
316
|
-
this.#getApp(),
|
|
317
|
-
this.#createEncryption(),
|
|
318
|
-
this.#getEmitter(),
|
|
319
|
-
this.#getLogger(),
|
|
320
|
-
this.#getConfig()
|
|
321
|
-
);
|
|
322
|
-
}
|
|
323
|
-
};
|
|
324
|
-
export {
|
|
325
|
-
HttpContextFactory,
|
|
326
|
-
QsParserFactory,
|
|
327
|
-
RequestFactory,
|
|
328
|
-
ResponseFactory,
|
|
329
|
-
RouterFactory,
|
|
330
|
-
ServerFactory
|
|
331
|
-
};
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/http-server
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
export { HttpContextFactory } from './http_context.js';
|
|
10
|
+
export { QsParserFactory } from './qs_parser_factory.js';
|
|
11
|
+
export { RequestFactory } from './request.js';
|
|
12
|
+
export { ResponseFactory } from './response.js';
|
|
13
|
+
export { RouterFactory } from './router.js';
|
|
14
|
+
export { ServerFactory } from './server_factory.js';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Qs } from '../src/qs.js';
|
|
2
|
+
import type { QSParserConfig } from '../src/types/qs.js';
|
|
3
|
+
/**
|
|
4
|
+
* QS Parser factory is used to generate the query string
|
|
5
|
+
* parser for testing
|
|
6
|
+
*/
|
|
7
|
+
export declare class QsParserFactory {
|
|
8
|
+
#private;
|
|
9
|
+
/**
|
|
10
|
+
* Merge encryption factory options
|
|
11
|
+
*/
|
|
12
|
+
merge(options: Partial<{
|
|
13
|
+
parse: Partial<QSParserConfig['parse']>;
|
|
14
|
+
stringify: Partial<QSParserConfig['stringify']>;
|
|
15
|
+
}>): this;
|
|
16
|
+
/**
|
|
17
|
+
* Create instance of the logger class
|
|
18
|
+
*/
|
|
19
|
+
create(): Qs;
|
|
20
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/http-server
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
import { Qs } from '../src/qs.js';
|
|
10
|
+
/**
|
|
11
|
+
* QS Parser factory is used to generate the query string
|
|
12
|
+
* parser for testing
|
|
13
|
+
*/
|
|
14
|
+
export class QsParserFactory {
|
|
15
|
+
#options = {
|
|
16
|
+
parse: {
|
|
17
|
+
depth: 5,
|
|
18
|
+
parameterLimit: 1000,
|
|
19
|
+
allowSparse: false,
|
|
20
|
+
arrayLimit: 20,
|
|
21
|
+
comma: true,
|
|
22
|
+
},
|
|
23
|
+
stringify: {
|
|
24
|
+
encode: true,
|
|
25
|
+
encodeValuesOnly: false,
|
|
26
|
+
arrayFormat: 'indices',
|
|
27
|
+
skipNulls: false,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Merge encryption factory options
|
|
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
|
+
/**
|
|
39
|
+
* Create instance of the logger class
|
|
40
|
+
*/
|
|
41
|
+
create() {
|
|
42
|
+
return new Qs(this.#options);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import type { Encryption } from '@adonisjs/encryption';
|
|
3
|
+
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
4
|
+
import { Request } from '../src/request.js';
|
|
5
|
+
import { RequestConfig } from '../src/types/request.js';
|
|
6
|
+
type FactoryParameters = {
|
|
7
|
+
url: string;
|
|
8
|
+
method: string;
|
|
9
|
+
req: IncomingMessage;
|
|
10
|
+
res: ServerResponse;
|
|
11
|
+
encryption: Encryption;
|
|
12
|
+
config: Partial<RequestConfig>;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Request factory is used to generate request class instances for
|
|
16
|
+
* testing
|
|
17
|
+
*/
|
|
18
|
+
export declare class RequestFactory {
|
|
19
|
+
#private;
|
|
20
|
+
/**
|
|
21
|
+
* Merge factory params
|
|
22
|
+
*/
|
|
23
|
+
merge(params: Partial<FactoryParameters>): this;
|
|
24
|
+
/**
|
|
25
|
+
* Create request
|
|
26
|
+
*/
|
|
27
|
+
create(): Request;
|
|
28
|
+
}
|
|
29
|
+
export {};
|