@nestjs/platform-fastify 10.3.8 → 10.3.9
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/Readme.md +59 -52
- package/adapters/fastify-adapter.d.ts +1 -1
- package/adapters/fastify-adapter.js +11 -6
- package/package.json +3 -3
package/Readme.md
CHANGED
|
@@ -57,69 +57,76 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
|
|
|
57
57
|
|
|
58
58
|
#### Principal Sponsors
|
|
59
59
|
|
|
60
|
-
<table style="text-align:center;"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
<a href="https://
|
|
64
|
-
<td>
|
|
65
|
-
<a href="https://amplication.com/" target="_blank"><img src="https://nestjs.com/img/amplication-logo.svg" width="190" valign="middle" /></a></td>
|
|
66
|
-
</tr
|
|
60
|
+
<table style="text-align:center;">
|
|
61
|
+
<tr>
|
|
62
|
+
<td><a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
|
|
63
|
+
<td><a href="https://mojam.co" target="_blank"><img src="https://nestjs.com/img/logos/mojam-logo.png" width="80" valign="middle" /></a></td>
|
|
64
|
+
<td><a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td>
|
|
65
|
+
<td><a href="https://amplication.com/" target="_blank"><img src="https://nestjs.com/img/logos/amplication-logo.svg" width="190" valign="middle" /></a></td>
|
|
66
|
+
</tr>
|
|
67
|
+
</table>
|
|
67
68
|
|
|
68
69
|
#### Gold Sponsors
|
|
69
70
|
|
|
70
|
-
<table style="text-align:center;"
|
|
71
|
-
|
|
72
|
-
<td>
|
|
73
|
-
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
|
|
74
|
-
<td>
|
|
75
|
-
<a href="https://
|
|
76
|
-
<td>
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<a href="https://
|
|
80
|
-
<a href="https://
|
|
81
|
-
<a href="https://
|
|
82
|
-
<td>
|
|
83
|
-
<a href="https://
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
<a href="https://skunk.team" target="_blank"><img src="https://nestjs.com/img/skunk-logo.png" height="60" valign="middle" /></a></td>
|
|
87
|
-
</tr></table>
|
|
71
|
+
<table style="text-align:center;">
|
|
72
|
+
<tr>
|
|
73
|
+
<td><a href="https://www.redhat.com" target="_blank"><img src="https://nestjs.com/img/logos/red-hat-logo.svg" width="200" valign="middle" /></a></td>
|
|
74
|
+
<td><a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
|
|
75
|
+
<td><a href="https://nx.dev" target="_blank"><img src="https://nestjs.com/img/logos/nx-logo.png" height="45" valign="middle" /></a></td>
|
|
76
|
+
<td><a href="https://intrinsic.ventures/" target="_blank"><img src="https://nestjs.com/img/logos/intrinisic-logo.png" width="210" valign="middle" /></a></td>
|
|
77
|
+
<td><a href="https://jetbrains.com/" target="_blank"><img src="https://nestjs.com/img/logos/jetbrains-logo.svg" width="90" valign="middle" /></a></td>
|
|
78
|
+
</tr>
|
|
79
|
+
<tr>
|
|
80
|
+
<td><a href="https://snyk.co/nestjs" target="_blank"><img src="https://nestjs.com/img/logos/snyk-logo-black.png" width="185" valign="middle" /></a></td>
|
|
81
|
+
<td><a href="https://fuseautotech.com/" target="_blank"><img src="https://nestjs.com/img/logos/fuse-logo.svg" width="105" valign="middle" /></a></td>
|
|
82
|
+
<td><a href="https://ridicorp.com/career/" target="_blank"><img src="https://nestjs.com/img/logos/ridi-logo.svg" width="105" valign="middle" /></a></td>
|
|
83
|
+
<td><a href="https://www.movavi.com/imovie-for-windows.html" target="_blank"><img src="https://nestjs.com/img/logos/movavi-logo.svg" width="105" valign="middle" /></a></td>
|
|
84
|
+
<td><a href="https://skunk.team" target="_blank"><img src="https://nestjs.com/img/logos/skunk-logo.png" height="60" valign="middle" /></a></td>
|
|
85
|
+
</tr>
|
|
86
|
+
</table>
|
|
88
87
|
|
|
89
88
|
#### Silver Sponsors
|
|
90
89
|
|
|
91
|
-
<table style="text-align:center;"
|
|
92
|
-
<
|
|
93
|
-
<td><a href="https://
|
|
90
|
+
<table style="text-align:center;">
|
|
91
|
+
<tr>
|
|
92
|
+
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="120" valign="middle" /></a></td>
|
|
93
|
+
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
|
|
94
94
|
</tr>
|
|
95
95
|
</table>
|
|
96
96
|
|
|
97
97
|
#### Sponsors
|
|
98
98
|
|
|
99
|
-
<table
|
|
100
|
-
<
|
|
101
|
-
<a href="https://www.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
<a href="https://
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
<td align="center" valign="middle"><a href="https://
|
|
110
|
-
|
|
111
|
-
<td align="center" valign="middle"><a href="https://
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
99
|
+
<table>
|
|
100
|
+
<tr>
|
|
101
|
+
<td align="center" valign="middle"><a href="https://www.swingdev.io" target="_blank"><img src="https://nestjs.com/img/logos/swingdev-logo.svg#1" width="110" valign="middle" /></a></td>
|
|
102
|
+
<td align="center" valign="middle"><a href="https://www.novologic.com/" target="_blank"><img src="https://nestjs.com/img/logos/novologic.png" width="110" valign="middle" /></a></td>
|
|
103
|
+
<td align="center" valign="middle"><a href="https://mantro.net/" target="_blank"><img src="https://nestjs.com/img/logos/mantro-logo.svg" width="95" valign="middle" /></a></td>
|
|
104
|
+
<td align="center" valign="middle"><a href="https://triplebyte.com/" target="_blank"><img src="https://nestjs.com/img/logos/triplebyte.png" width="107" valign="middle" /></a></td>
|
|
105
|
+
<td align="center" valign="middle"><a href="https://nearpod.com/" target="_blank"><img src="https://nestjs.com/img/logos/nearpod-logo.svg" width="100" valign="middle" /></a></td>
|
|
106
|
+
<td align="center" valign="middle"><a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/logos/genuinebee.svg" width="97" valign="middle" /></a></td>
|
|
107
|
+
</tr>
|
|
108
|
+
<tr>
|
|
109
|
+
<td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/logos/vpn-review-logo.png" width="85" valign="middle" /></a></td>
|
|
110
|
+
<td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/logos/lambda-it-logo.svg" width="115" valign="middle" /></a></td>
|
|
111
|
+
<td align="center" valign="middle"><a href="https://rocketech.it/cases/?utm_source=google&utm_medium=badge&utm_campaign=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/rocketech-logo.svg" width="110" valign="middle" /></a></td>
|
|
112
|
+
<td align="center" valign="middle"><a href="https://www.anonymistic.com/" target="_blank"><img src="https://nestjs.com/img/logos/anonymistic-logo.png" width="125" valign="middle" /></a></td>
|
|
113
|
+
<td align="center" valign="middle"><a href="https://www.naologic.com/" target="_blank"><img src="https://nestjs.com/img/logos/naologic-logo.svg" width="125" valign="middle" /></a></td>
|
|
114
|
+
<td align="center" valign="middle"><a href="https://triplecore.io" target="_blank"><img src="https://nestjs.com/img/logos/triplecore-logo.svg" width="50" valign="middle" /></a></td>
|
|
115
|
+
</tr>
|
|
116
|
+
<tr>
|
|
117
|
+
<td align="center" valign="middle"><a href="https://thecasinowizard.com/bonuses/no-deposit-bonuses/" target="_blank"><img src="https://nestjs.com/img/logos/casinowizard-logo.png" width="120" valign="middle" /></a></td>
|
|
118
|
+
<td align="center" valign="middle"><a href="https://polygon-software.ch/" target="_blank"><img src="https://nestjs.com/img/logos/polygon-logo.svg" width="120" valign="middle" /></a></td>
|
|
119
|
+
<td align="center" valign="middle"><a href="https://boringowl.io/" target="_blank"><img src="https://nestjs.com/img/logos/boringowl-logo.svg" width="120" valign="middle" /></a></td>
|
|
120
|
+
<td align="center" valign="middle"><a href="https://nordbot.app/" target="_blank"><img src="https://nestjs.com/img/logos/nordbot-logo.png" width="120" valign="middle" /></a></td>
|
|
121
|
+
<td align="center" valign="middle"><a href="https://doppio.sh/" target="_blank"><img src="https://nestjs.com/img/logos/dopiosh-logo.png" width="50" valign="middle" /></a></td>
|
|
122
|
+
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
|
|
123
|
+
</tr>
|
|
124
|
+
<tr>
|
|
125
|
+
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
|
|
126
|
+
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
|
|
127
|
+
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
|
|
128
|
+
</tr>
|
|
129
|
+
</table>
|
|
123
130
|
|
|
124
131
|
## Backers
|
|
125
132
|
|
|
@@ -42,7 +42,7 @@ export declare class FastifyAdapter<TServer extends RawServerBase = RawServerDef
|
|
|
42
42
|
protected readonly instance: TInstance;
|
|
43
43
|
private _isParserRegistered;
|
|
44
44
|
private isMiddieRegistered;
|
|
45
|
-
private versioningOptions
|
|
45
|
+
private versioningOptions?;
|
|
46
46
|
private readonly versionConstraint;
|
|
47
47
|
get isParserRegistered(): boolean;
|
|
48
48
|
constructor(instanceOrOptions?: TInstance | FastifyHttp2Options<any> | FastifyHttp2SecureOptions<any> | FastifyHttpsOptions<any> | FastifyServerOptions<TServer>);
|
|
@@ -59,7 +59,7 @@ class FastifyAdapter extends http_adapter_1.AbstractHttpAdapter {
|
|
|
59
59
|
},
|
|
60
60
|
deriveConstraint: (req) => {
|
|
61
61
|
// Media Type (Accept Header) Versioning Handler
|
|
62
|
-
if (this.versioningOptions
|
|
62
|
+
if (this.versioningOptions?.type === common_1.VersioningType.MEDIA_TYPE) {
|
|
63
63
|
const MEDIA_TYPE_HEADER = 'Accept';
|
|
64
64
|
const acceptHeaderValue = (req.headers?.[MEDIA_TYPE_HEADER] || req.headers?.[MEDIA_TYPE_HEADER.toLowerCase()]);
|
|
65
65
|
const acceptHeaderVersionParameter = acceptHeaderValue
|
|
@@ -70,7 +70,7 @@ class FastifyAdapter extends http_adapter_1.AbstractHttpAdapter {
|
|
|
70
70
|
: acceptHeaderVersionParameter.split(this.versioningOptions.key)[1];
|
|
71
71
|
}
|
|
72
72
|
// Header Versioning Handler
|
|
73
|
-
else if (this.versioningOptions
|
|
73
|
+
else if (this.versioningOptions?.type === common_1.VersioningType.HEADER) {
|
|
74
74
|
const customHeaderVersionParameter = req.headers?.[this.versioningOptions.header] ||
|
|
75
75
|
req.headers?.[this.versioningOptions.header.toLowerCase()];
|
|
76
76
|
return (0, shared_utils_1.isUndefined)(customHeaderVersionParameter)
|
|
@@ -78,7 +78,7 @@ class FastifyAdapter extends http_adapter_1.AbstractHttpAdapter {
|
|
|
78
78
|
: customHeaderVersionParameter;
|
|
79
79
|
}
|
|
80
80
|
// Custom Versioning Handler
|
|
81
|
-
else if (this.versioningOptions
|
|
81
|
+
else if (this.versioningOptions?.type === common_1.VersioningType.CUSTOM) {
|
|
82
82
|
return this.versioningOptions.extractor(req);
|
|
83
83
|
}
|
|
84
84
|
return undefined;
|
|
@@ -371,6 +371,11 @@ class FastifyAdapter extends http_adapter_1.AbstractHttpAdapter {
|
|
|
371
371
|
const routeConstraints = Reflect.getMetadata(constants_1.FASTIFY_ROUTE_CONSTRAINTS_METADATA, handlerRef);
|
|
372
372
|
const hasConfig = !(0, shared_utils_1.isUndefined)(routeConfig);
|
|
373
373
|
const hasConstraints = !(0, shared_utils_1.isUndefined)(routeConstraints);
|
|
374
|
+
const routeToInject = {
|
|
375
|
+
method: routerMethodKey,
|
|
376
|
+
url: args[0],
|
|
377
|
+
handler: handlerRef,
|
|
378
|
+
};
|
|
374
379
|
if (isVersioned || hasConstraints || hasConfig) {
|
|
375
380
|
const isPathAndRouteTuple = args.length === 2;
|
|
376
381
|
if (isPathAndRouteTuple) {
|
|
@@ -388,11 +393,11 @@ class FastifyAdapter extends http_adapter_1.AbstractHttpAdapter {
|
|
|
388
393
|
},
|
|
389
394
|
}),
|
|
390
395
|
};
|
|
391
|
-
const
|
|
392
|
-
return this.instance
|
|
396
|
+
const routeToInjectWithOptions = { ...routeToInject, ...options };
|
|
397
|
+
return this.instance.route(routeToInjectWithOptions);
|
|
393
398
|
}
|
|
394
399
|
}
|
|
395
|
-
return this.instance
|
|
400
|
+
return this.instance.route(routeToInject);
|
|
396
401
|
}
|
|
397
402
|
}
|
|
398
403
|
exports.FastifyAdapter = FastifyAdapter;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestjs/platform-fastify",
|
|
3
|
-
"version": "10.3.
|
|
3
|
+
"version": "10.3.9",
|
|
4
4
|
"description": "Nest - modern, fast, powerful node.js web framework (@platform-fastify)",
|
|
5
5
|
"author": "Kamil Mysliwiec",
|
|
6
6
|
"license": "MIT",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@fastify/cors": "9.0.1",
|
|
22
22
|
"@fastify/formbody": "7.4.0",
|
|
23
|
-
"@fastify/middie": "8.3.
|
|
24
|
-
"fastify": "4.
|
|
23
|
+
"@fastify/middie": "8.3.1",
|
|
24
|
+
"fastify": "4.27.0",
|
|
25
25
|
"light-my-request": "5.13.0",
|
|
26
26
|
"path-to-regexp": "3.2.0",
|
|
27
27
|
"tslib": "2.6.2"
|