fastify 5.0.0-alpha.2 → 5.0.0-alpha.4
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 +2 -2
- package/SPONSORS.md +2 -0
- package/build/build-validation.js +3 -15
- package/docs/Guides/Ecosystem.md +4 -0
- package/docs/Guides/Getting-Started.md +0 -2
- package/docs/Guides/Migration-Guide-V4.md +48 -0
- package/docs/Guides/Recommendations.md +8 -6
- package/docs/Reference/Errors.md +0 -2
- package/docs/Reference/Hooks.md +5 -9
- package/docs/Reference/Logging.md +1 -1
- package/docs/Reference/Reply.md +9 -11
- package/docs/Reference/Request.md +0 -11
- package/docs/Reference/Routes.md +4 -23
- package/docs/Reference/Server.md +30 -40
- package/docs/Reference/Type-Providers.md +2 -2
- package/docs/Reference/TypeScript.md +16 -18
- package/docs/Reference/Validation-and-Serialization.md +62 -27
- package/docs/Reference/Warnings.md +0 -26
- package/eslint.config.js +9 -25
- package/fastify.d.ts +10 -23
- package/fastify.js +60 -61
- package/lib/configValidator.js +130 -182
- package/lib/context.js +1 -22
- package/lib/decorate.js +2 -2
- package/lib/errors.js +0 -6
- package/lib/handleRequest.js +5 -5
- package/lib/reply.js +34 -74
- package/lib/request.js +0 -45
- package/lib/route.js +12 -27
- package/lib/schemas.js +27 -22
- package/lib/server.js +6 -11
- package/lib/symbols.js +1 -1
- package/lib/validation.js +27 -6
- package/lib/warnings.js +1 -92
- package/lib/wrapThenable.js +1 -1
- package/package.json +14 -15
- package/test/decorator.test.js +1 -1
- package/test/diagnostics-channel/404.test.js +1 -1
- package/test/diagnostics-channel/async-delay-request.test.js +1 -1
- package/test/diagnostics-channel/async-request.test.js +1 -1
- package/test/diagnostics-channel/error-before-handler.test.js +1 -1
- package/test/diagnostics-channel/error-request.test.js +1 -1
- package/test/diagnostics-channel/error-status.test.js +1 -1
- package/test/diagnostics-channel/init.test.js +2 -2
- package/test/diagnostics-channel/sync-delay-request.test.js +1 -1
- package/test/diagnostics-channel/sync-request-reply.test.js +1 -1
- package/test/diagnostics-channel/sync-request.test.js +1 -1
- package/test/{copy.test.js → http-methods/copy.test.js} +2 -1
- package/test/http-methods/custom-http-methods.test.js +111 -0
- package/test/{get.test.js → http-methods/get.test.js} +1 -1
- package/test/{head.test.js → http-methods/head.test.js} +7 -87
- package/test/{lock.test.js → http-methods/lock.test.js} +2 -1
- package/test/{mkcalendar.test.js → http-methods/mkcalendar.test.js} +2 -1
- package/test/{mkcol.test.js → http-methods/mkcol.test.js} +2 -1
- package/test/{move.test.js → http-methods/move.test.js} +2 -1
- package/test/{propfind.test.js → http-methods/propfind.test.js} +2 -1
- package/test/{proppatch.test.js → http-methods/proppatch.test.js} +2 -1
- package/test/{report.test.js → http-methods/report.test.js} +2 -1
- package/test/{search.test.js → http-methods/search.test.js} +2 -1
- package/test/{trace.test.js → http-methods/trace.test.js} +2 -1
- package/test/{unlock.test.js → http-methods/unlock.test.js} +2 -1
- package/test/internals/all.test.js +3 -3
- package/test/internals/decorator.test.js +2 -2
- package/test/internals/errors.test.js +7 -17
- package/test/internals/initialConfig.test.js +0 -31
- package/test/internals/reply-serialize.test.js +25 -10
- package/test/internals/reply.test.js +31 -153
- package/test/internals/request-validate.test.js +21 -12
- package/test/internals/request.test.js +1 -18
- package/test/internals/validation.test.js +49 -56
- package/test/listen.1.test.js +66 -14
- package/test/listen.5.test.js +11 -0
- package/test/reply-trailers.test.js +1 -32
- package/test/route-shorthand.test.js +3 -1
- package/test/route.3.test.js +4 -1
- package/test/route.7.test.js +2 -12
- package/test/route.8.test.js +34 -5
- package/test/router-options.test.js +6 -3
- package/test/schema-examples.test.js +15 -6
- package/test/schema-feature.test.js +178 -35
- package/test/schema-serialization.test.js +125 -21
- package/test/schema-validation.test.js +154 -3
- package/test/skip-reply-send.test.js +6 -6
- package/test/stream-serializers.test.js +37 -0
- package/test/throw.test.js +2 -14
- package/test/types/errors.test-d.ts +1 -2
- package/test/types/fastify.test-d.ts +23 -34
- package/test/types/hooks.test-d.ts +56 -56
- package/test/types/instance.test-d.ts +3 -3
- package/test/types/reply.test-d.ts +7 -8
- package/test/types/request.test-d.ts +2 -12
- package/test/types/route.test-d.ts +158 -158
- package/test/types/schema.test-d.ts +22 -5
- package/test/versioned-routes.test.js +0 -90
- package/test/web-api.test.js +75 -0
- package/types/errors.d.ts +78 -79
- package/types/hooks.d.ts +18 -18
- package/types/instance.d.ts +1 -1
- package/types/logger.d.ts +7 -7
- package/types/reply.d.ts +18 -22
- package/types/request.d.ts +8 -14
- package/types/route.d.ts +5 -6
- package/types/type-provider.d.ts +1 -1
- package/.tap/processinfo/09002e93-10ad-430c-bc86-c0576928b0ed.json +0 -241
- package/.tap/processinfo/ee66c5ab-635d-48b5-8be6-3dc3ceea5bfc.json +0 -268
- package/.tap/test-results/test/404s.test.js.tap +0 -623
- package/.tap/test-results/test/500s.test.js.tap +0 -64
- package/.tap/test-results/test/allowUnsafeRegex.test.js.tap +0 -36
- package/.tap/test-results/test/als.test.js.tap +0 -15
- package/.tap/test-results/test/async-await.test.js.tap +0 -184
- package/.tap/test-results/test/async-dispose.test.js.tap +0 -8
- package/.tap/test-results/test/async_hooks.test.js.tap +0 -10
- package/.tap/test-results/test/bodyLimit.test.js.tap +0 -48
- package/.tap/test-results/test/buffer.test.js.tap +0 -20
- package/.tap/test-results/test/build/error-serializer.test.js.tap +0 -12
- package/.tap/test-results/test/build/version.test.js.tap +0 -7
- package/.tap/test-results/test/case-insensitive.test.js.tap +0 -36
- package/.tap/test-results/test/chainable.test.js.tap +0 -17
- package/.tap/test-results/test/check.test.js.tap +0 -10
- package/.tap/test-results/test/childLoggerFactory.test.js.tap +0 -23
- package/.tap/test-results/test/client-timeout.test.js.tap +0 -7
- package/.tap/test-results/test/close-pipelining.test.js.tap +0 -15
- package/.tap/test-results/test/close.test.js.tap +0 -172
- package/.tap/test-results/test/connectionTimeout.test.js.tap +0 -12
- package/.tap/test-results/test/constrained-routes.test.js.tap +0 -173
- package/.tap/test-results/test/content-length.test.js.tap +0 -46
- package/.tap/test-results/test/content-parser.test.js.tap +0 -266
- package/.tap/test-results/test/content-type.test.js.tap +0 -14
- package/.tap/test-results/test/context-config.test.js.tap +0 -41
- package/.tap/test-results/test/copy.test.js.tap +0 -14
- package/.tap/test-results/test/custom-http-server.test.js.tap +0 -30
- package/.tap/test-results/test/custom-parser-async.test.js.tap +0 -21
- package/.tap/test-results/test/custom-parser.0.test.js.tap +0 -199
- package/.tap/test-results/test/custom-parser.1.test.js.tap +0 -90
- package/.tap/test-results/test/custom-parser.2.test.js.tap +0 -22
- package/.tap/test-results/test/custom-parser.3.test.js.tap +0 -53
- package/.tap/test-results/test/custom-parser.4.test.js.tap +0 -45
- package/.tap/test-results/test/custom-parser.5.test.js.tap +0 -41
- package/.tap/test-results/test/custom-querystring-parser.test.js.tap +0 -46
- package/.tap/test-results/test/decorator.test.js.tap +0 -465
- package/.tap/test-results/test/delete.test.js.tap +0 -110
- package/.tap/test-results/test/diagnostics-channel/404.test.js.tap +0 -15
- package/.tap/test-results/test/diagnostics-channel/async-delay-request.test.js.tap +0 -25
- package/.tap/test-results/test/diagnostics-channel/async-request.test.js.tap +0 -24
- package/.tap/test-results/test/diagnostics-channel/error-before-handler.test.js.tap +0 -9
- package/.tap/test-results/test/diagnostics-channel/error-request.test.js.tap +0 -20
- package/.tap/test-results/test/diagnostics-channel/error-status.test.js.tap +0 -10
- package/.tap/test-results/test/diagnostics-channel/init.test.js.tap +0 -14
- package/.tap/test-results/test/diagnostics-channel/sync-delay-request.test.js.tap +0 -16
- package/.tap/test-results/test/diagnostics-channel/sync-request-reply.test.js.tap +0 -16
- package/.tap/test-results/test/diagnostics-channel/sync-request.test.js.tap +0 -19
- package/.tap/test-results/test/encapsulated-child-logger-factory.test.js.tap +0 -18
- package/.tap/test-results/test/encapsulated-error-handler.test.js.tap +0 -243
- package/.tap/test-results/test/esm/errorCodes.test.mjs.tap +0 -9
- package/.tap/test-results/test/esm/esm.test.mjs.tap +0 -8
- package/.tap/test-results/test/esm/index.test.js.tap +0 -8
- package/.tap/test-results/test/fastify-instance.test.js.tap +0 -114
- package/.tap/test-results/test/findRoute.test.js.tap +0 -37
- package/.tap/test-results/test/fluent-schema.test.js.tap +0 -36
- package/.tap/test-results/test/genReqId.test.js.tap +0 -106
- package/.tap/test-results/test/get.test.js.tap +0 -151
- package/.tap/test-results/test/handler-context.test.js.tap +0 -19
- package/.tap/test-results/test/has-route.test.js.tap +0 -30
- package/.tap/test-results/test/head.test.js.tap +0 -130
- package/.tap/test-results/test/header-overflow.test.js.tap +0 -16
- package/.tap/test-results/test/hooks-async.test.js.tap +0 -286
- package/.tap/test-results/test/hooks.on-listen.test.js.tap +0 -311
- package/.tap/test-results/test/hooks.on-ready.test.js.tap +0 -151
- package/.tap/test-results/test/hooks.test.js.tap +0 -966
- package/.tap/test-results/test/http2/closing.test.js.tap +0 -35
- package/.tap/test-results/test/http2/constraint.test.js.tap +0 -32
- package/.tap/test-results/test/http2/head.test.js.tap +0 -9
- package/.tap/test-results/test/http2/missing-http2-module.test.js.tap +0 -8
- package/.tap/test-results/test/http2/plain.test.js.tap +0 -22
- package/.tap/test-results/test/http2/secure-with-fallback.test.js.tap +0 -40
- package/.tap/test-results/test/http2/secure.test.js.tap +0 -27
- package/.tap/test-results/test/http2/unknown-http-method.test.js.tap +0 -9
- package/.tap/test-results/test/https/custom-https-server.test.js.tap +0 -10
- package/.tap/test-results/test/https/https.test.js.tap +0 -45
- package/.tap/test-results/test/imports.test.js.tap +0 -14
- package/.tap/test-results/test/inject.test.js.tap +0 -165
- package/.tap/test-results/test/internals/all.test.js.tap +0 -42
- package/.tap/test-results/test/internals/contentTypeParser.test.js.tap +0 -14
- package/.tap/test-results/test/internals/context.test.js.tap +0 -14
- package/.tap/test-results/test/internals/decorator.test.js.tap +0 -51
- package/.tap/test-results/test/internals/errors.test.js.tap +0 -1212
- package/.tap/test-results/test/internals/handleRequest.test.js.tap +0 -69
- package/.tap/test-results/test/internals/hookRunner.test.js.tap +0 -143
- package/.tap/test-results/test/internals/hooks.test.js.tap +0 -45
- package/.tap/test-results/test/internals/initialConfig.test.js.tap +0 -125
- package/.tap/test-results/test/internals/logger.test.js.tap +0 -71
- package/.tap/test-results/test/internals/plugin.test.js.tap +0 -48
- package/.tap/test-results/test/internals/reply-serialize.test.js.tap +0 -166
- package/.tap/test-results/test/internals/reply.test.js.tap +0 -688
- package/.tap/test-results/test/internals/reqIdGenFactory.test.js.tap +0 -74
- package/.tap/test-results/test/internals/request-validate.test.js.tap +0 -384
- package/.tap/test-results/test/internals/request.test.js.tap +0 -163
- package/.tap/test-results/test/internals/server.test.js.tap +0 -30
- package/.tap/test-results/test/internals/validation.test.js.tap +0 -121
- package/.tap/test-results/test/keepAliveTimeout.test.js.tap +0 -12
- package/.tap/test-results/test/listen.1.test.js.tap +0 -31
- package/.tap/test-results/test/listen.2.test.js.tap +0 -46
- package/.tap/test-results/test/listen.3.test.js.tap +0 -25
- package/.tap/test-results/test/listen.4.test.js.tap +0 -51
- package/.tap/test-results/test/lock.test.js.tap +0 -29
- package/.tap/test-results/test/logger/instantiation.test.js.tap +0 -92
- package/.tap/test-results/test/logger/logging.test.js.tap +0 -117
- package/.tap/test-results/test/logger/options.test.js.tap +0 -165
- package/.tap/test-results/test/logger/request.test.js.tap +0 -82
- package/.tap/test-results/test/logger/response.test.js.tap +0 -38
- package/.tap/test-results/test/maxRequestsPerSocket.test.js.tap +0 -44
- package/.tap/test-results/test/method-missing.test.js.tap +0 -8
- package/.tap/test-results/test/middleware.test.js.tap +0 -17
- package/.tap/test-results/test/mkcalendar.test.js.tap +0 -43
- package/.tap/test-results/test/mkcol.test.js.tap +0 -14
- package/.tap/test-results/test/move.test.js.tap +0 -15
- package/.tap/test-results/test/noop-set.test.js.tap +0 -8
- package/.tap/test-results/test/nullable-validation.test.js.tap +0 -36
- package/.tap/test-results/test/options.error-handler.test.js.tap +0 -186
- package/.tap/test-results/test/options.test.js.tap +0 -174
- package/.tap/test-results/test/output-validation.test.js.tap +0 -66
- package/.tap/test-results/test/patch.error-handler.test.js.tap +0 -206
- package/.tap/test-results/test/patch.test.js.tap +0 -182
- package/.tap/test-results/test/plugin.1.test.js.tap +0 -78
- package/.tap/test-results/test/plugin.2.test.js.tap +0 -102
- package/.tap/test-results/test/plugin.3.test.js.tap +0 -58
- package/.tap/test-results/test/plugin.4.test.js.tap +0 -164
- package/.tap/test-results/test/post-empty-body.test.js.tap +0 -8
- package/.tap/test-results/test/pretty-print.test.js.tap +0 -82
- package/.tap/test-results/test/promises.test.js.tap +0 -46
- package/.tap/test-results/test/propfind.test.js.tap +0 -43
- package/.tap/test-results/test/proppatch.test.js.tap +0 -29
- package/.tap/test-results/test/proto-poisoning.test.js.tap +0 -47
- package/.tap/test-results/test/put.error-handler.test.js.tap +0 -206
- package/.tap/test-results/test/put.test.js.tap +0 -182
- package/.tap/test-results/test/register.test.js.tap +0 -61
- package/.tap/test-results/test/reply-code.test.js.tap +0 -40
- package/.tap/test-results/test/reply-earlyHints.test.js.tap +0 -22
- package/.tap/test-results/test/reply-error.test.js.tap +0 -643
- package/.tap/test-results/test/reply-trailers.test.js.tap +0 -176
- package/.tap/test-results/test/report.test.js.tap +0 -43
- package/.tap/test-results/test/request-error.test.js.tap +0 -98
- package/.tap/test-results/test/request-id.test.js.tap +0 -38
- package/.tap/test-results/test/request.deprecated.test.js.tap +0 -13
- package/.tap/test-results/test/requestTimeout.test.js.tap +0 -21
- package/.tap/test-results/test/route-hooks.test.js.tap +0 -498
- package/.tap/test-results/test/route-prefix.test.js.tap +0 -195
- package/.tap/test-results/test/route-shorthand.test.js.tap +0 -190
- package/.tap/test-results/test/route.1.test.js.tap +0 -93
- package/.tap/test-results/test/route.2.test.js.tap +0 -28
- package/.tap/test-results/test/route.3.test.js.tap +0 -39
- package/.tap/test-results/test/route.4.test.js.tap +0 -32
- package/.tap/test-results/test/route.5.test.js.tap +0 -54
- package/.tap/test-results/test/route.6.test.js.tap +0 -81
- package/.tap/test-results/test/route.7.test.js.tap +0 -93
- package/.tap/test-results/test/route.8.test.js.tap +0 -38
- package/.tap/test-results/test/router-options.test.js.tap +0 -104
- package/.tap/test-results/test/same-shape.test.js.tap +0 -22
- package/.tap/test-results/test/schema-examples.test.js.tap +0 -85
- package/.tap/test-results/test/schema-feature.test.js.tap +0 -445
- package/.tap/test-results/test/schema-serialization.test.js.tap +0 -194
- package/.tap/test-results/test/schema-special-usage.test.js.tap +0 -186
- package/.tap/test-results/test/schema-validation.test.js.tap +0 -199
- package/.tap/test-results/test/search.test.js.tap +0 -77
- package/.tap/test-results/test/serialize-response.test.js.tap +0 -26
- package/.tap/test-results/test/server.test.js.tap +0 -65
- package/.tap/test-results/test/set-error-handler.test.js.tap +0 -7
- package/.tap/test-results/test/skip-reply-send.test.js.tap +0 -272
- package/.tap/test-results/test/stream.1.test.js.tap +0 -36
- package/.tap/test-results/test/stream.2.test.js.tap +0 -20
- package/.tap/test-results/test/stream.3.test.js.tap +0 -34
- package/.tap/test-results/test/stream.4.test.js.tap +0 -40
- package/.tap/test-results/test/stream.5.test.js.tap +0 -37
- package/.tap/test-results/test/sync-routes.test.js.tap +0 -19
- package/.tap/test-results/test/throw.test.js.tap +0 -116
- package/.tap/test-results/test/trace.test.js.tap +0 -7
- package/.tap/test-results/test/trust-proxy.test.js.tap +0 -109
- package/.tap/test-results/test/type-provider.test.js.tap +0 -12
- package/.tap/test-results/test/unlock.test.js.tap +0 -14
- package/.tap/test-results/test/upgrade.test.js.tap +0 -8
- package/.tap/test-results/test/url-rewriting.test.js.tap +0 -39
- package/.tap/test-results/test/useSemicolonDelimiter.test.js.tap +0 -33
- package/.tap/test-results/test/validation-error-handling.test.js.tap +0 -180
- package/.tap/test-results/test/versioned-routes.test.js.tap +0 -151
- package/.tap/test-results/test/web-api.test.js.tap +0 -51
- package/.tap/test-results/test/wrapThenable.test.js.tap +0 -11
- package/EXPENSE_POLICY.md +0 -105
- package/lib/httpMethods.js +0 -40
- package/test/method-missing.test.js +0 -24
- package/test/request.deprecated.test.js +0 -38
package/EXPENSE_POLICY.md
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# Expense Policy
|
|
2
|
-
|
|
3
|
-
Fastify collaborators accept donations through the [Open Collective](https://opencollective.com/fastify/)
|
|
4
|
-
platform and [GitHub Sponsors](https://github.com/sponsors/fastify)
|
|
5
|
-
to enhance the project and support the community.
|
|
6
|
-
|
|
7
|
-
This Collective is run by and for the benefit of the independent contributors to
|
|
8
|
-
the Fastify open source software project.
|
|
9
|
-
This Collective is not endorsed or administered by OpenJS Foundation, Inc.
|
|
10
|
-
(the “OpenJS Foundation”). The OpenJS Foundation does not receive or have
|
|
11
|
-
control over any funds contributed. The OpenJS Foundation does not direct or
|
|
12
|
-
otherwise supervise the actions of any contributor to the Fastify project,
|
|
13
|
-
and all donations made will be expended for the private benefit of or otherwise
|
|
14
|
-
to reimburse individuals that do not have an employer/employee, contractor, or
|
|
15
|
-
other agency relationship with the OpenJS Foundation.
|
|
16
|
-
The Fastify marks used herein are used under license from the OpenJS Foundation
|
|
17
|
-
for the benefit of the open source software community.
|
|
18
|
-
|
|
19
|
-
The admins of the Fastify Collective are the [lead maintainers](./GOVERNANCE.md)
|
|
20
|
-
of the project.
|
|
21
|
-
|
|
22
|
-
This document outlines the process for requesting reimbursement or an invoice
|
|
23
|
-
for expenses.
|
|
24
|
-
|
|
25
|
-
## Reimbursement
|
|
26
|
-
|
|
27
|
-
Reimbursement is applicable for expenses already paid, such as:
|
|
28
|
-
|
|
29
|
-
- Stickers
|
|
30
|
-
- Gadgets
|
|
31
|
-
- Hosting
|
|
32
|
-
|
|
33
|
-
**Before making any purchases**, initiate a [new discussion](https://github.com/orgs/fastify/discussions)
|
|
34
|
-
in the `fastify` organization with the following information:
|
|
35
|
-
|
|
36
|
-
- What is needed
|
|
37
|
-
- Why it is needed
|
|
38
|
-
- Cost
|
|
39
|
-
- Deadline
|
|
40
|
-
|
|
41
|
-
Once the discussion is approved by a lead maintainer and with no unresolved objections,
|
|
42
|
-
the purchase can proceed, and an expense can be submitted to the [Open Collective][submit].
|
|
43
|
-
This process takes a minimum of 3 business days from the request to allow time for
|
|
44
|
-
discussion approval.
|
|
45
|
-
|
|
46
|
-
The discussion helps prevent misunderstandings and ensures the expense is not rejected.
|
|
47
|
-
As a project under the OpenJS Foundation, Fastify benefits from the Foundation's
|
|
48
|
-
resources, including servers, domains, and [travel funds](https://github.com/openjs-foundation/community-fund/tree/main/programs/travel-fund).
|
|
49
|
-
|
|
50
|
-
Always seek approval first.
|
|
51
|
-
|
|
52
|
-
## Invoice
|
|
53
|
-
|
|
54
|
-
Invoices are for services provided to the Fastify project, such as PR reviews,
|
|
55
|
-
documentation, etc.
|
|
56
|
-
A VAT number is not required to submit an invoice.
|
|
57
|
-
Refer to the [Open Collective documentation][openc_docs] for details.
|
|
58
|
-
|
|
59
|
-
### Adding a bounty to an issue
|
|
60
|
-
|
|
61
|
-
Issues become eligible for a bounty when the core team adds the `bounty` label,
|
|
62
|
-
with the amount determined by the core team based on `estimated hours * rate`
|
|
63
|
-
(suggested $50 per hour).
|
|
64
|
-
|
|
65
|
-
> Example: If the estimated time to fix the issue is 2 hours,
|
|
66
|
-
> the bounty will be $100.
|
|
67
|
-
|
|
68
|
-
To add a bounty:
|
|
69
|
-
|
|
70
|
-
- Apply the `bounty` label to the issue
|
|
71
|
-
- Comment on the issue with the bounty amount
|
|
72
|
-
- Edit the first comment of the issue using this template:
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
## 💰 Bounty
|
|
76
|
-
|
|
77
|
-
This issue has a bounty of [$AMOUNT](LINK TO THE BOUNTY COMMENT).
|
|
78
|
-
_Read more about [the bounty program](./EXPENSE_POLICY.md)_
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
For discussions on bounties or determining amounts, open a [new discussion](https://github.com/orgs/fastify/discussions/new?category=bounty).
|
|
82
|
-
|
|
83
|
-
### Outstanding contributions
|
|
84
|
-
|
|
85
|
-
The lead team can decide to add a bounty to an issue or PR not labeled as `bounty`
|
|
86
|
-
if the contribution is outstanding.
|
|
87
|
-
|
|
88
|
-
### Claiming a bounty
|
|
89
|
-
|
|
90
|
-
To claim a bounty:
|
|
91
|
-
|
|
92
|
-
- Submit a PR that fixes the issue
|
|
93
|
-
- If multiple submissions exist, a core member will choose the best solution
|
|
94
|
-
- Once merged, the PR author can claim the bounty by:
|
|
95
|
-
- Submitting an expense to the [Open Collective][submit] with the PR link
|
|
96
|
-
- Adding a comment on the PR with a link to their Open Collective expense to
|
|
97
|
-
ensure the claimant is the issue resolver
|
|
98
|
-
- The expense will be validated by a lead maintainer and then the payment will be
|
|
99
|
-
processed by Open Collective
|
|
100
|
-
|
|
101
|
-
If the Open Collective budget is insufficient, the expense will be rejected.
|
|
102
|
-
Unclaimed bounties are available for other issues.
|
|
103
|
-
|
|
104
|
-
[submit]: https://opencollective.com/fastify/expenses/new
|
|
105
|
-
[openc_docs]: https://docs.oscollective.org/how-it-works/basics/invoice-and-reimbursement-examples
|
package/lib/httpMethods.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
const bodylessMethods = new Set([
|
|
4
|
-
// Standard
|
|
5
|
-
'GET',
|
|
6
|
-
'HEAD',
|
|
7
|
-
'TRACE',
|
|
8
|
-
|
|
9
|
-
// WebDAV
|
|
10
|
-
'UNLOCK'
|
|
11
|
-
])
|
|
12
|
-
|
|
13
|
-
const bodyMethods = new Set([
|
|
14
|
-
// Standard
|
|
15
|
-
'DELETE',
|
|
16
|
-
'OPTIONS',
|
|
17
|
-
'PATCH',
|
|
18
|
-
'PUT',
|
|
19
|
-
'POST',
|
|
20
|
-
|
|
21
|
-
// WebDAV
|
|
22
|
-
'COPY',
|
|
23
|
-
'LOCK',
|
|
24
|
-
'MOVE',
|
|
25
|
-
'MKCOL',
|
|
26
|
-
'PROPFIND',
|
|
27
|
-
'PROPPATCH',
|
|
28
|
-
'REPORT',
|
|
29
|
-
'SEARCH',
|
|
30
|
-
'MKCALENDAR'
|
|
31
|
-
])
|
|
32
|
-
|
|
33
|
-
module.exports = {
|
|
34
|
-
bodylessMethods,
|
|
35
|
-
bodyMethods,
|
|
36
|
-
supportedMethods: [
|
|
37
|
-
...bodylessMethods,
|
|
38
|
-
...bodyMethods
|
|
39
|
-
]
|
|
40
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const http = require('http')
|
|
2
|
-
const { test } = require('tap')
|
|
3
|
-
const Fastify = require('../fastify')
|
|
4
|
-
|
|
5
|
-
test('missing method from http client', t => {
|
|
6
|
-
t.plan(2)
|
|
7
|
-
const fastify = Fastify()
|
|
8
|
-
|
|
9
|
-
fastify.listen({ port: 3000 }, (err) => {
|
|
10
|
-
t.error(err)
|
|
11
|
-
|
|
12
|
-
const port = fastify.server.address().port
|
|
13
|
-
const req = http.request({
|
|
14
|
-
port,
|
|
15
|
-
method: 'REBIND',
|
|
16
|
-
path: '/'
|
|
17
|
-
}, (res) => {
|
|
18
|
-
t.equal(res.statusCode, 404)
|
|
19
|
-
fastify.close()
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
req.end()
|
|
23
|
-
})
|
|
24
|
-
})
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
// Tests for some deprecated `request.*` keys. This file should be
|
|
4
|
-
// removed when the deprecation is complete.
|
|
5
|
-
|
|
6
|
-
process.removeAllListeners('warning')
|
|
7
|
-
|
|
8
|
-
const test = require('tap').test
|
|
9
|
-
const Fastify = require('../')
|
|
10
|
-
|
|
11
|
-
test('Should expose router options via getters on request and reply', t => {
|
|
12
|
-
t.plan(7)
|
|
13
|
-
const fastify = Fastify()
|
|
14
|
-
const expectedSchema = {
|
|
15
|
-
params: {
|
|
16
|
-
id: { type: 'integer' }
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
fastify.get('/test/:id', {
|
|
21
|
-
schema: expectedSchema
|
|
22
|
-
}, (req, reply) => {
|
|
23
|
-
t.equal(req.routeConfig.url, '/test/:id')
|
|
24
|
-
t.equal(req.routeConfig.method, 'GET')
|
|
25
|
-
t.same(req.routeSchema, expectedSchema)
|
|
26
|
-
t.equal(req.routerPath, '/test/:id')
|
|
27
|
-
t.equal(req.routerMethod, 'GET')
|
|
28
|
-
reply.send()
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
fastify.inject({
|
|
32
|
-
method: 'GET',
|
|
33
|
-
url: '/test/123456789'
|
|
34
|
-
}, (error, res) => {
|
|
35
|
-
t.error(error)
|
|
36
|
-
t.equal(res.statusCode, 200)
|
|
37
|
-
})
|
|
38
|
-
})
|