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/lib/configValidator.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
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},"
|
|
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},"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},"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
|
|
|
@@ -42,9 +42,6 @@ data.ignoreDuplicateSlashes = false;
|
|
|
42
42
|
if(data.disableRequestLogging === undefined){
|
|
43
43
|
data.disableRequestLogging = false;
|
|
44
44
|
}
|
|
45
|
-
if(data.jsonShorthand === undefined){
|
|
46
|
-
data.jsonShorthand = true;
|
|
47
|
-
}
|
|
48
45
|
if(data.maxParamLength === undefined){
|
|
49
46
|
data.maxParamLength = 100;
|
|
50
47
|
}
|
|
@@ -713,56 +710,57 @@ data["disableRequestLogging"] = coerced15;
|
|
|
713
710
|
}
|
|
714
711
|
var valid0 = _errs45 === errors;
|
|
715
712
|
if(valid0){
|
|
716
|
-
let data14 = data.
|
|
713
|
+
let data14 = data.maxParamLength;
|
|
717
714
|
const _errs47 = errors;
|
|
718
|
-
if(typeof data14
|
|
715
|
+
if(!(((typeof data14 == "number") && (!(data14 % 1) && !isNaN(data14))) && (isFinite(data14)))){
|
|
716
|
+
let dataType16 = typeof data14;
|
|
719
717
|
let coerced16 = undefined;
|
|
720
718
|
if(!(coerced16 !== undefined)){
|
|
721
|
-
if(
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
else if(data14 === "true" || data14 === 1){
|
|
725
|
-
coerced16 = true;
|
|
719
|
+
if(dataType16 === "boolean" || data14 === null
|
|
720
|
+
|| (dataType16 === "string" && data14 && data14 == +data14 && !(data14 % 1))){
|
|
721
|
+
coerced16 = +data14;
|
|
726
722
|
}
|
|
727
723
|
else {
|
|
728
|
-
validate10.errors = [{instancePath:instancePath+"/
|
|
724
|
+
validate10.errors = [{instancePath:instancePath+"/maxParamLength",schemaPath:"#/properties/maxParamLength/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];
|
|
729
725
|
return false;
|
|
730
726
|
}
|
|
731
727
|
}
|
|
732
728
|
if(coerced16 !== undefined){
|
|
733
729
|
data14 = coerced16;
|
|
734
730
|
if(data !== undefined){
|
|
735
|
-
data["
|
|
731
|
+
data["maxParamLength"] = coerced16;
|
|
736
732
|
}
|
|
737
733
|
}
|
|
738
734
|
}
|
|
739
735
|
var valid0 = _errs47 === errors;
|
|
740
736
|
if(valid0){
|
|
741
|
-
let data15 = data.
|
|
737
|
+
let data15 = data.onProtoPoisoning;
|
|
742
738
|
const _errs49 = errors;
|
|
743
|
-
if(
|
|
739
|
+
if(typeof data15 !== "string"){
|
|
744
740
|
let dataType17 = typeof data15;
|
|
745
741
|
let coerced17 = undefined;
|
|
746
742
|
if(!(coerced17 !== undefined)){
|
|
747
|
-
if(dataType17
|
|
748
|
-
|
|
749
|
-
|
|
743
|
+
if(dataType17 == "number" || dataType17 == "boolean"){
|
|
744
|
+
coerced17 = "" + data15;
|
|
745
|
+
}
|
|
746
|
+
else if(data15 === null){
|
|
747
|
+
coerced17 = "";
|
|
750
748
|
}
|
|
751
749
|
else {
|
|
752
|
-
validate10.errors = [{instancePath:instancePath+"/
|
|
750
|
+
validate10.errors = [{instancePath:instancePath+"/onProtoPoisoning",schemaPath:"#/properties/onProtoPoisoning/type",keyword:"type",params:{type: "string"},message:"must be string"}];
|
|
753
751
|
return false;
|
|
754
752
|
}
|
|
755
753
|
}
|
|
756
754
|
if(coerced17 !== undefined){
|
|
757
755
|
data15 = coerced17;
|
|
758
756
|
if(data !== undefined){
|
|
759
|
-
data["
|
|
757
|
+
data["onProtoPoisoning"] = coerced17;
|
|
760
758
|
}
|
|
761
759
|
}
|
|
762
760
|
}
|
|
763
761
|
var valid0 = _errs49 === errors;
|
|
764
762
|
if(valid0){
|
|
765
|
-
let data16 = data.
|
|
763
|
+
let data16 = data.onConstructorPoisoning;
|
|
766
764
|
const _errs51 = errors;
|
|
767
765
|
if(typeof data16 !== "string"){
|
|
768
766
|
let dataType18 = typeof data16;
|
|
@@ -775,82 +773,56 @@ else if(data16 === null){
|
|
|
775
773
|
coerced18 = "";
|
|
776
774
|
}
|
|
777
775
|
else {
|
|
778
|
-
validate10.errors = [{instancePath:instancePath+"/
|
|
776
|
+
validate10.errors = [{instancePath:instancePath+"/onConstructorPoisoning",schemaPath:"#/properties/onConstructorPoisoning/type",keyword:"type",params:{type: "string"},message:"must be string"}];
|
|
779
777
|
return false;
|
|
780
778
|
}
|
|
781
779
|
}
|
|
782
780
|
if(coerced18 !== undefined){
|
|
783
781
|
data16 = coerced18;
|
|
784
782
|
if(data !== undefined){
|
|
785
|
-
data["
|
|
783
|
+
data["onConstructorPoisoning"] = coerced18;
|
|
786
784
|
}
|
|
787
785
|
}
|
|
788
786
|
}
|
|
789
787
|
var valid0 = _errs51 === errors;
|
|
790
788
|
if(valid0){
|
|
791
|
-
let data17 = data.
|
|
789
|
+
let data17 = data.pluginTimeout;
|
|
792
790
|
const _errs53 = errors;
|
|
793
|
-
if(typeof data17
|
|
791
|
+
if(!(((typeof data17 == "number") && (!(data17 % 1) && !isNaN(data17))) && (isFinite(data17)))){
|
|
794
792
|
let dataType19 = typeof data17;
|
|
795
793
|
let coerced19 = undefined;
|
|
796
794
|
if(!(coerced19 !== undefined)){
|
|
797
|
-
if(dataType19
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
else if(data17 === null){
|
|
801
|
-
coerced19 = "";
|
|
795
|
+
if(dataType19 === "boolean" || data17 === null
|
|
796
|
+
|| (dataType19 === "string" && data17 && data17 == +data17 && !(data17 % 1))){
|
|
797
|
+
coerced19 = +data17;
|
|
802
798
|
}
|
|
803
799
|
else {
|
|
804
|
-
validate10.errors = [{instancePath:instancePath+"/
|
|
800
|
+
validate10.errors = [{instancePath:instancePath+"/pluginTimeout",schemaPath:"#/properties/pluginTimeout/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];
|
|
805
801
|
return false;
|
|
806
802
|
}
|
|
807
803
|
}
|
|
808
804
|
if(coerced19 !== undefined){
|
|
809
805
|
data17 = coerced19;
|
|
810
806
|
if(data !== undefined){
|
|
811
|
-
data["
|
|
807
|
+
data["pluginTimeout"] = coerced19;
|
|
812
808
|
}
|
|
813
809
|
}
|
|
814
810
|
}
|
|
815
811
|
var valid0 = _errs53 === errors;
|
|
816
812
|
if(valid0){
|
|
817
|
-
let data18 = data.
|
|
813
|
+
let data18 = data.requestIdHeader;
|
|
818
814
|
const _errs55 = errors;
|
|
819
|
-
|
|
820
|
-
let
|
|
815
|
+
const _errs56 = errors;
|
|
816
|
+
let valid6 = false;
|
|
817
|
+
const _errs57 = errors;
|
|
818
|
+
if(typeof data18 !== "boolean"){
|
|
821
819
|
let coerced20 = undefined;
|
|
822
820
|
if(!(coerced20 !== undefined)){
|
|
823
|
-
if(
|
|
824
|
-
|
|
825
|
-
coerced20 = +data18;
|
|
821
|
+
if(data18 === "false" || data18 === 0 || data18 === null){
|
|
822
|
+
coerced20 = false;
|
|
826
823
|
}
|
|
827
|
-
else {
|
|
828
|
-
|
|
829
|
-
return false;
|
|
830
|
-
}
|
|
831
|
-
}
|
|
832
|
-
if(coerced20 !== undefined){
|
|
833
|
-
data18 = coerced20;
|
|
834
|
-
if(data !== undefined){
|
|
835
|
-
data["pluginTimeout"] = coerced20;
|
|
836
|
-
}
|
|
837
|
-
}
|
|
838
|
-
}
|
|
839
|
-
var valid0 = _errs55 === errors;
|
|
840
|
-
if(valid0){
|
|
841
|
-
let data19 = data.requestIdHeader;
|
|
842
|
-
const _errs57 = errors;
|
|
843
|
-
const _errs58 = errors;
|
|
844
|
-
let valid6 = false;
|
|
845
|
-
const _errs59 = errors;
|
|
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;
|
|
824
|
+
else if(data18 === "true" || data18 === 1){
|
|
825
|
+
coerced20 = true;
|
|
854
826
|
}
|
|
855
827
|
else {
|
|
856
828
|
const err12 = {instancePath:instancePath+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/0/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};
|
|
@@ -863,26 +835,26 @@ vErrors.push(err12);
|
|
|
863
835
|
errors++;
|
|
864
836
|
}
|
|
865
837
|
}
|
|
866
|
-
if(
|
|
867
|
-
|
|
838
|
+
if(coerced20 !== undefined){
|
|
839
|
+
data18 = coerced20;
|
|
868
840
|
if(data !== undefined){
|
|
869
|
-
data["requestIdHeader"] =
|
|
841
|
+
data["requestIdHeader"] = coerced20;
|
|
870
842
|
}
|
|
871
843
|
}
|
|
872
844
|
}
|
|
873
|
-
var _valid3 =
|
|
845
|
+
var _valid3 = _errs57 === errors;
|
|
874
846
|
valid6 = valid6 || _valid3;
|
|
875
847
|
if(!valid6){
|
|
876
|
-
const
|
|
877
|
-
if(typeof
|
|
878
|
-
let
|
|
879
|
-
let
|
|
880
|
-
if(!(
|
|
881
|
-
if(
|
|
882
|
-
|
|
848
|
+
const _errs59 = errors;
|
|
849
|
+
if(typeof data18 !== "string"){
|
|
850
|
+
let dataType21 = typeof data18;
|
|
851
|
+
let coerced21 = undefined;
|
|
852
|
+
if(!(coerced21 !== undefined)){
|
|
853
|
+
if(dataType21 == "number" || dataType21 == "boolean"){
|
|
854
|
+
coerced21 = "" + data18;
|
|
883
855
|
}
|
|
884
|
-
else if(
|
|
885
|
-
|
|
856
|
+
else if(data18 === null){
|
|
857
|
+
coerced21 = "";
|
|
886
858
|
}
|
|
887
859
|
else {
|
|
888
860
|
const err13 = {instancePath:instancePath+"/requestIdHeader",schemaPath:"#/properties/requestIdHeader/anyOf/1/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
@@ -895,14 +867,14 @@ vErrors.push(err13);
|
|
|
895
867
|
errors++;
|
|
896
868
|
}
|
|
897
869
|
}
|
|
898
|
-
if(
|
|
899
|
-
|
|
870
|
+
if(coerced21 !== undefined){
|
|
871
|
+
data18 = coerced21;
|
|
900
872
|
if(data !== undefined){
|
|
901
|
-
data["requestIdHeader"] =
|
|
873
|
+
data["requestIdHeader"] = coerced21;
|
|
902
874
|
}
|
|
903
875
|
}
|
|
904
876
|
}
|
|
905
|
-
var _valid3 =
|
|
877
|
+
var _valid3 = _errs59 === errors;
|
|
906
878
|
valid6 = valid6 || _valid3;
|
|
907
879
|
}
|
|
908
880
|
if(!valid6){
|
|
@@ -918,69 +890,94 @@ validate10.errors = vErrors;
|
|
|
918
890
|
return false;
|
|
919
891
|
}
|
|
920
892
|
else {
|
|
921
|
-
errors =
|
|
893
|
+
errors = _errs56;
|
|
922
894
|
if(vErrors !== null){
|
|
923
|
-
if(
|
|
924
|
-
vErrors.length =
|
|
895
|
+
if(_errs56){
|
|
896
|
+
vErrors.length = _errs56;
|
|
925
897
|
}
|
|
926
898
|
else {
|
|
927
899
|
vErrors = null;
|
|
928
900
|
}
|
|
929
901
|
}
|
|
930
902
|
}
|
|
931
|
-
var valid0 =
|
|
903
|
+
var valid0 = _errs55 === errors;
|
|
904
|
+
if(valid0){
|
|
905
|
+
let data19 = data.requestIdLogLabel;
|
|
906
|
+
const _errs61 = errors;
|
|
907
|
+
if(typeof data19 !== "string"){
|
|
908
|
+
let dataType22 = typeof data19;
|
|
909
|
+
let coerced22 = undefined;
|
|
910
|
+
if(!(coerced22 !== undefined)){
|
|
911
|
+
if(dataType22 == "number" || dataType22 == "boolean"){
|
|
912
|
+
coerced22 = "" + data19;
|
|
913
|
+
}
|
|
914
|
+
else if(data19 === null){
|
|
915
|
+
coerced22 = "";
|
|
916
|
+
}
|
|
917
|
+
else {
|
|
918
|
+
validate10.errors = [{instancePath:instancePath+"/requestIdLogLabel",schemaPath:"#/properties/requestIdLogLabel/type",keyword:"type",params:{type: "string"},message:"must be string"}];
|
|
919
|
+
return false;
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
if(coerced22 !== undefined){
|
|
923
|
+
data19 = coerced22;
|
|
924
|
+
if(data !== undefined){
|
|
925
|
+
data["requestIdLogLabel"] = coerced22;
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
var valid0 = _errs61 === errors;
|
|
932
930
|
if(valid0){
|
|
933
|
-
let data20 = data.
|
|
931
|
+
let data20 = data.http2SessionTimeout;
|
|
934
932
|
const _errs63 = errors;
|
|
935
|
-
if(typeof data20
|
|
933
|
+
if(!(((typeof data20 == "number") && (!(data20 % 1) && !isNaN(data20))) && (isFinite(data20)))){
|
|
936
934
|
let dataType23 = typeof data20;
|
|
937
935
|
let coerced23 = undefined;
|
|
938
936
|
if(!(coerced23 !== undefined)){
|
|
939
|
-
if(dataType23
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
else if(data20 === null){
|
|
943
|
-
coerced23 = "";
|
|
937
|
+
if(dataType23 === "boolean" || data20 === null
|
|
938
|
+
|| (dataType23 === "string" && data20 && data20 == +data20 && !(data20 % 1))){
|
|
939
|
+
coerced23 = +data20;
|
|
944
940
|
}
|
|
945
941
|
else {
|
|
946
|
-
validate10.errors = [{instancePath:instancePath+"/
|
|
942
|
+
validate10.errors = [{instancePath:instancePath+"/http2SessionTimeout",schemaPath:"#/properties/http2SessionTimeout/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];
|
|
947
943
|
return false;
|
|
948
944
|
}
|
|
949
945
|
}
|
|
950
946
|
if(coerced23 !== undefined){
|
|
951
947
|
data20 = coerced23;
|
|
952
948
|
if(data !== undefined){
|
|
953
|
-
data["
|
|
949
|
+
data["http2SessionTimeout"] = coerced23;
|
|
954
950
|
}
|
|
955
951
|
}
|
|
956
952
|
}
|
|
957
953
|
var valid0 = _errs63 === errors;
|
|
958
954
|
if(valid0){
|
|
959
|
-
let data21 = data.
|
|
955
|
+
let data21 = data.exposeHeadRoutes;
|
|
960
956
|
const _errs65 = errors;
|
|
961
|
-
if(
|
|
962
|
-
let dataType24 = typeof data21;
|
|
957
|
+
if(typeof data21 !== "boolean"){
|
|
963
958
|
let coerced24 = undefined;
|
|
964
959
|
if(!(coerced24 !== undefined)){
|
|
965
|
-
if(
|
|
966
|
-
|
|
967
|
-
|
|
960
|
+
if(data21 === "false" || data21 === 0 || data21 === null){
|
|
961
|
+
coerced24 = false;
|
|
962
|
+
}
|
|
963
|
+
else if(data21 === "true" || data21 === 1){
|
|
964
|
+
coerced24 = true;
|
|
968
965
|
}
|
|
969
966
|
else {
|
|
970
|
-
validate10.errors = [{instancePath:instancePath+"/
|
|
967
|
+
validate10.errors = [{instancePath:instancePath+"/exposeHeadRoutes",schemaPath:"#/properties/exposeHeadRoutes/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
|
|
971
968
|
return false;
|
|
972
969
|
}
|
|
973
970
|
}
|
|
974
971
|
if(coerced24 !== undefined){
|
|
975
972
|
data21 = coerced24;
|
|
976
973
|
if(data !== undefined){
|
|
977
|
-
data["
|
|
974
|
+
data["exposeHeadRoutes"] = coerced24;
|
|
978
975
|
}
|
|
979
976
|
}
|
|
980
977
|
}
|
|
981
978
|
var valid0 = _errs65 === errors;
|
|
982
979
|
if(valid0){
|
|
983
|
-
let data22 = data.
|
|
980
|
+
let data22 = data.useSemicolonDelimiter;
|
|
984
981
|
const _errs67 = errors;
|
|
985
982
|
if(typeof data22 !== "boolean"){
|
|
986
983
|
let coerced25 = undefined;
|
|
@@ -992,103 +989,56 @@ else if(data22 === "true" || data22 === 1){
|
|
|
992
989
|
coerced25 = true;
|
|
993
990
|
}
|
|
994
991
|
else {
|
|
995
|
-
validate10.errors = [{instancePath:instancePath+"/
|
|
992
|
+
validate10.errors = [{instancePath:instancePath+"/useSemicolonDelimiter",schemaPath:"#/properties/useSemicolonDelimiter/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
|
|
996
993
|
return false;
|
|
997
994
|
}
|
|
998
995
|
}
|
|
999
996
|
if(coerced25 !== undefined){
|
|
1000
997
|
data22 = coerced25;
|
|
1001
998
|
if(data !== undefined){
|
|
1002
|
-
data["
|
|
999
|
+
data["useSemicolonDelimiter"] = coerced25;
|
|
1003
1000
|
}
|
|
1004
1001
|
}
|
|
1005
1002
|
}
|
|
1006
1003
|
var valid0 = _errs67 === errors;
|
|
1007
1004
|
if(valid0){
|
|
1008
|
-
|
|
1005
|
+
if(data.constraints !== undefined){
|
|
1006
|
+
let data23 = data.constraints;
|
|
1009
1007
|
const _errs69 = errors;
|
|
1010
|
-
if(
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
else if(data23 === "true" || data23 === 1){
|
|
1017
|
-
coerced26 = true;
|
|
1018
|
-
}
|
|
1019
|
-
else {
|
|
1020
|
-
validate10.errors = [{instancePath:instancePath+"/useSemicolonDelimiter",schemaPath:"#/properties/useSemicolonDelimiter/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];
|
|
1021
|
-
return false;
|
|
1022
|
-
}
|
|
1023
|
-
}
|
|
1024
|
-
if(coerced26 !== undefined){
|
|
1025
|
-
data23 = coerced26;
|
|
1026
|
-
if(data !== undefined){
|
|
1027
|
-
data["useSemicolonDelimiter"] = coerced26;
|
|
1028
|
-
}
|
|
1029
|
-
}
|
|
1030
|
-
}
|
|
1031
|
-
var valid0 = _errs69 === errors;
|
|
1032
|
-
if(valid0){
|
|
1033
|
-
if(data.versioning !== undefined){
|
|
1034
|
-
let data24 = data.versioning;
|
|
1035
|
-
const _errs71 = errors;
|
|
1036
|
-
if(errors === _errs71){
|
|
1008
|
+
if(errors === _errs69){
|
|
1009
|
+
if(data23 && typeof data23 == "object" && !Array.isArray(data23)){
|
|
1010
|
+
for(const key2 in data23){
|
|
1011
|
+
let data24 = data23[key2];
|
|
1012
|
+
const _errs72 = errors;
|
|
1013
|
+
if(errors === _errs72){
|
|
1037
1014
|
if(data24 && typeof data24 == "object" && !Array.isArray(data24)){
|
|
1038
1015
|
let missing1;
|
|
1039
|
-
if(((data24.storage === undefined) && (missing1 = "storage")) || ((data24.
|
|
1040
|
-
validate10.errors = [{instancePath:instancePath+"/
|
|
1041
|
-
return false;
|
|
1042
|
-
}
|
|
1043
|
-
}
|
|
1044
|
-
else {
|
|
1045
|
-
validate10.errors = [{instancePath:instancePath+"/versioning",schemaPath:"#/properties/versioning/type",keyword:"type",params:{type: "object"},message:"must be object"}];
|
|
1016
|
+
if(((((data24.name === undefined) && (missing1 = "name")) || ((data24.storage === undefined) && (missing1 = "storage"))) || ((data24.validate === undefined) && (missing1 = "validate"))) || ((data24.deriveConstraint === undefined) && (missing1 = "deriveConstraint"))){
|
|
1017
|
+
validate10.errors = [{instancePath:instancePath+"/constraints/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/constraints/additionalProperties/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];
|
|
1046
1018
|
return false;
|
|
1047
1019
|
}
|
|
1048
|
-
}
|
|
1049
|
-
var valid0 = _errs71 === errors;
|
|
1050
|
-
}
|
|
1051
1020
|
else {
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
if(
|
|
1055
|
-
|
|
1056
|
-
let
|
|
1057
|
-
|
|
1058
|
-
if(
|
|
1059
|
-
|
|
1060
|
-
for(const key2 in data25){
|
|
1061
|
-
let data26 = data25[key2];
|
|
1062
|
-
const _errs77 = errors;
|
|
1063
|
-
if(errors === _errs77){
|
|
1064
|
-
if(data26 && typeof data26 == "object" && !Array.isArray(data26)){
|
|
1065
|
-
let missing2;
|
|
1066
|
-
if(((((data26.name === undefined) && (missing2 = "name")) || ((data26.storage === undefined) && (missing2 = "storage"))) || ((data26.validate === undefined) && (missing2 = "validate"))) || ((data26.deriveConstraint === undefined) && (missing2 = "deriveConstraint"))){
|
|
1067
|
-
validate10.errors = [{instancePath:instancePath+"/constraints/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/constraints/additionalProperties/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];
|
|
1068
|
-
return false;
|
|
1069
|
-
}
|
|
1070
|
-
else {
|
|
1071
|
-
if(data26.name !== undefined){
|
|
1072
|
-
let data27 = data26.name;
|
|
1073
|
-
if(typeof data27 !== "string"){
|
|
1074
|
-
let dataType27 = typeof data27;
|
|
1075
|
-
let coerced27 = undefined;
|
|
1076
|
-
if(!(coerced27 !== undefined)){
|
|
1077
|
-
if(dataType27 == "number" || dataType27 == "boolean"){
|
|
1078
|
-
coerced27 = "" + data27;
|
|
1021
|
+
if(data24.name !== undefined){
|
|
1022
|
+
let data25 = data24.name;
|
|
1023
|
+
if(typeof data25 !== "string"){
|
|
1024
|
+
let dataType26 = typeof data25;
|
|
1025
|
+
let coerced26 = undefined;
|
|
1026
|
+
if(!(coerced26 !== undefined)){
|
|
1027
|
+
if(dataType26 == "number" || dataType26 == "boolean"){
|
|
1028
|
+
coerced26 = "" + data25;
|
|
1079
1029
|
}
|
|
1080
|
-
else if(
|
|
1081
|
-
|
|
1030
|
+
else if(data25 === null){
|
|
1031
|
+
coerced26 = "";
|
|
1082
1032
|
}
|
|
1083
1033
|
else {
|
|
1084
1034
|
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"}];
|
|
1085
1035
|
return false;
|
|
1086
1036
|
}
|
|
1087
1037
|
}
|
|
1088
|
-
if(
|
|
1089
|
-
|
|
1090
|
-
if(
|
|
1091
|
-
|
|
1038
|
+
if(coerced26 !== undefined){
|
|
1039
|
+
data25 = coerced26;
|
|
1040
|
+
if(data24 !== undefined){
|
|
1041
|
+
data24["name"] = coerced26;
|
|
1092
1042
|
}
|
|
1093
1043
|
}
|
|
1094
1044
|
}
|
|
@@ -1100,7 +1050,7 @@ validate10.errors = [{instancePath:instancePath+"/constraints/" + key2.replace(/
|
|
|
1100
1050
|
return false;
|
|
1101
1051
|
}
|
|
1102
1052
|
}
|
|
1103
|
-
var valid7 =
|
|
1053
|
+
var valid7 = _errs72 === errors;
|
|
1104
1054
|
if(!valid7){
|
|
1105
1055
|
break;
|
|
1106
1056
|
}
|
|
@@ -1111,7 +1061,7 @@ validate10.errors = [{instancePath:instancePath+"/constraints",schemaPath:"#/pro
|
|
|
1111
1061
|
return false;
|
|
1112
1062
|
}
|
|
1113
1063
|
}
|
|
1114
|
-
var valid0 =
|
|
1064
|
+
var valid0 = _errs69 === errors;
|
|
1115
1065
|
}
|
|
1116
1066
|
else {
|
|
1117
1067
|
var valid0 = true;
|
|
@@ -1140,8 +1090,6 @@ var valid0 = true;
|
|
|
1140
1090
|
}
|
|
1141
1091
|
}
|
|
1142
1092
|
}
|
|
1143
|
-
}
|
|
1144
|
-
}
|
|
1145
1093
|
else {
|
|
1146
1094
|
validate10.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];
|
|
1147
1095
|
return false;
|
|
@@ -1152,5 +1100,5 @@ return errors === 0;
|
|
|
1152
1100
|
}
|
|
1153
1101
|
|
|
1154
1102
|
|
|
1155
|
-
module.exports.defaultInitOptions = {"connectionTimeout":0,"keepAliveTimeout":72000,"maxRequestsPerSocket":0,"requestTimeout":0,"bodyLimit":1048576,"caseSensitive":true,"allowUnsafeRegex":false,"disableRequestLogging":false,"
|
|
1103
|
+
module.exports.defaultInitOptions = {"connectionTimeout":0,"keepAliveTimeout":72000,"maxRequestsPerSocket":0,"requestTimeout":0,"bodyLimit":1048576,"caseSensitive":true,"allowUnsafeRegex":false,"disableRequestLogging":false,"ignoreTrailingSlash":false,"ignoreDuplicateSlashes":false,"maxParamLength":100,"onProtoPoisoning":"error","onConstructorPoisoning":"error","pluginTimeout":10000,"requestIdHeader":false,"requestIdLogLabel":"reqId","http2SessionTimeout":72000,"exposeHeadRoutes":true,"useSemicolonDelimiter":false}
|
|
1156
1104
|
/* c8 ignore stop */
|
package/lib/context.js
CHANGED
|
@@ -14,8 +14,7 @@ const {
|
|
|
14
14
|
kContentTypeParser,
|
|
15
15
|
kRouteByFastify,
|
|
16
16
|
kRequestCacheValidateFns,
|
|
17
|
-
kReplyCacheSerializeFns
|
|
18
|
-
kPublicRouteContext
|
|
17
|
+
kReplyCacheSerializeFns
|
|
19
18
|
} = require('./symbols.js')
|
|
20
19
|
|
|
21
20
|
// Object that holds the context of every request
|
|
@@ -79,29 +78,9 @@ function Context ({
|
|
|
79
78
|
this.validatorCompiler = validatorCompiler || null
|
|
80
79
|
this.serializerCompiler = serializerCompiler || null
|
|
81
80
|
|
|
82
|
-
// Route + Userland configurations for the route
|
|
83
|
-
this[kPublicRouteContext] = getPublicRouteContext(this)
|
|
84
|
-
|
|
85
81
|
this.server = server
|
|
86
82
|
}
|
|
87
83
|
|
|
88
|
-
function getPublicRouteContext (context) {
|
|
89
|
-
return Object.create(null, {
|
|
90
|
-
schema: {
|
|
91
|
-
enumerable: true,
|
|
92
|
-
get () {
|
|
93
|
-
return context.schema
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
config: {
|
|
97
|
-
enumerable: true,
|
|
98
|
-
get () {
|
|
99
|
-
return context.config
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
})
|
|
103
|
-
}
|
|
104
|
-
|
|
105
84
|
function defaultSchemaErrorFormatter (errors, dataVar) {
|
|
106
85
|
let text = ''
|
|
107
86
|
const separator = ', '
|
package/lib/decorate.js
CHANGED
|
@@ -16,7 +16,7 @@ const {
|
|
|
16
16
|
} = require('./errors')
|
|
17
17
|
|
|
18
18
|
function decorate (instance, name, fn, dependencies) {
|
|
19
|
-
if (Object.
|
|
19
|
+
if (Object.hasOwn(instance, name)) {
|
|
20
20
|
throw new FST_ERR_DEC_ALREADY_PRESENT(name)
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -34,7 +34,7 @@ function decorate (instance, name, fn, dependencies) {
|
|
|
34
34
|
|
|
35
35
|
function decorateConstructor (konstructor, name, fn, dependencies) {
|
|
36
36
|
const instance = konstructor.prototype
|
|
37
|
-
if (Object.
|
|
37
|
+
if (Object.hasOwn(instance, name) || hasKey(konstructor, name)) {
|
|
38
38
|
throw new FST_ERR_DEC_ALREADY_PRESENT(name)
|
|
39
39
|
}
|
|
40
40
|
|
package/lib/errors.js
CHANGED
|
@@ -47,12 +47,6 @@ const codes = {
|
|
|
47
47
|
500,
|
|
48
48
|
TypeError
|
|
49
49
|
),
|
|
50
|
-
FST_ERR_VERSION_CONSTRAINT_NOT_STR: createError(
|
|
51
|
-
'FST_ERR_VERSION_CONSTRAINT_NOT_STR',
|
|
52
|
-
'Version constraint should be a string.',
|
|
53
|
-
500,
|
|
54
|
-
TypeError
|
|
55
|
-
),
|
|
56
50
|
FST_ERR_VALIDATION: createError(
|
|
57
51
|
'FST_ERR_VALIDATION',
|
|
58
52
|
'%s',
|
package/lib/handleRequest.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const diagnostics = require('dc-polyfill')
|
|
3
|
+
const diagnostics = require('node:diagnostics_channel')
|
|
5
4
|
const { validate: validateSchema } = require('./validation')
|
|
6
5
|
const { preValidationHookRunner, preHandlerHookRunner } = require('./hooks')
|
|
7
6
|
const wrapThenable = require('./wrapThenable')
|
|
8
7
|
const {
|
|
9
8
|
kReplyIsError,
|
|
10
9
|
kRouteContext,
|
|
11
|
-
kFourOhFourContext
|
|
10
|
+
kFourOhFourContext,
|
|
11
|
+
kSupportedHTTPMethods
|
|
12
12
|
} = require('./symbols')
|
|
13
13
|
|
|
14
14
|
const channels = diagnostics.tracingChannel('fastify.request.handler')
|
|
@@ -25,12 +25,12 @@ function handleRequest (err, request, reply) {
|
|
|
25
25
|
const headers = request.headers
|
|
26
26
|
const context = request[kRouteContext]
|
|
27
27
|
|
|
28
|
-
if (
|
|
28
|
+
if (this[kSupportedHTTPMethods].bodyless.has(method)) {
|
|
29
29
|
handler(request, reply)
|
|
30
30
|
return
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
if (
|
|
33
|
+
if (this[kSupportedHTTPMethods].bodywith.has(method)) {
|
|
34
34
|
const contentType = headers['content-type']
|
|
35
35
|
const contentLength = headers['content-length']
|
|
36
36
|
const transferEncoding = headers['transfer-encoding']
|