@inversifyjs/http-fastify 4.2.0 → 4.4.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/CHANGELOG.md +21 -0
- package/lib/cjs/adapter/InversifyFastifyHttpAdapter.d.ts +3 -3
- package/lib/cjs/adapter/InversifyFastifyHttpAdapter.d.ts.map +1 -1
- package/lib/cjs/adapter/InversifyFastifyHttpAdapter.js +82 -89
- package/lib/cjs/adapter/InversifyFastifyHttpAdapter.js.map +1 -1
- package/lib/cjs/models/FastifyHttpAdapterOptions.d.ts +2 -0
- package/lib/cjs/models/FastifyHttpAdapterOptions.d.ts.map +1 -1
- package/lib/cjs/models/FastifyMiddleware.d.ts +2 -2
- package/lib/cjs/models/FastifyMiddleware.d.ts.map +1 -1
- package/lib/esm/index.d.ts +6 -4
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -1
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @inversifyjs/http-fastify
|
|
2
2
|
|
|
3
|
+
## 4.4.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
Fixed fastify next function to be `() => void`
|
|
8
|
+
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
- @inversifyjs/http-core@4.4.0
|
|
11
|
+
|
|
12
|
+
## 4.3.0
|
|
13
|
+
|
|
14
|
+
### Minor Changes
|
|
15
|
+
|
|
16
|
+
- Updated `InversifyFastifyHttpAdapter` to handle multipart form data
|
|
17
|
+
- Updated `FastifyHttpAdapterOptions` with `useMultipartFormData`
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
- @inversifyjs/http-core@4.3.0
|
|
23
|
+
|
|
3
24
|
## 4.2.0
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Readable } from 'node:stream';
|
|
2
2
|
import { HttpStatusCode, InversifyHttpAdapter, RouterParams } from '@inversifyjs/http-core';
|
|
3
|
-
import { FastifyInstance, FastifyReply, FastifyRequest
|
|
3
|
+
import { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
|
|
4
4
|
import { Container } from 'inversify';
|
|
5
5
|
import { FastifyHttpAdapterOptions } from '../models/FastifyHttpAdapterOptions';
|
|
6
|
-
export declare class InversifyFastifyHttpAdapter extends InversifyHttpAdapter<FastifyRequest, FastifyReply,
|
|
6
|
+
export declare class InversifyFastifyHttpAdapter extends InversifyHttpAdapter<FastifyRequest, FastifyReply, () => void, void, FastifyHttpAdapterOptions> {
|
|
7
7
|
#private;
|
|
8
8
|
constructor(container: Container, httpAdapterOptions?: FastifyHttpAdapterOptions, customApp?: FastifyInstance);
|
|
9
9
|
build(): Promise<FastifyInstance>;
|
|
@@ -17,6 +17,6 @@ export declare class InversifyFastifyHttpAdapter extends InversifyHttpAdapter<Fa
|
|
|
17
17
|
protected _replyStream(_request: FastifyRequest, response: FastifyReply, value: Readable): Promise<void>;
|
|
18
18
|
protected _setStatus(_request: FastifyRequest, response: FastifyReply, statusCode: HttpStatusCode): void;
|
|
19
19
|
protected _setHeader(_request: FastifyRequest, response: FastifyReply, key: string, value: string): void;
|
|
20
|
-
protected _buildRouter(routerParams: RouterParams<FastifyRequest, FastifyReply,
|
|
20
|
+
protected _buildRouter(routerParams: RouterParams<FastifyRequest, FastifyReply, () => void, void>): void;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=InversifyFastifyHttpAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InversifyFastifyHttpAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"InversifyFastifyHttpAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,OAAO,EAGL,cAAc,EACd,oBAAoB,EAIpB,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,eAAe,EAEf,YAAY,EACZ,cAAc,EAEf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,qBAAa,2BAA4B,SAAQ,oBAAoB,CACnE,cAAc,EACd,YAAY,EACZ,MAAM,IAAI,EACV,IAAI,EACJ,yBAAyB,CAC1B;;gBAIG,SAAS,EAAE,SAAS,EACpB,kBAAkB,CAAC,EAAE,yBAAyB,EAC9C,SAAS,CAAC,EAAE,eAAe;IAgBhB,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAM9C,SAAS,CAAC,QAAQ,CAChB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,YAAY,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO;IAQV,SAAS,CAAC,UAAU,CAClB,OAAO,EAAE,cAAc,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO;IAKV,SAAS,CAAC,SAAS,CACjB,OAAO,EAAE,cAAc,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO;IAMV,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,cAAc,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO;IAMV,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,YAAY,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO;IAMV,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,MAAM,GACZ,IAAI;IAIP,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,YAAY,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;cAIS,YAAY,CAC1B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC;IAIhB,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,GACzB,IAAI;IAIP,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,IAAI;IAIP,SAAS,CAAC,YAAY,CACpB,YAAY,EAAE,YAAY,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,IAAI,EAAE,IAAI,CAAC,GACzE,IAAI;CAkHR"}
|
|
@@ -4,12 +4,18 @@ exports.InversifyFastifyHttpAdapter = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const cookie_1 = tslib_1.__importDefault(require("@fastify/cookie"));
|
|
6
6
|
const formbody_1 = tslib_1.__importDefault(require("@fastify/formbody"));
|
|
7
|
+
const multipart_1 = tslib_1.__importDefault(require("@fastify/multipart"));
|
|
7
8
|
const http_core_1 = require("@inversifyjs/http-core");
|
|
8
9
|
const fastify_1 = require("fastify");
|
|
9
10
|
class InversifyFastifyHttpAdapter extends http_core_1.InversifyHttpAdapter {
|
|
10
11
|
#app;
|
|
11
12
|
constructor(container, httpAdapterOptions, customApp) {
|
|
12
|
-
super(container, {
|
|
13
|
+
super(container, {
|
|
14
|
+
logger: true,
|
|
15
|
+
useCookies: false,
|
|
16
|
+
useFormUrlEncoded: false,
|
|
17
|
+
useMultipartFormData: false,
|
|
18
|
+
}, httpAdapterOptions, [http_core_1.RequestMethodParameterType.Body]);
|
|
13
19
|
this.#app = this.#buildDefaultFastifyApp(customApp);
|
|
14
20
|
}
|
|
15
21
|
async build() {
|
|
@@ -17,29 +23,32 @@ class InversifyFastifyHttpAdapter extends http_core_1.InversifyHttpAdapter {
|
|
|
17
23
|
return this.#app;
|
|
18
24
|
}
|
|
19
25
|
_getBody(request, _response, parameterName) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
if (this.httpAdapterOptions.useMultipartFormData !== false) {
|
|
27
|
+
return this.#getMultipartRequestBody(request, parameterName);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return this.#getRequestBody(request, parameterName);
|
|
31
|
+
}
|
|
23
32
|
}
|
|
24
33
|
_getParams(request, parameterName) {
|
|
25
|
-
return parameterName
|
|
26
|
-
? request.params
|
|
27
|
-
: request.params;
|
|
34
|
+
return parameterName === undefined
|
|
35
|
+
? request.params
|
|
36
|
+
: request.params[parameterName];
|
|
28
37
|
}
|
|
29
38
|
_getQuery(request, parameterName) {
|
|
30
|
-
return parameterName
|
|
31
|
-
? request.query
|
|
32
|
-
: request.query;
|
|
39
|
+
return parameterName === undefined
|
|
40
|
+
? request.query
|
|
41
|
+
: request.query[parameterName];
|
|
33
42
|
}
|
|
34
43
|
_getHeaders(request, parameterName) {
|
|
35
|
-
return parameterName
|
|
36
|
-
? request.headers
|
|
37
|
-
: request.headers;
|
|
44
|
+
return parameterName === undefined
|
|
45
|
+
? request.headers
|
|
46
|
+
: request.headers[parameterName];
|
|
38
47
|
}
|
|
39
48
|
_getCookies(request, _response, parameterName) {
|
|
40
|
-
return parameterName
|
|
41
|
-
? request.cookies
|
|
42
|
-
: request.cookies;
|
|
49
|
+
return parameterName === undefined
|
|
50
|
+
? request.cookies
|
|
51
|
+
: request.cookies[parameterName];
|
|
43
52
|
}
|
|
44
53
|
_replyText(_request, response, value) {
|
|
45
54
|
response.send(value);
|
|
@@ -57,24 +66,20 @@ class InversifyFastifyHttpAdapter extends http_core_1.InversifyHttpAdapter {
|
|
|
57
66
|
response.header(key, value);
|
|
58
67
|
}
|
|
59
68
|
_buildRouter(routerParams) {
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
done();
|
|
76
|
-
};
|
|
77
|
-
this.#app.register(router, { prefix: routerParams.path });
|
|
69
|
+
for (const routeParams of routerParams.routeParamsList) {
|
|
70
|
+
const orderedHandlers = [
|
|
71
|
+
...routeParams.preHandlerMiddlewareList,
|
|
72
|
+
...routeParams.guardList,
|
|
73
|
+
routeParams.handler,
|
|
74
|
+
...routeParams.postHandlerMiddlewareList,
|
|
75
|
+
];
|
|
76
|
+
const normalizedPath = (0, http_core_1.buildNormalizedPath)(`${routerParams.path}${routeParams.path}`);
|
|
77
|
+
const handleMiddlewares = (0, http_core_1.handleMiddlewareList)(orderedHandlers);
|
|
78
|
+
const fastifyHandler = async (request, reply) => {
|
|
79
|
+
await handleMiddlewares(request, reply);
|
|
80
|
+
};
|
|
81
|
+
this.#getAppRouteHandler(routeParams.requestMethodType)(normalizedPath, fastifyHandler);
|
|
82
|
+
}
|
|
78
83
|
}
|
|
79
84
|
#buildDefaultFastifyApp(customApp) {
|
|
80
85
|
const app = customApp ?? (0, fastify_1.fastify)();
|
|
@@ -84,63 +89,51 @@ class InversifyFastifyHttpAdapter extends http_core_1.InversifyHttpAdapter {
|
|
|
84
89
|
if (this.httpAdapterOptions.useFormUrlEncoded) {
|
|
85
90
|
app.register(formbody_1.default);
|
|
86
91
|
}
|
|
92
|
+
if (this.httpAdapterOptions.useMultipartFormData !== false) {
|
|
93
|
+
if (this.httpAdapterOptions.useMultipartFormData === true) {
|
|
94
|
+
app.register(multipart_1.default);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
app.register(multipart_1.default, this.httpAdapterOptions.useMultipartFormData);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
87
100
|
return app;
|
|
88
101
|
}
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
#buildFastifyOnResponseAsyncMiddleware(middleware) {
|
|
126
|
-
return async (request, reply) => {
|
|
127
|
-
await new Promise((resolve, reject) => {
|
|
128
|
-
const done = (err) => {
|
|
129
|
-
if (err !== undefined) {
|
|
130
|
-
reject(err);
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
resolve();
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
middleware(request, reply, done);
|
|
137
|
-
});
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
#convertRequestMethodType(requestMethodType) {
|
|
141
|
-
return requestMethodType === http_core_1.RequestMethodType.All
|
|
142
|
-
? Object.values(http_core_1.RequestMethodType).filter((method) => method !== http_core_1.RequestMethodType.All)
|
|
143
|
-
: requestMethodType;
|
|
102
|
+
#getAppRouteHandler(requestMethodType) {
|
|
103
|
+
switch (requestMethodType) {
|
|
104
|
+
case http_core_1.RequestMethodType.All:
|
|
105
|
+
return this.#app.all.bind(this.#app);
|
|
106
|
+
case http_core_1.RequestMethodType.Delete:
|
|
107
|
+
return this.#app.delete.bind(this.#app);
|
|
108
|
+
case http_core_1.RequestMethodType.Get:
|
|
109
|
+
return this.#app.get.bind(this.#app);
|
|
110
|
+
case http_core_1.RequestMethodType.Head:
|
|
111
|
+
return this.#app.head.bind(this.#app);
|
|
112
|
+
case http_core_1.RequestMethodType.Options:
|
|
113
|
+
return this.#app.options.bind(this.#app);
|
|
114
|
+
case http_core_1.RequestMethodType.Patch:
|
|
115
|
+
return this.#app.patch.bind(this.#app);
|
|
116
|
+
case http_core_1.RequestMethodType.Post:
|
|
117
|
+
return this.#app.post.bind(this.#app);
|
|
118
|
+
case http_core_1.RequestMethodType.Put:
|
|
119
|
+
return this.#app.put.bind(this.#app);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
#getMultipartRequestBody(request, parameterName) {
|
|
123
|
+
if (request.isMultipart()) {
|
|
124
|
+
if (parameterName === undefined) {
|
|
125
|
+
return request.parts();
|
|
126
|
+
}
|
|
127
|
+
throw new Error('Cannot get multipart form data body with a specific parameter name.');
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
return this.#getRequestBody(request, parameterName);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
#getRequestBody(request, parameterName) {
|
|
134
|
+
return parameterName === undefined
|
|
135
|
+
? request.body
|
|
136
|
+
: request.body[parameterName];
|
|
144
137
|
}
|
|
145
138
|
}
|
|
146
139
|
exports.InversifyFastifyHttpAdapter = InversifyFastifyHttpAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InversifyFastifyHttpAdapter.js","sourceRoot":"","sources":["../../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":";;;;AAEA,qEAA+D;AAC/D,yEAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"InversifyFastifyHttpAdapter.js","sourceRoot":"","sources":["../../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { type FastifyMultipartAttachFieldsToBodyOptions, FastifyMultipartOptions } from '@fastify/multipart';
|
|
1
2
|
import { HttpAdapterOptions } from '@inversifyjs/http-core';
|
|
2
3
|
export interface FastifyHttpAdapterOptions extends HttpAdapterOptions {
|
|
3
4
|
useCookies?: boolean;
|
|
4
5
|
useFormUrlEncoded?: boolean;
|
|
6
|
+
useMultipartFormData?: boolean | FastifyMultipartAttachFieldsToBodyOptions | FastifyMultipartOptions;
|
|
5
7
|
}
|
|
6
8
|
//# sourceMappingURL=FastifyHttpAdapterOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FastifyHttpAdapterOptions.d.ts","sourceRoot":"","sources":["../../../src/models/FastifyHttpAdapterOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
|
|
1
|
+
{"version":3,"file":"FastifyHttpAdapterOptions.d.ts","sourceRoot":"","sources":["../../../src/models/FastifyHttpAdapterOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yCAAyC,EAC9C,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,CAAC,EACjB,OAAO,GACP,yCAAyC,GACzC,uBAAuB,CAAC;CAC7B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Middleware } from '@inversifyjs/http-core';
|
|
2
|
-
import { FastifyReply, FastifyRequest
|
|
3
|
-
export type FastifyMiddleware = Middleware<FastifyRequest, FastifyReply,
|
|
2
|
+
import { FastifyReply, FastifyRequest } from 'fastify';
|
|
3
|
+
export type FastifyMiddleware = Middleware<FastifyRequest, FastifyReply, () => void, void>;
|
|
4
4
|
//# sourceMappingURL=FastifyMiddleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FastifyMiddleware.d.ts","sourceRoot":"","sources":["../../../src/models/FastifyMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"FastifyMiddleware.d.ts","sourceRoot":"","sources":["../../../src/models/FastifyMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CACxC,cAAc,EACd,YAAY,EACZ,MAAM,IAAI,EACV,IAAI,CACL,CAAC"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { Readable } from 'node:stream';
|
|
2
2
|
import { HttpAdapterOptions, InversifyHttpAdapter, HttpStatusCode, RouterParams, ErrorFilter, Guard, Interceptor, Middleware } from '@inversifyjs/http-core';
|
|
3
|
-
import { FastifyRequest, FastifyReply,
|
|
3
|
+
import { FastifyRequest, FastifyReply, FastifyInstance } from 'fastify';
|
|
4
4
|
import { Container } from 'inversify';
|
|
5
|
+
import { FastifyMultipartAttachFieldsToBodyOptions, FastifyMultipartOptions } from '@fastify/multipart';
|
|
5
6
|
|
|
6
7
|
interface FastifyHttpAdapterOptions extends HttpAdapterOptions {
|
|
7
8
|
useCookies?: boolean;
|
|
8
9
|
useFormUrlEncoded?: boolean;
|
|
10
|
+
useMultipartFormData?: boolean | FastifyMultipartAttachFieldsToBodyOptions | FastifyMultipartOptions;
|
|
9
11
|
}
|
|
10
12
|
|
|
11
|
-
declare class InversifyFastifyHttpAdapter extends InversifyHttpAdapter<FastifyRequest, FastifyReply,
|
|
13
|
+
declare class InversifyFastifyHttpAdapter extends InversifyHttpAdapter<FastifyRequest, FastifyReply, () => void, void, FastifyHttpAdapterOptions> {
|
|
12
14
|
#private;
|
|
13
15
|
constructor(container: Container, httpAdapterOptions?: FastifyHttpAdapterOptions, customApp?: FastifyInstance);
|
|
14
16
|
build(): Promise<FastifyInstance>;
|
|
@@ -22,7 +24,7 @@ declare class InversifyFastifyHttpAdapter extends InversifyHttpAdapter<FastifyRe
|
|
|
22
24
|
protected _replyStream(_request: FastifyRequest, response: FastifyReply, value: Readable): Promise<void>;
|
|
23
25
|
protected _setStatus(_request: FastifyRequest, response: FastifyReply, statusCode: HttpStatusCode): void;
|
|
24
26
|
protected _setHeader(_request: FastifyRequest, response: FastifyReply, key: string, value: string): void;
|
|
25
|
-
protected _buildRouter(routerParams: RouterParams<FastifyRequest, FastifyReply,
|
|
27
|
+
protected _buildRouter(routerParams: RouterParams<FastifyRequest, FastifyReply, () => void, void>): void;
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
type FastifyErrorFilter<TError = unknown> = ErrorFilter<TError, FastifyRequest, FastifyReply, void>;
|
|
@@ -31,7 +33,7 @@ type FastifyGuard = Guard<FastifyRequest>;
|
|
|
31
33
|
|
|
32
34
|
type FastifyInterceptor = Interceptor<FastifyRequest, FastifyReply>;
|
|
33
35
|
|
|
34
|
-
type FastifyMiddleware = Middleware<FastifyRequest, FastifyReply,
|
|
36
|
+
type FastifyMiddleware = Middleware<FastifyRequest, FastifyReply, () => void, void>;
|
|
35
37
|
|
|
36
38
|
export { InversifyFastifyHttpAdapter };
|
|
37
39
|
export type { FastifyErrorFilter, FastifyGuard, FastifyHttpAdapterOptions, FastifyInterceptor, FastifyMiddleware };
|
package/lib/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import t from"@fastify/cookie";import e from"@fastify/formbody";import r from"@fastify/multipart";import{InversifyHttpAdapter as s,RequestMethodParameterType as a,buildNormalizedPath as i,handleMiddlewareList as p,RequestMethodType as o}from"@inversifyjs/http-core";import{fastify as d}from"fastify";class u extends s{#t;constructor(t,e,r){super(t,{logger:!0,useCookies:!1,useFormUrlEncoded:!1,useMultipartFormData:!1},e,[a.Body]),this.#t=this.#e(r)}async build(){return await this._buildServer(),this.#t}_getBody(t,e,r){return!1!==this.httpAdapterOptions.useMultipartFormData?this.#r(t,r):this.#s(t,r)}_getParams(t,e){return void 0===e?t.params:t.params[e]}_getQuery(t,e){return void 0===e?t.query:t.query[e]}_getHeaders(t,e){return void 0===e?t.headers:t.headers[e]}_getCookies(t,e,r){return void 0===r?t.cookies:t.cookies[r]}_replyText(t,e,r){e.send(r)}_replyJson(t,e,r){e.send(r)}async _replyStream(t,e,r){await e.send(r)}_setStatus(t,e,r){e.status(r)}_setHeader(t,e,r,s){e.header(r,s)}_buildRouter(t){for(const e of t.routeParamsList){const r=[...e.preHandlerMiddlewareList,...e.guardList,e.handler,...e.postHandlerMiddlewareList],s=i(`${t.path}${e.path}`),a=p(r),o=async(t,e)=>{await a(t,e)};this.#a(e.requestMethodType)(s,o)}}#e(s){const a=s??d();return this.httpAdapterOptions.useCookies&&a.register(t),this.httpAdapterOptions.useFormUrlEncoded&&a.register(e),!1!==this.httpAdapterOptions.useMultipartFormData&&(!0===this.httpAdapterOptions.useMultipartFormData?a.register(r):a.register(r,this.httpAdapterOptions.useMultipartFormData)),a}#a(t){switch(t){case o.All:return this.#t.all.bind(this.#t);case o.Delete:return this.#t.delete.bind(this.#t);case o.Get:return this.#t.get.bind(this.#t);case o.Head:return this.#t.head.bind(this.#t);case o.Options:return this.#t.options.bind(this.#t);case o.Patch:return this.#t.patch.bind(this.#t);case o.Post:return this.#t.post.bind(this.#t);case o.Put:return this.#t.put.bind(this.#t)}}#r(t,e){if(t.isMultipart()){if(void 0===e)return t.parts();throw new Error("Cannot get multipart form data body with a specific parameter name.")}return this.#s(t,e)}#s(t,e){return void 0===e?t.body:t.body[e]}}export{u as InversifyFastifyHttpAdapter};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/adapter/InversifyFastifyHttpAdapter.ts"],"sourcesContent":[null],"names":["InversifyFastifyHttpAdapter","InversifyHttpAdapter","app","constructor","container","httpAdapterOptions","customApp","super","logger","useCookies","useFormUrlEncoded","this","buildDefaultFastifyApp","build","_buildServer","_getBody","request","_response","parameterName","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/adapter/InversifyFastifyHttpAdapter.ts"],"sourcesContent":[null],"names":["InversifyFastifyHttpAdapter","InversifyHttpAdapter","app","constructor","container","httpAdapterOptions","customApp","super","logger","useCookies","useFormUrlEncoded","useMultipartFormData","RequestMethodParameterType","Body","this","buildDefaultFastifyApp","build","_buildServer","_getBody","request","_response","parameterName","getMultipartRequestBody","getRequestBody","_getParams","undefined","params","_getQuery","query","_getHeaders","headers","_getCookies","cookies","_replyText","_request","response","value","send","_replyJson","_replyStream","_setStatus","statusCode","status","_setHeader","key","header","_buildRouter","routerParams","routeParams","routeParamsList","orderedHandlers","preHandlerMiddlewareList","guardList","handler","postHandlerMiddlewareList","normalizedPath","buildNormalizedPath","path","handleMiddlewares","handleMiddlewareList","fastifyHandler","async","reply","getAppRouteHandler","requestMethodType","fastify","register","cookie","fastifyFormbody","fastifyMultipart","RequestMethodType","All","all","bind","Delete","delete","Get","get","Head","head","Options","options","Patch","patch","Post","post","Put","put","isMultipart","parts","Error","body"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,22 +7,23 @@
|
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@fastify/cookie": "11.0.2",
|
|
9
9
|
"@fastify/formbody": "8.0.2",
|
|
10
|
-
"@
|
|
10
|
+
"@fastify/multipart": "9.3.0",
|
|
11
|
+
"@inversifyjs/http-core": "4.4.0"
|
|
11
12
|
},
|
|
12
13
|
"devDependencies": {
|
|
13
14
|
"@stryker-mutator/core": "9.3.0",
|
|
14
15
|
"@stryker-mutator/typescript-checker": "9.3.0",
|
|
15
16
|
"@stryker-mutator/vitest-runner": "9.3.0",
|
|
16
|
-
"@types/node": "24.10.
|
|
17
|
-
"@vitest/coverage-v8": "4.0.
|
|
17
|
+
"@types/node": "24.10.1",
|
|
18
|
+
"@vitest/coverage-v8": "4.0.10",
|
|
18
19
|
"eslint": "9.39.1",
|
|
19
20
|
"prettier": "3.6.2",
|
|
20
21
|
"rimraf": "6.1.0",
|
|
21
|
-
"rollup": "4.
|
|
22
|
+
"rollup": "4.53.2",
|
|
22
23
|
"ts-loader": "9.5.4",
|
|
23
24
|
"tslib": "2.8.1",
|
|
24
25
|
"typescript": "5.9.3",
|
|
25
|
-
"vitest": "4.0.
|
|
26
|
+
"vitest": "4.0.10"
|
|
26
27
|
},
|
|
27
28
|
"devEngines": {
|
|
28
29
|
"node": "^24.10.0",
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
},
|
|
51
52
|
"name": "@inversifyjs/http-fastify",
|
|
52
53
|
"peerDependencies": {
|
|
53
|
-
"fastify": "^5.6.
|
|
54
|
+
"fastify": "^5.6.2",
|
|
54
55
|
"inversify": "^7.10.4"
|
|
55
56
|
},
|
|
56
57
|
"publishConfig": {
|
|
@@ -60,7 +61,7 @@
|
|
|
60
61
|
"type": "git",
|
|
61
62
|
"url": "git+https://github.com/inversify/monorepo.git"
|
|
62
63
|
},
|
|
63
|
-
"version": "4.
|
|
64
|
+
"version": "4.4.0",
|
|
64
65
|
"scripts": {
|
|
65
66
|
"build": "pnpm run build:cjs && pnpm run build:esm",
|
|
66
67
|
"build:cjs": "tsc --build tsconfig.cjs.json && pnpm exec foundation-ts-package-cjs ./lib/cjs",
|