fastify 4.27.0 → 5.0.0-alpha.2
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/.markdownlint-cli2.yaml +1 -1
- package/.tap/processinfo/09002e93-10ad-430c-bc86-c0576928b0ed.json +241 -0
- package/.tap/processinfo/ee66c5ab-635d-48b5-8be6-3dc3ceea5bfc.json +268 -0
- package/.tap/test-results/test/404s.test.js.tap +623 -0
- package/.tap/test-results/test/500s.test.js.tap +64 -0
- package/.tap/test-results/test/allowUnsafeRegex.test.js.tap +36 -0
- package/.tap/test-results/test/als.test.js.tap +15 -0
- package/.tap/test-results/test/async-await.test.js.tap +184 -0
- package/.tap/test-results/test/async-dispose.test.js.tap +8 -0
- package/.tap/test-results/test/async_hooks.test.js.tap +10 -0
- package/.tap/test-results/test/bodyLimit.test.js.tap +48 -0
- package/.tap/test-results/test/buffer.test.js.tap +20 -0
- package/.tap/test-results/test/build/error-serializer.test.js.tap +12 -0
- package/.tap/test-results/test/build/version.test.js.tap +7 -0
- package/.tap/test-results/test/case-insensitive.test.js.tap +36 -0
- package/.tap/test-results/test/chainable.test.js.tap +17 -0
- package/.tap/test-results/test/check.test.js.tap +10 -0
- package/.tap/test-results/test/childLoggerFactory.test.js.tap +23 -0
- package/.tap/test-results/test/client-timeout.test.js.tap +7 -0
- package/.tap/test-results/test/close-pipelining.test.js.tap +15 -0
- package/.tap/test-results/test/close.test.js.tap +172 -0
- package/.tap/test-results/test/connectionTimeout.test.js.tap +12 -0
- package/.tap/test-results/test/constrained-routes.test.js.tap +173 -0
- package/.tap/test-results/test/content-length.test.js.tap +46 -0
- package/.tap/test-results/test/content-parser.test.js.tap +266 -0
- package/.tap/test-results/test/content-type.test.js.tap +14 -0
- package/.tap/test-results/test/context-config.test.js.tap +41 -0
- package/.tap/test-results/test/copy.test.js.tap +14 -0
- package/.tap/test-results/test/custom-http-server.test.js.tap +30 -0
- package/.tap/test-results/test/custom-parser-async.test.js.tap +21 -0
- package/.tap/test-results/test/custom-parser.0.test.js.tap +199 -0
- package/.tap/test-results/test/custom-parser.1.test.js.tap +90 -0
- package/.tap/test-results/test/custom-parser.2.test.js.tap +22 -0
- package/.tap/test-results/test/custom-parser.3.test.js.tap +53 -0
- package/.tap/test-results/test/custom-parser.4.test.js.tap +45 -0
- package/.tap/test-results/test/custom-parser.5.test.js.tap +41 -0
- package/.tap/test-results/test/custom-querystring-parser.test.js.tap +46 -0
- package/.tap/test-results/test/decorator.test.js.tap +465 -0
- package/.tap/test-results/test/delete.test.js.tap +110 -0
- package/.tap/test-results/test/diagnostics-channel/404.test.js.tap +15 -0
- package/.tap/test-results/test/diagnostics-channel/async-delay-request.test.js.tap +25 -0
- package/.tap/test-results/test/diagnostics-channel/async-request.test.js.tap +24 -0
- package/.tap/test-results/test/diagnostics-channel/error-before-handler.test.js.tap +9 -0
- package/.tap/test-results/test/diagnostics-channel/error-request.test.js.tap +20 -0
- package/.tap/test-results/test/diagnostics-channel/error-status.test.js.tap +10 -0
- package/.tap/test-results/test/diagnostics-channel/init.test.js.tap +14 -0
- package/.tap/test-results/test/diagnostics-channel/sync-delay-request.test.js.tap +16 -0
- package/.tap/test-results/test/diagnostics-channel/sync-request-reply.test.js.tap +16 -0
- package/.tap/test-results/test/diagnostics-channel/sync-request.test.js.tap +19 -0
- package/.tap/test-results/test/encapsulated-child-logger-factory.test.js.tap +18 -0
- package/.tap/test-results/test/encapsulated-error-handler.test.js.tap +243 -0
- package/.tap/test-results/test/esm/errorCodes.test.mjs.tap +9 -0
- package/.tap/test-results/test/esm/esm.test.mjs.tap +8 -0
- package/.tap/test-results/test/esm/index.test.js.tap +8 -0
- package/.tap/test-results/test/fastify-instance.test.js.tap +114 -0
- package/.tap/test-results/test/findRoute.test.js.tap +37 -0
- package/.tap/test-results/test/fluent-schema.test.js.tap +36 -0
- package/.tap/test-results/test/genReqId.test.js.tap +106 -0
- package/.tap/test-results/test/get.test.js.tap +151 -0
- package/.tap/test-results/test/handler-context.test.js.tap +19 -0
- package/.tap/test-results/test/has-route.test.js.tap +30 -0
- package/.tap/test-results/test/head.test.js.tap +130 -0
- package/.tap/test-results/test/header-overflow.test.js.tap +16 -0
- package/.tap/test-results/test/hooks-async.test.js.tap +286 -0
- package/.tap/test-results/test/hooks.on-listen.test.js.tap +311 -0
- package/.tap/test-results/test/hooks.on-ready.test.js.tap +151 -0
- package/.tap/test-results/test/hooks.test.js.tap +966 -0
- package/.tap/test-results/test/http2/closing.test.js.tap +35 -0
- package/.tap/test-results/test/http2/constraint.test.js.tap +32 -0
- package/.tap/test-results/test/http2/head.test.js.tap +9 -0
- package/.tap/test-results/test/http2/missing-http2-module.test.js.tap +8 -0
- package/.tap/test-results/test/http2/plain.test.js.tap +22 -0
- package/.tap/test-results/test/http2/secure-with-fallback.test.js.tap +40 -0
- package/.tap/test-results/test/http2/secure.test.js.tap +27 -0
- package/.tap/test-results/test/http2/unknown-http-method.test.js.tap +9 -0
- package/.tap/test-results/test/https/custom-https-server.test.js.tap +10 -0
- package/.tap/test-results/test/https/https.test.js.tap +45 -0
- package/.tap/test-results/test/imports.test.js.tap +14 -0
- package/.tap/test-results/test/inject.test.js.tap +165 -0
- package/.tap/test-results/test/internals/all.test.js.tap +42 -0
- package/.tap/test-results/test/internals/contentTypeParser.test.js.tap +14 -0
- package/.tap/test-results/test/internals/context.test.js.tap +14 -0
- package/.tap/test-results/test/internals/decorator.test.js.tap +51 -0
- package/.tap/test-results/test/internals/errors.test.js.tap +1212 -0
- package/.tap/test-results/test/internals/handleRequest.test.js.tap +69 -0
- package/.tap/test-results/test/internals/hookRunner.test.js.tap +143 -0
- package/.tap/test-results/test/internals/hooks.test.js.tap +45 -0
- package/.tap/test-results/test/internals/initialConfig.test.js.tap +125 -0
- package/.tap/test-results/test/internals/logger.test.js.tap +71 -0
- package/.tap/test-results/test/internals/plugin.test.js.tap +48 -0
- package/.tap/test-results/test/internals/reply-serialize.test.js.tap +166 -0
- package/.tap/test-results/test/internals/reply.test.js.tap +688 -0
- package/.tap/test-results/test/internals/reqIdGenFactory.test.js.tap +74 -0
- package/.tap/test-results/test/internals/request-validate.test.js.tap +384 -0
- package/.tap/test-results/test/internals/request.test.js.tap +163 -0
- package/.tap/test-results/test/internals/server.test.js.tap +30 -0
- package/.tap/test-results/test/internals/validation.test.js.tap +121 -0
- package/.tap/test-results/test/keepAliveTimeout.test.js.tap +12 -0
- package/.tap/test-results/test/listen.1.test.js.tap +31 -0
- package/.tap/test-results/test/listen.2.test.js.tap +46 -0
- package/.tap/test-results/test/listen.3.test.js.tap +25 -0
- package/.tap/test-results/test/listen.4.test.js.tap +51 -0
- package/.tap/test-results/test/lock.test.js.tap +29 -0
- package/.tap/test-results/test/logger/instantiation.test.js.tap +92 -0
- package/.tap/test-results/test/logger/logging.test.js.tap +117 -0
- package/.tap/test-results/test/logger/options.test.js.tap +165 -0
- package/.tap/test-results/test/logger/request.test.js.tap +82 -0
- package/.tap/test-results/test/logger/response.test.js.tap +38 -0
- package/.tap/test-results/test/maxRequestsPerSocket.test.js.tap +44 -0
- package/.tap/test-results/test/method-missing.test.js.tap +8 -0
- package/.tap/test-results/test/middleware.test.js.tap +17 -0
- package/.tap/test-results/test/mkcalendar.test.js.tap +43 -0
- package/.tap/test-results/test/mkcol.test.js.tap +14 -0
- package/.tap/test-results/test/move.test.js.tap +15 -0
- package/.tap/test-results/test/noop-set.test.js.tap +8 -0
- package/.tap/test-results/test/nullable-validation.test.js.tap +36 -0
- package/.tap/test-results/test/options.error-handler.test.js.tap +186 -0
- package/.tap/test-results/test/options.test.js.tap +174 -0
- package/.tap/test-results/test/output-validation.test.js.tap +66 -0
- package/.tap/test-results/test/patch.error-handler.test.js.tap +206 -0
- package/.tap/test-results/test/patch.test.js.tap +182 -0
- package/.tap/test-results/test/plugin.1.test.js.tap +78 -0
- package/.tap/test-results/test/plugin.2.test.js.tap +102 -0
- package/.tap/test-results/test/plugin.3.test.js.tap +58 -0
- package/.tap/test-results/test/plugin.4.test.js.tap +164 -0
- package/.tap/test-results/test/post-empty-body.test.js.tap +8 -0
- package/.tap/test-results/test/pretty-print.test.js.tap +82 -0
- package/.tap/test-results/test/promises.test.js.tap +46 -0
- package/.tap/test-results/test/propfind.test.js.tap +43 -0
- package/.tap/test-results/test/proppatch.test.js.tap +29 -0
- package/.tap/test-results/test/proto-poisoning.test.js.tap +47 -0
- package/.tap/test-results/test/put.error-handler.test.js.tap +206 -0
- package/.tap/test-results/test/put.test.js.tap +182 -0
- package/.tap/test-results/test/register.test.js.tap +61 -0
- package/.tap/test-results/test/reply-code.test.js.tap +40 -0
- package/.tap/test-results/test/reply-earlyHints.test.js.tap +22 -0
- package/.tap/test-results/test/reply-error.test.js.tap +643 -0
- package/.tap/test-results/test/reply-trailers.test.js.tap +176 -0
- package/.tap/test-results/test/report.test.js.tap +43 -0
- package/.tap/test-results/test/request-error.test.js.tap +98 -0
- package/.tap/test-results/test/request-id.test.js.tap +38 -0
- package/.tap/test-results/test/request.deprecated.test.js.tap +13 -0
- package/.tap/test-results/test/requestTimeout.test.js.tap +21 -0
- package/.tap/test-results/test/route-hooks.test.js.tap +498 -0
- package/.tap/test-results/test/route-prefix.test.js.tap +195 -0
- package/.tap/test-results/test/route-shorthand.test.js.tap +190 -0
- package/.tap/test-results/test/route.1.test.js.tap +93 -0
- package/.tap/test-results/test/route.2.test.js.tap +28 -0
- package/.tap/test-results/test/route.3.test.js.tap +39 -0
- package/.tap/test-results/test/route.4.test.js.tap +32 -0
- package/.tap/test-results/test/route.5.test.js.tap +54 -0
- package/.tap/test-results/test/route.6.test.js.tap +81 -0
- package/.tap/test-results/test/route.7.test.js.tap +93 -0
- package/.tap/test-results/test/route.8.test.js.tap +38 -0
- package/.tap/test-results/test/router-options.test.js.tap +104 -0
- package/.tap/test-results/test/same-shape.test.js.tap +22 -0
- package/.tap/test-results/test/schema-examples.test.js.tap +85 -0
- package/.tap/test-results/test/schema-feature.test.js.tap +445 -0
- package/.tap/test-results/test/schema-serialization.test.js.tap +194 -0
- package/.tap/test-results/test/schema-special-usage.test.js.tap +186 -0
- package/.tap/test-results/test/schema-validation.test.js.tap +199 -0
- package/.tap/test-results/test/search.test.js.tap +77 -0
- package/.tap/test-results/test/serialize-response.test.js.tap +26 -0
- package/.tap/test-results/test/server.test.js.tap +65 -0
- package/.tap/test-results/test/set-error-handler.test.js.tap +7 -0
- package/.tap/test-results/test/skip-reply-send.test.js.tap +272 -0
- package/.tap/test-results/test/stream.1.test.js.tap +36 -0
- package/.tap/test-results/test/stream.2.test.js.tap +20 -0
- package/.tap/test-results/test/stream.3.test.js.tap +34 -0
- package/.tap/test-results/test/stream.4.test.js.tap +40 -0
- package/.tap/test-results/test/stream.5.test.js.tap +37 -0
- package/.tap/test-results/test/sync-routes.test.js.tap +19 -0
- package/.tap/test-results/test/throw.test.js.tap +116 -0
- package/.tap/test-results/test/trace.test.js.tap +7 -0
- package/.tap/test-results/test/trust-proxy.test.js.tap +109 -0
- package/.tap/test-results/test/type-provider.test.js.tap +12 -0
- package/.tap/test-results/test/unlock.test.js.tap +14 -0
- package/.tap/test-results/test/upgrade.test.js.tap +8 -0
- package/.tap/test-results/test/url-rewriting.test.js.tap +39 -0
- package/.tap/test-results/test/useSemicolonDelimiter.test.js.tap +33 -0
- package/.tap/test-results/test/validation-error-handling.test.js.tap +180 -0
- package/.tap/test-results/test/versioned-routes.test.js.tap +151 -0
- package/.tap/test-results/test/web-api.test.js.tap +51 -0
- package/.tap/test-results/test/wrapThenable.test.js.tap +11 -0
- package/.taprc +4 -8
- package/README.md +3 -6
- package/build/build-error-serializer.js +4 -1
- package/build/build-validation.js +5 -4
- package/docs/Guides/Database.md +1 -1
- package/docs/Guides/Delay-Accepting-Requests.md +3 -3
- package/docs/Guides/Ecosystem.md +2 -0
- package/docs/Guides/Migration-Guide-V5.md +20 -0
- package/docs/Guides/Write-Type-Provider.md +4 -2
- package/docs/Reference/ContentTypeParser.md +30 -1
- package/docs/Reference/Decorators.md +42 -16
- package/docs/Reference/Errors.md +10 -2
- package/docs/Reference/Hooks.md +48 -14
- package/docs/Reference/Logging.md +5 -5
- package/docs/Reference/Reply.md +29 -24
- package/docs/Reference/Request.md +5 -1
- package/docs/Reference/Routes.md +24 -28
- package/docs/Reference/Server.md +14 -53
- package/docs/Reference/Type-Providers.md +21 -26
- package/docs/Reference/TypeScript.md +46 -29
- package/docs/Reference/Warnings.md +2 -8
- package/eslint.config.js +27 -0
- package/examples/typescript-server.ts +14 -14
- package/fastify.d.ts +15 -14
- package/fastify.js +41 -15
- package/lib/configValidator.js +94 -76
- package/lib/contentTypeParser.js +54 -88
- package/lib/decorate.js +3 -7
- package/lib/error-serializer.js +77 -19
- package/lib/errors.js +31 -6
- package/lib/handleRequest.js +70 -39
- package/lib/httpMethods.js +34 -18
- package/lib/logger.js +24 -6
- package/lib/pluginUtils.js +5 -5
- package/lib/reply.js +16 -13
- package/lib/request.js +37 -19
- package/lib/route.js +7 -31
- package/lib/server.js +62 -123
- package/lib/warnings.js +28 -27
- package/lib/wrapThenable.js +46 -22
- package/package.json +38 -58
- package/test/404s.test.js +8 -12
- package/test/async-await.test.js +46 -2
- package/test/build/error-serializer.test.js +4 -2
- package/test/check.test.js +225 -0
- package/test/close-pipelining.test.js +2 -34
- package/test/close.test.js +1 -41
- package/test/content-parser.test.js +69 -117
- package/test/custom-parser.1.test.js +40 -1
- package/test/decorator-namespace.test._js_ +31 -0
- package/test/decorator.test.js +92 -43
- package/test/delete.test.js +21 -1
- package/test/diagnostics-channel/404.test.js +57 -0
- package/test/diagnostics-channel/async-delay-request.test.js +74 -0
- package/test/diagnostics-channel/async-request.test.js +72 -0
- package/test/diagnostics-channel/error-before-handler.test.js +36 -0
- package/test/diagnostics-channel/error-request.test.js +61 -0
- package/test/diagnostics-channel/error-status.test.js +39 -0
- package/test/{diagnostics-channel.test.js → diagnostics-channel/init.test.js} +6 -16
- package/test/diagnostics-channel/sync-delay-request.test.js +58 -0
- package/test/diagnostics-channel/sync-request-reply.test.js +58 -0
- package/test/diagnostics-channel/sync-request.test.js +61 -0
- package/test/encapsulated-error-handler.test.js +201 -14
- package/test/esm/index.test.js +2 -12
- package/test/findRoute.test.js +16 -0
- package/test/genReqId.test.js +9 -0
- package/test/get.test.js +28 -0
- package/test/has-route.test.js +18 -2
- package/test/helper.js +1 -5
- package/test/hooks.test.js +0 -4
- package/test/http2/constraint.test.js +22 -1
- package/test/http2/plain.test.js +21 -6
- package/test/http2/secure.test.js +12 -1
- package/test/https/https.test.js +57 -0
- package/test/inject.test.js +1 -2
- package/test/internals/decorator.test.js +0 -2
- package/test/internals/errors.test.js +57 -17
- package/test/internals/handleRequest.test.js +5 -1
- package/test/internals/initialConfig.test.js +5 -5
- package/test/internals/logger.test.js +31 -2
- package/test/internals/reply.test.js +38 -80
- package/test/internals/request.test.js +13 -11
- package/test/listen.1.test.js +5 -15
- package/test/listen.5.test.js +88 -0
- package/test/logger/instantiation.test.js +8 -8
- package/test/logger/logging.test.js +4 -4
- package/test/logger/options.test.js +102 -21
- package/test/logger/response.test.js +6 -6
- package/test/maxRequestsPerSocket.test.js +2 -5
- package/test/method-missing.test.js +24 -0
- package/test/plugin.1.test.js +2 -4
- package/test/plugin.2.test.js +0 -2
- package/test/plugin.3.test.js +0 -2
- package/test/plugin.4.test.js +92 -56
- package/test/register.test.js +2 -4
- package/test/reply-earlyHints.test.js +98 -0
- package/test/reply-error.test.js +0 -2
- package/test/route-hooks.test.js +0 -1
- package/test/route-shorthand.test.js +60 -0
- package/test/schema-special-usage.test.js +1 -1
- package/test/server.test.js +17 -2
- package/test/stream.2.test.js +1 -1
- package/test/stream.4.test.js +0 -42
- package/test/stream.5.test.js +2 -2
- package/test/trust-proxy.test.js +33 -27
- package/test/types/errors.test-d.ts +0 -2
- package/test/types/fastify.test-d.ts +14 -12
- package/test/types/hooks.test-d.ts +1 -0
- package/test/types/import.ts +1 -0
- package/test/types/instance.test-d.ts +10 -51
- package/test/types/logger.test-d.ts +43 -6
- package/test/types/plugin.test-d.ts +5 -2
- package/test/types/register.test-d.ts +2 -2
- package/test/types/reply.test-d.ts +13 -12
- package/test/types/request.test-d.ts +19 -8
- package/test/types/route.test-d.ts +30 -2
- package/test/types/schema.test-d.ts +2 -2
- package/test/types/serverFactory.test-d.ts +1 -1
- package/test/types/type-provider.test-d.ts +60 -13
- package/test/types/using.test-d.ts +4 -1
- package/test/url-rewriting.test.js +3 -2
- package/test/useSemicolonDelimiter.test.js +3 -6
- package/test/versioned-routes.test.js +1 -1
- package/test/web-api.test.js +0 -6
- package/types/content-type-parser.d.ts +3 -3
- package/types/context.d.ts +0 -1
- package/types/errors.d.ts +1 -0
- package/types/hooks.d.ts +6 -6
- package/types/instance.d.ts +28 -41
- package/types/logger.d.ts +3 -3
- package/types/plugin.d.ts +3 -3
- package/types/reply.d.ts +13 -14
- package/types/request.d.ts +5 -3
- package/types/route.d.ts +29 -29
- package/types/schema.d.ts +3 -3
- package/types/serverFactory.d.ts +2 -2
- package/types/type-provider.d.ts +22 -12
- package/types/utils.d.ts +18 -18
- package/.c8rc.json +0 -8
- package/.eslintrc +0 -4
- package/test/default-route.test.js +0 -88
- package/test/listen.deprecated.test.js +0 -229
- package/test/unsupported-httpversion.test.js +0 -31
- package/types/.eslintrc.json +0 -48
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* node examples/typescript-server.js
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import fastify, { FastifyInstance, RouteShorthandOptions } from '../fastify'
|
|
14
|
-
import { Server, IncomingMessage, ServerResponse } from 'http'
|
|
13
|
+
import fastify, { FastifyInstance, RouteShorthandOptions } from '../fastify'
|
|
14
|
+
import { Server, IncomingMessage, ServerResponse } from 'http'
|
|
15
15
|
|
|
16
16
|
// Create an http server. We pass the relevant typings for our http version used.
|
|
17
17
|
// By passing types we get correctly typed access to the underlying http objects in routes.
|
|
@@ -20,7 +20,7 @@ const server: FastifyInstance<
|
|
|
20
20
|
Server,
|
|
21
21
|
IncomingMessage,
|
|
22
22
|
ServerResponse
|
|
23
|
-
> = fastify({ logger: true })
|
|
23
|
+
> = fastify({ logger: true })
|
|
24
24
|
|
|
25
25
|
// Define interfaces for our request. We can create these automatically
|
|
26
26
|
// off our JSON Schema files (See TypeScript.md) but for the purpose of this
|
|
@@ -53,7 +53,7 @@ const opts: RouteShorthandOptions = {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
}
|
|
56
|
+
}
|
|
57
57
|
|
|
58
58
|
// Add our route handler with correct types
|
|
59
59
|
server.post<{
|
|
@@ -62,18 +62,18 @@ server.post<{
|
|
|
62
62
|
Headers: PingHeaders;
|
|
63
63
|
Body: PingBody;
|
|
64
64
|
}>('/ping/:bar', opts, (request, reply) => {
|
|
65
|
-
console.log(request.query)
|
|
66
|
-
console.log(request.params)
|
|
67
|
-
console.log(request.headers)
|
|
68
|
-
console.log(request.body)
|
|
69
|
-
reply.code(200).send({ pong: 'it worked!' })
|
|
70
|
-
})
|
|
65
|
+
console.log(request.query) // this is of type `PingQuerystring`
|
|
66
|
+
console.log(request.params) // this is of type `PingParams`
|
|
67
|
+
console.log(request.headers) // this is of type `PingHeaders`
|
|
68
|
+
console.log(request.body) // this is of type `PingBody`
|
|
69
|
+
reply.code(200).send({ pong: 'it worked!' })
|
|
70
|
+
})
|
|
71
71
|
|
|
72
72
|
// Start your server
|
|
73
73
|
server.listen({ port: 8080 }, (err, address) => {
|
|
74
74
|
if (err) {
|
|
75
|
-
console.error(err)
|
|
76
|
-
process.exit(1)
|
|
75
|
+
console.error(err)
|
|
76
|
+
process.exit(1)
|
|
77
77
|
}
|
|
78
|
-
|
|
79
|
-
})
|
|
78
|
+
console.log(`server listening on ${address}`)
|
|
79
|
+
})
|
package/fastify.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ import { FastifyRequest, RequestGenericInterface } from './types/request'
|
|
|
22
22
|
import { RouteHandler, RouteHandlerMethod, RouteOptions, RouteShorthandMethod, RouteShorthandOptions, RouteShorthandOptionsWithHandler, RouteGenericInterface } from './types/route'
|
|
23
23
|
import { FastifySchema, FastifySchemaCompiler, FastifySchemaValidationError, SchemaErrorDataVar, SchemaErrorFormatter } from './types/schema'
|
|
24
24
|
import { FastifyServerFactory, FastifyServerFactoryHandler } from './types/serverFactory'
|
|
25
|
-
import { FastifyTypeProvider, FastifyTypeProviderDefault } from './types/type-provider'
|
|
25
|
+
import { FastifyTypeProvider, FastifyTypeProviderDefault, SafePromiseLike } from './types/type-provider'
|
|
26
26
|
import { HTTPMethods, RawServerBase, RawRequestDefaultExpression, RawReplyDefaultExpression, RawServerDefault, ContextConfigDefault, RequestBodyDefault, RequestQuerystringDefault, RequestParamsDefault, RequestHeadersDefault } from './types/utils'
|
|
27
27
|
|
|
28
28
|
declare module '@fastify/error' {
|
|
@@ -35,7 +35,7 @@ declare module '@fastify/error' {
|
|
|
35
35
|
type Fastify = typeof fastify
|
|
36
36
|
|
|
37
37
|
declare namespace fastify {
|
|
38
|
-
export const errorCodes: FastifyErrorCodes
|
|
38
|
+
export const errorCodes: FastifyErrorCodes
|
|
39
39
|
|
|
40
40
|
export type FastifyHttp2SecureOptions<
|
|
41
41
|
Server extends http2.Http2SecureServer,
|
|
@@ -102,7 +102,8 @@ declare namespace fastify {
|
|
|
102
102
|
exposeHeadRoutes?: boolean,
|
|
103
103
|
onProtoPoisoning?: ProtoAction,
|
|
104
104
|
onConstructorPoisoning?: ConstructorAction,
|
|
105
|
-
logger?: boolean | FastifyLoggerOptions<RawServer> & PinoLoggerOptions
|
|
105
|
+
logger?: boolean | FastifyLoggerOptions<RawServer> & PinoLoggerOptions,
|
|
106
|
+
loggerInstance?: Logger
|
|
106
107
|
serializerOpts?: FJSOptions | Record<string, unknown>,
|
|
107
108
|
serverFactory?: FastifyServerFactory<RawServer>,
|
|
108
109
|
caseSensitive?: boolean,
|
|
@@ -166,7 +167,7 @@ declare namespace fastify {
|
|
|
166
167
|
/**
|
|
167
168
|
* @deprecated use {@link FastifySchemaValidationError}
|
|
168
169
|
*/
|
|
169
|
-
export type ValidationResult = FastifySchemaValidationError
|
|
170
|
+
export type ValidationResult = FastifySchemaValidationError
|
|
170
171
|
|
|
171
172
|
/* Export additional types */
|
|
172
173
|
export type {
|
|
@@ -185,8 +186,8 @@ declare namespace fastify {
|
|
|
185
186
|
HTTPMethods, RawServerBase, RawRequestDefaultExpression, RawReplyDefaultExpression, RawServerDefault, ContextConfigDefault, RequestBodyDefault, RequestQuerystringDefault, RequestParamsDefault, RequestHeadersDefault, // './types/utils'
|
|
186
187
|
DoneFuncWithErrOrRes, HookHandlerDoneFunction, RequestPayload, onCloseAsyncHookHandler, onCloseHookHandler, onErrorAsyncHookHandler, onErrorHookHandler, onReadyAsyncHookHandler, onReadyHookHandler, onListenAsyncHookHandler, onListenHookHandler, onRegisterHookHandler, onRequestAsyncHookHandler, onRequestHookHandler, onResponseAsyncHookHandler, onResponseHookHandler, onRouteHookHandler, onSendAsyncHookHandler, onSendHookHandler, onTimeoutAsyncHookHandler, onTimeoutHookHandler, preHandlerAsyncHookHandler, preHandlerHookHandler, preParsingAsyncHookHandler, preParsingHookHandler, preSerializationAsyncHookHandler, preSerializationHookHandler, preValidationAsyncHookHandler, preValidationHookHandler, onRequestAbortHookHandler, onRequestAbortAsyncHookHandler, preCloseAsyncHookHandler, preCloseHookHandler, // './types/hooks'
|
|
187
188
|
FastifyServerFactory, FastifyServerFactoryHandler, // './types/serverFactory'
|
|
188
|
-
FastifyTypeProvider, FastifyTypeProviderDefault, // './types/type-provider'
|
|
189
|
-
FastifyErrorCodes
|
|
189
|
+
FastifyTypeProvider, FastifyTypeProviderDefault, SafePromiseLike, // './types/type-provider'
|
|
190
|
+
FastifyErrorCodes // './types/errors'
|
|
190
191
|
}
|
|
191
192
|
// named export
|
|
192
193
|
// import { plugin } from 'plugin'
|
|
@@ -210,32 +211,32 @@ declare function fastify<
|
|
|
210
211
|
Request extends RawRequestDefaultExpression<Server> = RawRequestDefaultExpression<Server>,
|
|
211
212
|
Reply extends RawReplyDefaultExpression<Server> = RawReplyDefaultExpression<Server>,
|
|
212
213
|
Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
|
213
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
214
|
-
>(opts: fastify.FastifyHttp2SecureOptions<Server, Logger>): FastifyInstance<Server, Request, Reply, Logger, TypeProvider> &
|
|
214
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
215
|
+
> (opts: fastify.FastifyHttp2SecureOptions<Server, Logger>): FastifyInstance<Server, Request, Reply, Logger, TypeProvider> & SafePromiseLike<FastifyInstance<Server, Request, Reply, Logger, TypeProvider>>
|
|
215
216
|
|
|
216
217
|
declare function fastify<
|
|
217
218
|
Server extends http2.Http2Server,
|
|
218
219
|
Request extends RawRequestDefaultExpression<Server> = RawRequestDefaultExpression<Server>,
|
|
219
220
|
Reply extends RawReplyDefaultExpression<Server> = RawReplyDefaultExpression<Server>,
|
|
220
221
|
Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
|
221
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
222
|
-
>(opts: fastify.FastifyHttp2Options<Server, Logger>): FastifyInstance<Server, Request, Reply, Logger, TypeProvider> &
|
|
222
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
223
|
+
> (opts: fastify.FastifyHttp2Options<Server, Logger>): FastifyInstance<Server, Request, Reply, Logger, TypeProvider> & SafePromiseLike<FastifyInstance<Server, Request, Reply, Logger, TypeProvider>>
|
|
223
224
|
|
|
224
225
|
declare function fastify<
|
|
225
226
|
Server extends https.Server,
|
|
226
227
|
Request extends RawRequestDefaultExpression<Server> = RawRequestDefaultExpression<Server>,
|
|
227
228
|
Reply extends RawReplyDefaultExpression<Server> = RawReplyDefaultExpression<Server>,
|
|
228
229
|
Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
|
229
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
230
|
-
>(opts: fastify.FastifyHttpsOptions<Server, Logger>): FastifyInstance<Server, Request, Reply, Logger, TypeProvider> &
|
|
230
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
231
|
+
> (opts: fastify.FastifyHttpsOptions<Server, Logger>): FastifyInstance<Server, Request, Reply, Logger, TypeProvider> & SafePromiseLike<FastifyInstance<Server, Request, Reply, Logger, TypeProvider>>
|
|
231
232
|
|
|
232
233
|
declare function fastify<
|
|
233
234
|
Server extends http.Server,
|
|
234
235
|
Request extends RawRequestDefaultExpression<Server> = RawRequestDefaultExpression<Server>,
|
|
235
236
|
Reply extends RawReplyDefaultExpression<Server> = RawReplyDefaultExpression<Server>,
|
|
236
237
|
Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
|
237
|
-
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
238
|
-
>(opts?: fastify.FastifyHttpOptions<Server, Logger>): FastifyInstance<Server, Request, Reply, Logger, TypeProvider> &
|
|
238
|
+
TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault
|
|
239
|
+
> (opts?: fastify.FastifyHttpOptions<Server, Logger>): FastifyInstance<Server, Request, Reply, Logger, TypeProvider> & SafePromiseLike<FastifyInstance<Server, Request, Reply, Logger, TypeProvider>>
|
|
239
240
|
|
|
240
241
|
// CJS export
|
|
241
242
|
// const fastify = require('fastify')
|
package/fastify.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const VERSION = '
|
|
3
|
+
const VERSION = '5.0.0-alpha.2'
|
|
4
4
|
|
|
5
5
|
const Avvio = require('avvio')
|
|
6
6
|
const http = require('node:http')
|
|
7
|
+
const diagnostics = require('dc-polyfill')
|
|
7
8
|
let lightMyRequest
|
|
8
9
|
|
|
9
10
|
const {
|
|
@@ -32,7 +33,7 @@ const {
|
|
|
32
33
|
kGenReqId
|
|
33
34
|
} = require('./lib/symbols.js')
|
|
34
35
|
|
|
35
|
-
const { createServer
|
|
36
|
+
const { createServer } = require('./lib/server')
|
|
36
37
|
const Reply = require('./lib/reply')
|
|
37
38
|
const Request = require('./lib/request')
|
|
38
39
|
const Context = require('./lib/context.js')
|
|
@@ -77,6 +78,8 @@ const {
|
|
|
77
78
|
|
|
78
79
|
const { buildErrorHandler } = require('./lib/error-handler.js')
|
|
79
80
|
|
|
81
|
+
const initChannel = diagnostics.channel('fastify.initialization')
|
|
82
|
+
|
|
80
83
|
function defaultBuildPrettyMeta (route) {
|
|
81
84
|
// return a shallow copy of route's sanitized context
|
|
82
85
|
|
|
@@ -111,7 +114,7 @@ function fastify (options) {
|
|
|
111
114
|
|
|
112
115
|
validateBodyLimitOption(options.bodyLimit)
|
|
113
116
|
|
|
114
|
-
const requestIdHeader =
|
|
117
|
+
const requestIdHeader = typeof options.requestIdHeader === 'string' && options.requestIdHeader.length !== 0 ? options.requestIdHeader.toLowerCase() : (options.requestIdHeader === true && 'request-id')
|
|
115
118
|
const genReqId = reqIdGenFactory(requestIdHeader, options.genReqId)
|
|
116
119
|
const requestIdLogLabel = options.requestIdLogLabel || 'reqId'
|
|
117
120
|
const bodyLimit = options.bodyLimit || defaultInitOptions.bodyLimit
|
|
@@ -252,8 +255,6 @@ function fastify (options) {
|
|
|
252
255
|
[kGenReqId]: genReqId,
|
|
253
256
|
// routing method
|
|
254
257
|
routing: httpHandler,
|
|
255
|
-
getDefaultRoute: router.getDefaultRoute.bind(router),
|
|
256
|
-
setDefaultRoute: router.setDefaultRoute.bind(router),
|
|
257
258
|
// routes shorthand methods
|
|
258
259
|
delete: function _delete (url, options, handler) {
|
|
259
260
|
return router.prepareRoute.call(this, { method: 'DELETE', url, options, handler })
|
|
@@ -276,6 +277,39 @@ function fastify (options) {
|
|
|
276
277
|
options: function _options (url, options, handler) {
|
|
277
278
|
return router.prepareRoute.call(this, { method: 'OPTIONS', url, options, handler })
|
|
278
279
|
},
|
|
280
|
+
propfind: function _propfind (url, options, handler) {
|
|
281
|
+
return router.prepareRoute.call(this, { method: 'PROPFIND', url, options, handler })
|
|
282
|
+
},
|
|
283
|
+
proppatch: function _proppatch (url, options, handler) {
|
|
284
|
+
return router.prepareRoute.call(this, { method: 'PROPPATCH', url, options, handler })
|
|
285
|
+
},
|
|
286
|
+
mkcalendar: function _mkcalendar (url, options, handler) {
|
|
287
|
+
return router.prepareRoute.call(this, { method: 'MKCALENDAR', url, options, handler })
|
|
288
|
+
},
|
|
289
|
+
mkcol: function _mkcol (url, options, handler) {
|
|
290
|
+
return router.prepareRoute.call(this, { method: 'MKCOL', url, options, handler })
|
|
291
|
+
},
|
|
292
|
+
copy: function _copy (url, options, handler) {
|
|
293
|
+
return router.prepareRoute.call(this, { method: 'COPY', url, options, handler })
|
|
294
|
+
},
|
|
295
|
+
move: function _move (url, options, handler) {
|
|
296
|
+
return router.prepareRoute.call(this, { method: 'MOVE', url, options, handler })
|
|
297
|
+
},
|
|
298
|
+
lock: function _lock (url, options, handler) {
|
|
299
|
+
return router.prepareRoute.call(this, { method: 'LOCK', url, options, handler })
|
|
300
|
+
},
|
|
301
|
+
unlock: function _unlock (url, options, handler) {
|
|
302
|
+
return router.prepareRoute.call(this, { method: 'UNLOCK', url, options, handler })
|
|
303
|
+
},
|
|
304
|
+
trace: function _trace (url, options, handler) {
|
|
305
|
+
return router.prepareRoute.call(this, { method: 'TRACE', url, options, handler })
|
|
306
|
+
},
|
|
307
|
+
report: function _mkcalendar (url, options, handler) {
|
|
308
|
+
return router.prepareRoute.call(this, { method: 'REPORT', url, options, handler })
|
|
309
|
+
},
|
|
310
|
+
search: function _search (url, options, handler) {
|
|
311
|
+
return router.prepareRoute.call(this, { method: 'SEARCH', url, options, handler })
|
|
312
|
+
},
|
|
279
313
|
all: function _all (url, options, handler) {
|
|
280
314
|
return router.prepareRoute.call(this, { method: supportedMethods, url, options, handler })
|
|
281
315
|
},
|
|
@@ -503,22 +537,14 @@ function fastify (options) {
|
|
|
503
537
|
hasLogger,
|
|
504
538
|
setupResponseListeners,
|
|
505
539
|
throwIfAlreadyStarted,
|
|
506
|
-
validateHTTPVersion: compileValidateHTTPVersion(options),
|
|
507
540
|
keepAliveConnections
|
|
508
541
|
})
|
|
509
542
|
|
|
510
543
|
// Delay configuring clientError handler so that it can access fastify state.
|
|
511
544
|
server.on('clientError', options.clientErrorHandler.bind(fastify))
|
|
512
545
|
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
const initChannel = dc.channel('fastify.initialization')
|
|
516
|
-
if (initChannel.hasSubscribers) {
|
|
517
|
-
initChannel.publish({ fastify })
|
|
518
|
-
}
|
|
519
|
-
} catch (e) {
|
|
520
|
-
// This only happens if `diagnostics_channel` isn't available, i.e. earlier
|
|
521
|
-
// versions of Node.js. In that event, we don't care, so ignore the error.
|
|
546
|
+
if (initChannel.hasSubscribers) {
|
|
547
|
+
initChannel.publish({ fastify })
|
|
522
548
|
}
|
|
523
549
|
|
|
524
550
|
// Older nodejs versions may not have asyncDispose
|
package/lib/configValidator.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// This file is autogenerated by build/build-validation.js, do not edit
|
|
2
|
-
/*
|
|
2
|
+
/* c8 ignore start */
|
|
3
3
|
"use strict";
|
|
4
4
|
module.exports = validate10;
|
|
5
5
|
module.exports.default = validate10;
|
|
6
|
-
const schema11 = {"type":"object","additionalProperties":false,"properties":{"connectionTimeout":{"type":"integer","default":0},"keepAliveTimeout":{"type":"integer","default":72000},"forceCloseConnections":{"oneOf":[{"type":"string","pattern":"idle"},{"type":"boolean"}]},"maxRequestsPerSocket":{"type":"integer","default":0,"nullable":true},"requestTimeout":{"type":"integer","default":0},"bodyLimit":{"type":"integer","default":1048576},"caseSensitive":{"type":"boolean","default":true},"allowUnsafeRegex":{"type":"boolean","default":false},"http2":{"type":"boolean"},"https":{"if":{"not":{"oneOf":[{"type":"boolean"},{"type":"null"},{"type":"object","additionalProperties":false,"required":["allowHTTP1"],"properties":{"allowHTTP1":{"type":"boolean"}}}]}},"then":{"setDefaultValue":true}},"ignoreTrailingSlash":{"type":"boolean","default":false},"ignoreDuplicateSlashes":{"type":"boolean","default":false},"disableRequestLogging":{"type":"boolean","default":false},"jsonShorthand":{"type":"boolean","default":true},"maxParamLength":{"type":"integer","default":100},"onProtoPoisoning":{"type":"string","default":"error"},"onConstructorPoisoning":{"type":"string","default":"error"},"pluginTimeout":{"type":"integer","default":10000},"requestIdHeader":{"anyOf":[{"
|
|
6
|
+
const schema11 = {"type":"object","additionalProperties":false,"properties":{"connectionTimeout":{"type":"integer","default":0},"keepAliveTimeout":{"type":"integer","default":72000},"forceCloseConnections":{"oneOf":[{"type":"string","pattern":"idle"},{"type":"boolean"}]},"maxRequestsPerSocket":{"type":"integer","default":0,"nullable":true},"requestTimeout":{"type":"integer","default":0},"bodyLimit":{"type":"integer","default":1048576},"caseSensitive":{"type":"boolean","default":true},"allowUnsafeRegex":{"type":"boolean","default":false},"http2":{"type":"boolean"},"https":{"if":{"not":{"oneOf":[{"type":"boolean"},{"type":"null"},{"type":"object","additionalProperties":false,"required":["allowHTTP1"],"properties":{"allowHTTP1":{"type":"boolean"}}}]}},"then":{"setDefaultValue":true}},"ignoreTrailingSlash":{"type":"boolean","default":false},"ignoreDuplicateSlashes":{"type":"boolean","default":false},"disableRequestLogging":{"type":"boolean","default":false},"jsonShorthand":{"type":"boolean","default":true},"maxParamLength":{"type":"integer","default":100},"onProtoPoisoning":{"type":"string","default":"error"},"onConstructorPoisoning":{"type":"string","default":"error"},"pluginTimeout":{"type":"integer","default":10000},"requestIdHeader":{"anyOf":[{"type":"boolean"},{"type":"string"}],"default":false},"requestIdLogLabel":{"type":"string","default":"reqId"},"http2SessionTimeout":{"type":"integer","default":72000},"exposeHeadRoutes":{"type":"boolean","default":true},"useSemicolonDelimiter":{"type":"boolean","default":false},"versioning":{"type":"object","additionalProperties":true,"required":["storage","deriveVersion"],"properties":{"storage":{},"deriveVersion":{}}},"constraints":{"type":"object","additionalProperties":{"type":"object","required":["name","storage","validate","deriveConstraint"],"additionalProperties":true,"properties":{"name":{"type":"string"},"storage":{},"validate":{},"deriveConstraint":{}}}}}};
|
|
7
7
|
const func2 = Object.prototype.hasOwnProperty;
|
|
8
8
|
const pattern0 = new RegExp("idle", "u");
|
|
9
9
|
|
|
@@ -58,7 +58,7 @@ if(data.pluginTimeout === undefined){
|
|
|
58
58
|
data.pluginTimeout = 10000;
|
|
59
59
|
}
|
|
60
60
|
if(data.requestIdHeader === undefined){
|
|
61
|
-
data.requestIdHeader =
|
|
61
|
+
data.requestIdHeader = false;
|
|
62
62
|
}
|
|
63
63
|
if(data.requestIdLogLabel === undefined){
|
|
64
64
|
data.requestIdLogLabel = "reqId";
|
|
@@ -70,7 +70,7 @@ if(data.exposeHeadRoutes === undefined){
|
|
|
70
70
|
data.exposeHeadRoutes = true;
|
|
71
71
|
}
|
|
72
72
|
if(data.useSemicolonDelimiter === undefined){
|
|
73
|
-
data.useSemicolonDelimiter =
|
|
73
|
+
data.useSemicolonDelimiter = false;
|
|
74
74
|
}
|
|
75
75
|
const _errs1 = errors;
|
|
76
76
|
for(const key0 in data){
|
|
@@ -843,8 +843,17 @@ const _errs57 = errors;
|
|
|
843
843
|
const _errs58 = errors;
|
|
844
844
|
let valid6 = false;
|
|
845
845
|
const _errs59 = errors;
|
|
846
|
-
if(
|
|
847
|
-
|
|
846
|
+
if(typeof data19 !== "boolean"){
|
|
847
|
+
let coerced21 = undefined;
|
|
848
|
+
if(!(coerced21 !== undefined)){
|
|
849
|
+
if(data19 === "false" || data19 === 0 || data19 === null){
|
|
850
|
+
coerced21 = false;
|
|
851
|
+
}
|
|
852
|
+
else if(data19 === "true" || data19 === 1){
|
|
853
|
+
coerced21 = true;
|
|
854
|
+
}
|
|
855
|
+
else {
|
|
856
|
+
const err12 = {instancePath:instancePath+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/0/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};
|
|
848
857
|
if(vErrors === null){
|
|
849
858
|
vErrors = [err12];
|
|
850
859
|
}
|
|
@@ -853,19 +862,27 @@ vErrors.push(err12);
|
|
|
853
862
|
}
|
|
854
863
|
errors++;
|
|
855
864
|
}
|
|
865
|
+
}
|
|
866
|
+
if(coerced21 !== undefined){
|
|
867
|
+
data19 = coerced21;
|
|
868
|
+
if(data !== undefined){
|
|
869
|
+
data["requestIdHeader"] = coerced21;
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
}
|
|
856
873
|
var _valid3 = _errs59 === errors;
|
|
857
874
|
valid6 = valid6 || _valid3;
|
|
858
875
|
if(!valid6){
|
|
859
|
-
const
|
|
876
|
+
const _errs61 = errors;
|
|
860
877
|
if(typeof data19 !== "string"){
|
|
861
|
-
let
|
|
862
|
-
let
|
|
863
|
-
if(!(
|
|
864
|
-
if(
|
|
865
|
-
|
|
878
|
+
let dataType22 = typeof data19;
|
|
879
|
+
let coerced22 = undefined;
|
|
880
|
+
if(!(coerced22 !== undefined)){
|
|
881
|
+
if(dataType22 == "number" || dataType22 == "boolean"){
|
|
882
|
+
coerced22 = "" + data19;
|
|
866
883
|
}
|
|
867
884
|
else if(data19 === null){
|
|
868
|
-
|
|
885
|
+
coerced22 = "";
|
|
869
886
|
}
|
|
870
887
|
else {
|
|
871
888
|
const err13 = {instancePath:instancePath+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
@@ -878,14 +895,14 @@ vErrors.push(err13);
|
|
|
878
895
|
errors++;
|
|
879
896
|
}
|
|
880
897
|
}
|
|
881
|
-
if(
|
|
882
|
-
data19 =
|
|
898
|
+
if(coerced22 !== undefined){
|
|
899
|
+
data19 = coerced22;
|
|
883
900
|
if(data !== undefined){
|
|
884
|
-
data["requestIdHeader"] =
|
|
901
|
+
data["requestIdHeader"] = coerced22;
|
|
885
902
|
}
|
|
886
903
|
}
|
|
887
904
|
}
|
|
888
|
-
var _valid3 =
|
|
905
|
+
var _valid3 = _errs61 === errors;
|
|
889
906
|
valid6 = valid6 || _valid3;
|
|
890
907
|
}
|
|
891
908
|
if(!valid6){
|
|
@@ -914,109 +931,109 @@ vErrors = null;
|
|
|
914
931
|
var valid0 = _errs57 === errors;
|
|
915
932
|
if(valid0){
|
|
916
933
|
let data20 = data.requestIdLogLabel;
|
|
917
|
-
const
|
|
934
|
+
const _errs63 = errors;
|
|
918
935
|
if(typeof data20 !== "string"){
|
|
919
|
-
let
|
|
920
|
-
let
|
|
921
|
-
if(!(
|
|
922
|
-
if(
|
|
923
|
-
|
|
936
|
+
let dataType23 = typeof data20;
|
|
937
|
+
let coerced23 = undefined;
|
|
938
|
+
if(!(coerced23 !== undefined)){
|
|
939
|
+
if(dataType23 == "number" || dataType23 == "boolean"){
|
|
940
|
+
coerced23 = "" + data20;
|
|
924
941
|
}
|
|
925
942
|
else if(data20 === null){
|
|
926
|
-
|
|
943
|
+
coerced23 = "";
|
|
927
944
|
}
|
|
928
945
|
else {
|
|
929
946
|
validate10.errors = [{instancePath:instancePath+"/requestIdLogLabel",schemaPath:"#/properties/requestIdLogLabel/type",keyword:"type",params:{type: "string"},message:"must be string"}];
|
|
930
947
|
return false;
|
|
931
948
|
}
|
|
932
949
|
}
|
|
933
|
-
if(
|
|
934
|
-
data20 =
|
|
950
|
+
if(coerced23 !== undefined){
|
|
951
|
+
data20 = coerced23;
|
|
935
952
|
if(data !== undefined){
|
|
936
|
-
data["requestIdLogLabel"] =
|
|
953
|
+
data["requestIdLogLabel"] = coerced23;
|
|
937
954
|
}
|
|
938
955
|
}
|
|
939
956
|
}
|
|
940
|
-
var valid0 =
|
|
957
|
+
var valid0 = _errs63 === errors;
|
|
941
958
|
if(valid0){
|
|
942
959
|
let data21 = data.http2SessionTimeout;
|
|
943
|
-
const
|
|
960
|
+
const _errs65 = errors;
|
|
944
961
|
if(!(((typeof data21 == "number") && (!(data21 % 1) && !isNaN(data21))) && (isFinite(data21)))){
|
|
945
|
-
let
|
|
946
|
-
let
|
|
947
|
-
if(!(
|
|
948
|
-
if(
|
|
949
|
-
|| (
|
|
950
|
-
|
|
962
|
+
let dataType24 = typeof data21;
|
|
963
|
+
let coerced24 = undefined;
|
|
964
|
+
if(!(coerced24 !== undefined)){
|
|
965
|
+
if(dataType24 === "boolean" || data21 === null
|
|
966
|
+
|| (dataType24 === "string" && data21 && data21 == +data21 && !(data21 % 1))){
|
|
967
|
+
coerced24 = +data21;
|
|
951
968
|
}
|
|
952
969
|
else {
|
|
953
970
|
validate10.errors = [{instancePath:instancePath+"/http2SessionTimeout",schemaPath:"#/properties/http2SessionTimeout/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];
|
|
954
971
|
return false;
|
|
955
972
|
}
|
|
956
973
|
}
|
|
957
|
-
if(
|
|
958
|
-
data21 =
|
|
974
|
+
if(coerced24 !== undefined){
|
|
975
|
+
data21 = coerced24;
|
|
959
976
|
if(data !== undefined){
|
|
960
|
-
data["http2SessionTimeout"] =
|
|
977
|
+
data["http2SessionTimeout"] = coerced24;
|
|
961
978
|
}
|
|
962
979
|
}
|
|
963
980
|
}
|
|
964
|
-
var valid0 =
|
|
981
|
+
var valid0 = _errs65 === errors;
|
|
965
982
|
if(valid0){
|
|
966
983
|
let data22 = data.exposeHeadRoutes;
|
|
967
|
-
const
|
|
984
|
+
const _errs67 = errors;
|
|
968
985
|
if(typeof data22 !== "boolean"){
|
|
969
|
-
let
|
|
970
|
-
if(!(
|
|
986
|
+
let coerced25 = undefined;
|
|
987
|
+
if(!(coerced25 !== undefined)){
|
|
971
988
|
if(data22 === "false" || data22 === 0 || data22 === null){
|
|
972
|
-
|
|
989
|
+
coerced25 = false;
|
|
973
990
|
}
|
|
974
991
|
else if(data22 === "true" || data22 === 1){
|
|
975
|
-
|
|
992
|
+
coerced25 = true;
|
|
976
993
|
}
|
|
977
994
|
else {
|
|
978
995
|
validate10.errors = [{instancePath:instancePath+"/exposeHeadRoutes",schemaPath:"#/properties/exposeHeadRoutes/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
|
|
979
996
|
return false;
|
|
980
997
|
}
|
|
981
998
|
}
|
|
982
|
-
if(
|
|
983
|
-
data22 =
|
|
999
|
+
if(coerced25 !== undefined){
|
|
1000
|
+
data22 = coerced25;
|
|
984
1001
|
if(data !== undefined){
|
|
985
|
-
data["exposeHeadRoutes"] =
|
|
1002
|
+
data["exposeHeadRoutes"] = coerced25;
|
|
986
1003
|
}
|
|
987
1004
|
}
|
|
988
1005
|
}
|
|
989
|
-
var valid0 =
|
|
1006
|
+
var valid0 = _errs67 === errors;
|
|
990
1007
|
if(valid0){
|
|
991
1008
|
let data23 = data.useSemicolonDelimiter;
|
|
992
|
-
const
|
|
1009
|
+
const _errs69 = errors;
|
|
993
1010
|
if(typeof data23 !== "boolean"){
|
|
994
|
-
let
|
|
995
|
-
if(!(
|
|
1011
|
+
let coerced26 = undefined;
|
|
1012
|
+
if(!(coerced26 !== undefined)){
|
|
996
1013
|
if(data23 === "false" || data23 === 0 || data23 === null){
|
|
997
|
-
|
|
1014
|
+
coerced26 = false;
|
|
998
1015
|
}
|
|
999
1016
|
else if(data23 === "true" || data23 === 1){
|
|
1000
|
-
|
|
1017
|
+
coerced26 = true;
|
|
1001
1018
|
}
|
|
1002
1019
|
else {
|
|
1003
1020
|
validate10.errors = [{instancePath:instancePath+"/useSemicolonDelimiter",schemaPath:"#/properties/useSemicolonDelimiter/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
|
|
1004
1021
|
return false;
|
|
1005
1022
|
}
|
|
1006
1023
|
}
|
|
1007
|
-
if(
|
|
1008
|
-
data23 =
|
|
1024
|
+
if(coerced26 !== undefined){
|
|
1025
|
+
data23 = coerced26;
|
|
1009
1026
|
if(data !== undefined){
|
|
1010
|
-
data["useSemicolonDelimiter"] =
|
|
1027
|
+
data["useSemicolonDelimiter"] = coerced26;
|
|
1011
1028
|
}
|
|
1012
1029
|
}
|
|
1013
1030
|
}
|
|
1014
|
-
var valid0 =
|
|
1031
|
+
var valid0 = _errs69 === errors;
|
|
1015
1032
|
if(valid0){
|
|
1016
1033
|
if(data.versioning !== undefined){
|
|
1017
1034
|
let data24 = data.versioning;
|
|
1018
|
-
const
|
|
1019
|
-
if(errors ===
|
|
1035
|
+
const _errs71 = errors;
|
|
1036
|
+
if(errors === _errs71){
|
|
1020
1037
|
if(data24 && typeof data24 == "object" && !Array.isArray(data24)){
|
|
1021
1038
|
let missing1;
|
|
1022
1039
|
if(((data24.storage === undefined) && (missing1 = "storage")) || ((data24.deriveVersion === undefined) && (missing1 = "deriveVersion"))){
|
|
@@ -1029,7 +1046,7 @@ validate10.errors = [{instancePath:instancePath+"/versioning",schemaPath:"#/prop
|
|
|
1029
1046
|
return false;
|
|
1030
1047
|
}
|
|
1031
1048
|
}
|
|
1032
|
-
var valid0 =
|
|
1049
|
+
var valid0 = _errs71 === errors;
|
|
1033
1050
|
}
|
|
1034
1051
|
else {
|
|
1035
1052
|
var valid0 = true;
|
|
@@ -1037,13 +1054,13 @@ var valid0 = true;
|
|
|
1037
1054
|
if(valid0){
|
|
1038
1055
|
if(data.constraints !== undefined){
|
|
1039
1056
|
let data25 = data.constraints;
|
|
1040
|
-
const
|
|
1041
|
-
if(errors ===
|
|
1057
|
+
const _errs74 = errors;
|
|
1058
|
+
if(errors === _errs74){
|
|
1042
1059
|
if(data25 && typeof data25 == "object" && !Array.isArray(data25)){
|
|
1043
1060
|
for(const key2 in data25){
|
|
1044
1061
|
let data26 = data25[key2];
|
|
1045
|
-
const
|
|
1046
|
-
if(errors ===
|
|
1062
|
+
const _errs77 = errors;
|
|
1063
|
+
if(errors === _errs77){
|
|
1047
1064
|
if(data26 && typeof data26 == "object" && !Array.isArray(data26)){
|
|
1048
1065
|
let missing2;
|
|
1049
1066
|
if(((((data26.name === undefined) && (missing2 = "name")) || ((data26.storage === undefined) && (missing2 = "storage"))) || ((data26.validate === undefined) && (missing2 = "validate"))) || ((data26.deriveConstraint === undefined) && (missing2 = "deriveConstraint"))){
|
|
@@ -1054,24 +1071,24 @@ else {
|
|
|
1054
1071
|
if(data26.name !== undefined){
|
|
1055
1072
|
let data27 = data26.name;
|
|
1056
1073
|
if(typeof data27 !== "string"){
|
|
1057
|
-
let
|
|
1058
|
-
let
|
|
1059
|
-
if(!(
|
|
1060
|
-
if(
|
|
1061
|
-
|
|
1074
|
+
let dataType27 = typeof data27;
|
|
1075
|
+
let coerced27 = undefined;
|
|
1076
|
+
if(!(coerced27 !== undefined)){
|
|
1077
|
+
if(dataType27 == "number" || dataType27 == "boolean"){
|
|
1078
|
+
coerced27 = "" + data27;
|
|
1062
1079
|
}
|
|
1063
1080
|
else if(data27 === null){
|
|
1064
|
-
|
|
1081
|
+
coerced27 = "";
|
|
1065
1082
|
}
|
|
1066
1083
|
else {
|
|
1067
1084
|
validate10.errors = [{instancePath:instancePath+"/constraints/" + key2.replace(/~/g, "~0").replace(/\//g, "~1")+"/name",schemaPath:"#/properties/constraints/additionalProperties/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];
|
|
1068
1085
|
return false;
|
|
1069
1086
|
}
|
|
1070
1087
|
}
|
|
1071
|
-
if(
|
|
1072
|
-
data27 =
|
|
1088
|
+
if(coerced27 !== undefined){
|
|
1089
|
+
data27 = coerced27;
|
|
1073
1090
|
if(data26 !== undefined){
|
|
1074
|
-
data26["name"] =
|
|
1091
|
+
data26["name"] = coerced27;
|
|
1075
1092
|
}
|
|
1076
1093
|
}
|
|
1077
1094
|
}
|
|
@@ -1083,7 +1100,7 @@ validate10.errors = [{instancePath:instancePath+"/constraints/" + key2.replace(/
|
|
|
1083
1100
|
return false;
|
|
1084
1101
|
}
|
|
1085
1102
|
}
|
|
1086
|
-
var valid7 =
|
|
1103
|
+
var valid7 = _errs77 === errors;
|
|
1087
1104
|
if(!valid7){
|
|
1088
1105
|
break;
|
|
1089
1106
|
}
|
|
@@ -1094,7 +1111,7 @@ validate10.errors = [{instancePath:instancePath+"/constraints",schemaPath:"#/pro
|
|
|
1094
1111
|
return false;
|
|
1095
1112
|
}
|
|
1096
1113
|
}
|
|
1097
|
-
var valid0 =
|
|
1114
|
+
var valid0 = _errs74 === errors;
|
|
1098
1115
|
}
|
|
1099
1116
|
else {
|
|
1100
1117
|
var valid0 = true;
|
|
@@ -1135,4 +1152,5 @@ return errors === 0;
|
|
|
1135
1152
|
}
|
|
1136
1153
|
|
|
1137
1154
|
|
|
1138
|
-
module.exports.defaultInitOptions = {"connectionTimeout":0,"keepAliveTimeout":72000,"maxRequestsPerSocket":0,"requestTimeout":0,"bodyLimit":1048576,"caseSensitive":true,"allowUnsafeRegex":false,"disableRequestLogging":false,"jsonShorthand":true,"ignoreTrailingSlash":false,"ignoreDuplicateSlashes":false,"maxParamLength":100,"onProtoPoisoning":"error","onConstructorPoisoning":"error","pluginTimeout":10000,"requestIdHeader":
|
|
1155
|
+
module.exports.defaultInitOptions = {"connectionTimeout":0,"keepAliveTimeout":72000,"maxRequestsPerSocket":0,"requestTimeout":0,"bodyLimit":1048576,"caseSensitive":true,"allowUnsafeRegex":false,"disableRequestLogging":false,"jsonShorthand":true,"ignoreTrailingSlash":false,"ignoreDuplicateSlashes":false,"maxParamLength":100,"onProtoPoisoning":"error","onConstructorPoisoning":"error","pluginTimeout":10000,"requestIdHeader":false,"requestIdLogLabel":"reqId","http2SessionTimeout":72000,"exposeHeadRoutes":true,"useSemicolonDelimiter":false}
|
|
1156
|
+
/* c8 ignore stop */
|