@inversifyjs/http-fastify 4.8.0 → 4.9.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 +16 -0
- package/lib/cjs/adapter/InversifyFastifyHttpAdapter.d.ts +3 -2
- package/lib/cjs/adapter/InversifyFastifyHttpAdapter.d.ts.map +1 -1
- package/lib/cjs/adapter/InversifyFastifyHttpAdapter.js +29 -32
- package/lib/cjs/adapter/InversifyFastifyHttpAdapter.js.map +1 -1
- package/lib/esm/index.d.ts +3 -2
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -1
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @inversifyjs/http-fastify
|
|
2
2
|
|
|
3
|
+
## 4.9.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
- @inversifyjs/http-core@4.9.0
|
|
9
|
+
|
|
10
|
+
## 4.8.1
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated adapters to rely on non abstract build
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
- @inversifyjs/http-core@4.8.1
|
|
17
|
+
- inversify@7.10.7
|
|
18
|
+
|
|
3
19
|
## 4.8.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
|
@@ -7,11 +7,12 @@ import { Container } from 'inversify';
|
|
|
7
7
|
import { FastifyHttpAdapterOptions } from '../models/FastifyHttpAdapterOptions';
|
|
8
8
|
type InversifyFastifyRequest = FastifyRequest<RouteGenericInterface, http.Server | http2.Http2Server, http.IncomingMessage | http2.Http2ServerRequest>;
|
|
9
9
|
type InversifyFastifyReply = FastifyReply<RouteGenericInterface, http.Server | http2.Http2Server, http.IncomingMessage | http2.Http2ServerRequest, http.ServerResponse | http2.Http2ServerResponse>;
|
|
10
|
-
export declare class InversifyFastifyHttpAdapter extends InversifyHttpAdapter<InversifyFastifyRequest, InversifyFastifyReply, () => void, void, FastifyHttpAdapterOptions> {
|
|
10
|
+
export declare class InversifyFastifyHttpAdapter extends InversifyHttpAdapter<InversifyFastifyRequest, InversifyFastifyReply, () => void, void, FastifyHttpAdapterOptions, FastifyInstance> {
|
|
11
11
|
#private;
|
|
12
12
|
readonly id: symbol;
|
|
13
13
|
constructor(container: Container, httpAdapterOptions?: FastifyHttpAdapterOptions, customApp?: FastifyInstance);
|
|
14
|
-
|
|
14
|
+
protected _buildApp(customApp: FastifyInstance | undefined): FastifyInstance;
|
|
15
|
+
protected _buildDefaultFastifyApp(customApp?: FastifyInstance): FastifyInstance;
|
|
15
16
|
protected _getBody(request: InversifyFastifyRequest, _response: InversifyFastifyReply, parameterName?: string): unknown;
|
|
16
17
|
protected _getParams(request: InversifyFastifyRequest): Record<string, string>;
|
|
17
18
|
protected _getParams(request: InversifyFastifyRequest, parameterName: string): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InversifyFastifyHttpAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,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,EACd,qBAAqB,EAEtB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAMhF,KAAK,uBAAuB,GAAG,cAAc,CAC3C,qBAAqB,EACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,EAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,kBAAkB,CAChD,CAAC;AAEF,KAAK,qBAAqB,GAAG,YAAY,CACvC,qBAAqB,EACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,EAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAC/C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,mBAAmB,CAChD,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,oBAAoB,CACnE,uBAAuB,EACvB,qBAAqB,EACrB,MAAM,IAAI,EACV,IAAI,EACJ,yBAAyB,
|
|
1
|
+
{"version":3,"file":"InversifyFastifyHttpAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,19 +10,34 @@ const fastify_1 = require("fastify");
|
|
|
10
10
|
const ADAPTER_ID = Symbol.for('@inversifyjs/http-fastify/InversifyFastifyHttpAdapter');
|
|
11
11
|
class InversifyFastifyHttpAdapter extends http_core_1.InversifyHttpAdapter {
|
|
12
12
|
id = ADAPTER_ID;
|
|
13
|
-
#app;
|
|
14
13
|
constructor(container, httpAdapterOptions, customApp) {
|
|
15
14
|
super(container, {
|
|
16
15
|
logger: true,
|
|
17
16
|
useCookies: false,
|
|
18
17
|
useFormUrlEncoded: false,
|
|
19
18
|
useMultipartFormData: false,
|
|
20
|
-
}, httpAdapterOptions, [http_core_1.RequestMethodParameterType.Body]);
|
|
21
|
-
this.#app = this.#buildDefaultFastifyApp(customApp);
|
|
19
|
+
}, httpAdapterOptions, [http_core_1.RequestMethodParameterType.Body], customApp);
|
|
22
20
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
_buildApp(customApp) {
|
|
22
|
+
return customApp ?? this._buildDefaultFastifyApp();
|
|
23
|
+
}
|
|
24
|
+
_buildDefaultFastifyApp(customApp) {
|
|
25
|
+
const app = customApp ?? (0, fastify_1.fastify)();
|
|
26
|
+
if (this.httpAdapterOptions.useCookies) {
|
|
27
|
+
app.register(cookie_1.default);
|
|
28
|
+
}
|
|
29
|
+
if (this.httpAdapterOptions.useFormUrlEncoded) {
|
|
30
|
+
app.register(formbody_1.default);
|
|
31
|
+
}
|
|
32
|
+
if (this.httpAdapterOptions.useMultipartFormData !== false) {
|
|
33
|
+
if (this.httpAdapterOptions.useMultipartFormData === true) {
|
|
34
|
+
app.register(multipart_1.default);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
app.register(multipart_1.default, this.httpAdapterOptions.useMultipartFormData);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return app;
|
|
26
41
|
}
|
|
27
42
|
_getBody(request, _response, parameterName) {
|
|
28
43
|
if (this.httpAdapterOptions.useMultipartFormData !== false) {
|
|
@@ -107,42 +122,24 @@ class InversifyFastifyHttpAdapter extends http_core_1.InversifyHttpAdapter {
|
|
|
107
122
|
this.#getAppRouteHandler(routeParams.requestMethodType)(normalizedPath, fastifyHandler);
|
|
108
123
|
}
|
|
109
124
|
}
|
|
110
|
-
#buildDefaultFastifyApp(customApp) {
|
|
111
|
-
const app = customApp ?? (0, fastify_1.fastify)();
|
|
112
|
-
if (this.httpAdapterOptions.useCookies) {
|
|
113
|
-
app.register(cookie_1.default);
|
|
114
|
-
}
|
|
115
|
-
if (this.httpAdapterOptions.useFormUrlEncoded) {
|
|
116
|
-
app.register(formbody_1.default);
|
|
117
|
-
}
|
|
118
|
-
if (this.httpAdapterOptions.useMultipartFormData !== false) {
|
|
119
|
-
if (this.httpAdapterOptions.useMultipartFormData === true) {
|
|
120
|
-
app.register(multipart_1.default);
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
app.register(multipart_1.default, this.httpAdapterOptions.useMultipartFormData);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return app;
|
|
127
|
-
}
|
|
128
125
|
#getAppRouteHandler(requestMethodType) {
|
|
129
126
|
switch (requestMethodType) {
|
|
130
127
|
case http_core_1.RequestMethodType.All:
|
|
131
|
-
return this
|
|
128
|
+
return this._app.all.bind(this._app);
|
|
132
129
|
case http_core_1.RequestMethodType.Delete:
|
|
133
|
-
return this
|
|
130
|
+
return this._app.delete.bind(this._app);
|
|
134
131
|
case http_core_1.RequestMethodType.Get:
|
|
135
|
-
return this
|
|
132
|
+
return this._app.get.bind(this._app);
|
|
136
133
|
case http_core_1.RequestMethodType.Head:
|
|
137
|
-
return this
|
|
134
|
+
return this._app.head.bind(this._app);
|
|
138
135
|
case http_core_1.RequestMethodType.Options:
|
|
139
|
-
return this
|
|
136
|
+
return this._app.options.bind(this._app);
|
|
140
137
|
case http_core_1.RequestMethodType.Patch:
|
|
141
|
-
return this
|
|
138
|
+
return this._app.patch.bind(this._app);
|
|
142
139
|
case http_core_1.RequestMethodType.Post:
|
|
143
|
-
return this
|
|
140
|
+
return this._app.post.bind(this._app);
|
|
144
141
|
case http_core_1.RequestMethodType.Put:
|
|
145
|
-
return this
|
|
142
|
+
return this._app.put.bind(this._app);
|
|
146
143
|
}
|
|
147
144
|
}
|
|
148
145
|
#getMultipartRequestBody(request, parameterName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InversifyFastifyHttpAdapter.js","sourceRoot":"","sources":["../../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":";;;;AAIA,qEAA+D;AAC/D,yEAAgD;AAChD,2EAAkD;AAClD,sDASgC;AAChC,qCAQiB;AAMjB,MAAM,UAAU,GAAkB,MAAM,CAAC,GAAG,CAC1C,uDAAuD,CACxD,CAAC;AAeF,MAAa,2BAA4B,SAAQ,
|
|
1
|
+
{"version":3,"file":"InversifyFastifyHttpAdapter.js","sourceRoot":"","sources":["../../../src/adapter/InversifyFastifyHttpAdapter.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -14,11 +14,12 @@ interface FastifyHttpAdapterOptions extends HttpAdapterOptions {
|
|
|
14
14
|
|
|
15
15
|
type InversifyFastifyRequest = FastifyRequest<RouteGenericInterface, http.Server | http2.Http2Server, http.IncomingMessage | http2.Http2ServerRequest>;
|
|
16
16
|
type InversifyFastifyReply = FastifyReply<RouteGenericInterface, http.Server | http2.Http2Server, http.IncomingMessage | http2.Http2ServerRequest, http.ServerResponse | http2.Http2ServerResponse>;
|
|
17
|
-
declare class InversifyFastifyHttpAdapter extends InversifyHttpAdapter<InversifyFastifyRequest, InversifyFastifyReply, () => void, void, FastifyHttpAdapterOptions> {
|
|
17
|
+
declare class InversifyFastifyHttpAdapter extends InversifyHttpAdapter<InversifyFastifyRequest, InversifyFastifyReply, () => void, void, FastifyHttpAdapterOptions, FastifyInstance> {
|
|
18
18
|
#private;
|
|
19
19
|
readonly id: symbol;
|
|
20
20
|
constructor(container: Container, httpAdapterOptions?: FastifyHttpAdapterOptions, customApp?: FastifyInstance);
|
|
21
|
-
|
|
21
|
+
protected _buildApp(customApp: FastifyInstance | undefined): FastifyInstance;
|
|
22
|
+
protected _buildDefaultFastifyApp(customApp?: FastifyInstance): FastifyInstance;
|
|
22
23
|
protected _getBody(request: InversifyFastifyRequest, _response: InversifyFastifyReply, parameterName?: string): unknown;
|
|
23
24
|
protected _getParams(request: InversifyFastifyRequest): Record<string, string>;
|
|
24
25
|
protected _getParams(request: InversifyFastifyRequest, parameterName: string): string | undefined;
|
package/lib/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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";const n=Symbol.for("@inversifyjs/http-fastify/InversifyFastifyHttpAdapter");class u extends s{id=n
|
|
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";const n=Symbol.for("@inversifyjs/http-fastify/InversifyFastifyHttpAdapter");class u extends s{id=n;constructor(t,e,r){super(t,{logger:!0,useCookies:!1,useFormUrlEncoded:!1,useMultipartFormData:!1},e,[a.Body],r)}_buildApp(t){return t??this._buildDefaultFastifyApp()}_buildDefaultFastifyApp(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}_getBody(t,e,r){return!1!==this.httpAdapterOptions.useMultipartFormData?this.#t(t,r):this.#e(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)}_sendBodySeparator(t,e){const r=e.getHeaders();if("stream"in e.raw){const t={":status":e.statusCode};for(const[e,s]of Object.entries(r))void 0!==s&&(t[e]=s);e.raw.stream.respond(t,{endStream:!1})}else{e.raw.statusCode=e.statusCode;for(const[t,s]of Object.entries(r))void 0!==s&&e.raw.setHeader(t,s);e.raw.flushHeaders()}}_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.#r(e.requestMethodType)(s,o)}}#r(t){switch(t){case o.All:return this._app.all.bind(this._app);case o.Delete:return this._app.delete.bind(this._app);case o.Get:return this._app.get.bind(this._app);case o.Head:return this._app.head.bind(this._app);case o.Options:return this._app.options.bind(this._app);case o.Patch:return this._app.patch.bind(this._app);case o.Post:return this._app.post.bind(this._app);case o.Put:return this._app.put.bind(this._app)}}#t(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.#e(t,e)}#e(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":["ADAPTER_ID","Symbol","for","InversifyFastifyHttpAdapter","InversifyHttpAdapter","id","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/adapter/InversifyFastifyHttpAdapter.ts"],"sourcesContent":[null],"names":["ADAPTER_ID","Symbol","for","InversifyFastifyHttpAdapter","InversifyHttpAdapter","id","constructor","container","httpAdapterOptions","customApp","super","logger","useCookies","useFormUrlEncoded","useMultipartFormData","RequestMethodParameterType","Body","_buildApp","this","_buildDefaultFastifyApp","app","fastify","register","cookie","fastifyFormbody","fastifyMultipart","_getBody","request","_response","parameterName","getMultipartRequestBody","getRequestBody","_getParams","undefined","params","_getQuery","query","_getHeaders","headers","_getCookies","cookies","_replyText","_request","response","value","send","_replyJson","_replyStream","_sendBodySeparator","responseHeaders","getHeaders","raw","statusCode","headerKey","headerValue","Object","entries","stream","respond","endStream","setHeader","flushHeaders","_setStatus","status","_setHeader","key","header","_buildRouter","routerParams","routeParams","routeParamsList","orderedHandlers","preHandlerMiddlewareList","guardList","handler","postHandlerMiddlewareList","normalizedPath","buildNormalizedPath","path","handleMiddlewares","handleMiddlewareList","fastifyHandler","async","reply","getAppRouteHandler","requestMethodType","RequestMethodType","All","_app","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
|
@@ -8,22 +8,22 @@
|
|
|
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.
|
|
11
|
+
"@inversifyjs/http-core": "4.9.0"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
14
|
"@stryker-mutator/core": "9.4.0",
|
|
15
15
|
"@stryker-mutator/typescript-checker": "9.4.0",
|
|
16
16
|
"@stryker-mutator/vitest-runner": "9.4.0",
|
|
17
|
-
"@types/node": "24.10.
|
|
18
|
-
"@vitest/coverage-v8": "4.0.
|
|
19
|
-
"eslint": "9.39.
|
|
20
|
-
"prettier": "3.7.
|
|
17
|
+
"@types/node": "24.10.4",
|
|
18
|
+
"@vitest/coverage-v8": "4.0.16",
|
|
19
|
+
"eslint": "9.39.2",
|
|
20
|
+
"prettier": "3.7.4",
|
|
21
21
|
"rimraf": "6.1.2",
|
|
22
|
-
"rollup": "4.53.
|
|
22
|
+
"rollup": "4.53.5",
|
|
23
23
|
"ts-loader": "9.5.4",
|
|
24
24
|
"tslib": "2.8.1",
|
|
25
25
|
"typescript": "5.9.3",
|
|
26
|
-
"vitest": "4.0.
|
|
26
|
+
"vitest": "4.0.16"
|
|
27
27
|
},
|
|
28
28
|
"devEngines": {
|
|
29
29
|
"node": "^24.10.0",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"name": "@inversifyjs/http-fastify",
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"fastify": "^5.6.2",
|
|
55
|
-
"inversify": "^7.10.
|
|
55
|
+
"inversify": "^7.10.7"
|
|
56
56
|
},
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"type": "git",
|
|
62
62
|
"url": "git+https://github.com/inversify/monorepo.git"
|
|
63
63
|
},
|
|
64
|
-
"version": "4.
|
|
64
|
+
"version": "4.9.0",
|
|
65
65
|
"scripts": {
|
|
66
66
|
"build": "pnpm run build:cjs && pnpm run build:esm",
|
|
67
67
|
"build:cjs": "tsc --build tsconfig.cjs.json && pnpm exec foundation-ts-package-cjs ./lib/cjs",
|