@zudojs/http 1.4.4 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/httpAdapter/errorResponse/httpAdapterError.headers.d.ts +46 -0
- package/dist/httpAdapter/errorResponse/httpAdapterError.headers.js +68 -0
- package/dist/httpAdapter/errorResponse/httpAdapterError.issues.d.ts +11 -0
- package/dist/httpAdapter/errorResponse/httpAdapterError.issues.js +37 -0
- package/dist/httpAdapter/errorResponse/httpAdapterError.locate.d.ts +29 -0
- package/dist/httpAdapter/errorResponse/httpAdapterError.locate.js +74 -0
- package/dist/httpAdapter/{httpAdapter.errorResponse.d.ts → errorResponse/httpAdapterError.response.d.ts} +10 -5
- package/dist/httpAdapter/errorResponse/httpAdapterError.response.js +83 -0
- package/dist/httpAdapter/errorResponse/index.d.ts +10 -0
- package/dist/httpAdapter/errorResponse/index.js +10 -0
- package/dist/httpAdapter/fetch/httpFetch.body.d.ts +0 -1
- package/dist/httpAdapter/fetch/httpFetch.body.js +0 -1
- package/dist/httpAdapter/fetch/httpFetch.helper.d.ts +0 -1
- package/dist/httpAdapter/fetch/httpFetch.helper.js +0 -1
- package/dist/httpAdapter/fetch/httpFetch.requestContext.d.ts +0 -1
- package/dist/httpAdapter/fetch/httpFetch.requestContext.js +0 -1
- package/dist/httpAdapter/fetch/httpFetch.responseWriter.d.ts +0 -1
- package/dist/httpAdapter/fetch/httpFetch.responseWriter.js +0 -1
- package/dist/httpAdapter/fetch/httpFetch.type.d.ts +2 -2
- package/dist/httpAdapter/fetch/httpFetch.type.js +2 -2
- package/dist/httpAdapter/fetch/index.d.ts +0 -1
- package/dist/httpAdapter/fetch/index.js +0 -1
- package/dist/httpAdapter/http.adapter.d.ts +12 -1
- package/dist/httpAdapter/http.adapter.js +5 -3
- package/dist/httpAdapter/http.adapters.d.ts +0 -1
- package/dist/httpAdapter/http.adapters.js +0 -1
- package/dist/httpAdapter/httpAdapter.logger.d.ts +0 -1
- package/dist/httpAdapter/httpAdapter.logger.js +0 -1
- package/dist/httpAdapter/httpFetch.adapter.d.ts +0 -1
- package/dist/httpAdapter/httpFetch.adapter.js +0 -1
- package/dist/httpAdapter/index.d.ts +1 -1
- package/dist/httpAdapter/index.js +0 -1
- package/dist/httpAdapter/node/httpNode.adapter.d.ts +6 -2
- package/dist/httpAdapter/node/httpNode.adapter.js +33 -10
- package/dist/httpAdapter/node/httpNode.request.d.ts +0 -1
- package/dist/httpAdapter/node/httpNode.request.js +0 -1
- package/dist/httpAdapter/node/httpNode.response.d.ts +0 -1
- package/dist/httpAdapter/node/httpNode.response.js +0 -1
- package/dist/httpAdapter/node/httpNode.server.d.ts +0 -1
- package/dist/httpAdapter/node/httpNode.server.js +0 -1
- package/dist/httpAdapter/node/httpNode.type.d.ts +2 -2
- package/dist/httpAdapter/node/httpNode.type.js +2 -2
- package/dist/httpAdapter/node/index.d.ts +0 -1
- package/dist/httpAdapter/node/index.js +0 -1
- package/dist/httpAgent/http.agent.d.ts +0 -1
- package/dist/httpAgent/http.agent.js +0 -1
- package/dist/httpAgent/index.d.ts +0 -1
- package/dist/httpAgent/index.js +0 -1
- package/dist/httpBody/http.body.d.ts +0 -1
- package/dist/httpBody/http.body.js +0 -1
- package/dist/httpBody/httpBody.formData.d.ts +5 -2
- package/dist/httpBody/httpBody.formData.js +5 -2
- package/dist/httpBody/httpBody.parser.d.ts +0 -1
- package/dist/httpBody/httpBody.parser.js +0 -1
- package/dist/httpBody/index.d.ts +0 -1
- package/dist/httpBody/index.js +0 -1
- package/dist/httpCacheControl/core/httpCacheControl.parse.d.ts +0 -1
- package/dist/httpCacheControl/core/httpCacheControl.parse.js +0 -1
- package/dist/httpCacheControl/core/httpCacheControl.type.d.ts +0 -1
- package/dist/httpCacheControl/core/httpCacheControl.type.js +0 -1
- package/dist/httpCacheControl/core/httpCacheControl.validation.d.ts +0 -1
- package/dist/httpCacheControl/core/httpCacheControl.validation.js +0 -1
- package/dist/httpCacheControl/core/index.d.ts +0 -1
- package/dist/httpCacheControl/core/index.js +0 -1
- package/dist/httpCacheControl/httpCacheControl.core.d.ts +0 -1
- package/dist/httpCacheControl/httpCacheControl.core.js +0 -1
- package/dist/httpCacheControl/httpCacheControl.factory.d.ts +0 -1
- package/dist/httpCacheControl/httpCacheControl.factory.js +0 -1
- package/dist/httpCacheControl/httpCacheControl.freshness.d.ts +0 -1
- package/dist/httpCacheControl/httpCacheControl.freshness.js +0 -1
- package/dist/httpCacheControl/httpCacheControl.requestHelper.d.ts +0 -1
- package/dist/httpCacheControl/httpCacheControl.requestHelper.js +0 -1
- package/dist/httpCacheControl/httpCacheControl.responseHelper.d.ts +0 -1
- package/dist/httpCacheControl/httpCacheControl.responseHelper.js +0 -1
- package/dist/httpCacheControl/index.d.ts +0 -1
- package/dist/httpCacheControl/index.js +0 -1
- package/dist/httpClient/httpClient.abort.d.ts +0 -1
- package/dist/httpClient/httpClient.abort.js +0 -1
- package/dist/httpClient/httpClient.body.d.ts +0 -1
- package/dist/httpClient/httpClient.body.js +0 -1
- package/dist/httpClient/httpClient.client.d.ts +0 -1
- package/dist/httpClient/httpClient.client.js +0 -1
- package/dist/httpClient/httpClient.context.d.ts +0 -1
- package/dist/httpClient/httpClient.context.js +0 -1
- package/dist/httpClient/httpClient.error.d.ts +0 -1
- package/dist/httpClient/httpClient.error.js +0 -1
- package/dist/httpClient/httpClient.errorNormalizer.d.ts +0 -1
- package/dist/httpClient/httpClient.errorNormalizer.js +0 -1
- package/dist/httpClient/httpClient.executor.d.ts +0 -1
- package/dist/httpClient/httpClient.executor.js +0 -1
- package/dist/httpClient/httpClient.factory.d.ts +0 -1
- package/dist/httpClient/httpClient.factory.js +0 -1
- package/dist/httpClient/httpClient.headers.d.ts +0 -1
- package/dist/httpClient/httpClient.headers.js +0 -1
- package/dist/httpClient/httpClient.helpers.d.ts +0 -1
- package/dist/httpClient/httpClient.helpers.js +0 -1
- package/dist/httpClient/httpClient.interceptors.d.ts +0 -1
- package/dist/httpClient/httpClient.interceptors.js +0 -1
- package/dist/httpClient/httpClient.methods.d.ts +0 -1
- package/dist/httpClient/httpClient.methods.js +0 -1
- package/dist/httpClient/httpClient.response.d.ts +0 -1
- package/dist/httpClient/httpClient.response.js +0 -1
- package/dist/httpClient/httpClient.retry.d.ts +0 -1
- package/dist/httpClient/httpClient.retry.js +0 -1
- package/dist/httpClient/httpClient.type.d.ts +0 -1
- package/dist/httpClient/httpClient.type.js +0 -1
- package/dist/httpClient/httpClient.typeGuards.d.ts +0 -1
- package/dist/httpClient/httpClient.typeGuards.js +0 -1
- package/dist/httpClient/httpClient.url.d.ts +0 -1
- package/dist/httpClient/httpClient.url.js +0 -1
- package/dist/httpClient/index.d.ts +2 -1
- package/dist/httpClient/index.js +2 -1
- package/dist/httpCompression/http.compression.d.ts +0 -1
- package/dist/httpCompression/http.compression.js +0 -1
- package/dist/httpCompression/index.d.ts +0 -1
- package/dist/httpCompression/index.js +0 -1
- package/dist/httpConditional/httpConditional.core.d.ts +0 -1
- package/dist/httpConditional/httpConditional.core.js +0 -1
- package/dist/httpConditional/index.d.ts +0 -1
- package/dist/httpConditional/index.js +0 -1
- package/dist/httpConstants/http.constants.d.ts +0 -1
- package/dist/httpConstants/http.constants.js +0 -1
- package/dist/httpConstants/index.d.ts +0 -1
- package/dist/httpConstants/index.js +0 -1
- package/dist/httpContentDisposition/httpContentDisposition.core.d.ts +0 -1
- package/dist/httpContentDisposition/httpContentDisposition.core.js +0 -1
- package/dist/httpContentDisposition/index.d.ts +0 -1
- package/dist/httpContentDisposition/index.js +0 -1
- package/dist/httpContentType/httpContentType.boundary.d.ts +0 -1
- package/dist/httpContentType/httpContentType.boundary.js +0 -1
- package/dist/httpContentType/httpContentType.category.d.ts +0 -1
- package/dist/httpContentType/httpContentType.category.js +0 -1
- package/dist/httpContentType/httpContentType.categoryBinary.d.ts +0 -1
- package/dist/httpContentType/httpContentType.categoryBinary.js +0 -1
- package/dist/httpContentType/httpContentType.charset.d.ts +0 -1
- package/dist/httpContentType/httpContentType.charset.js +0 -1
- package/dist/httpContentType/httpContentType.constructors.d.ts +0 -1
- package/dist/httpContentType/httpContentType.constructors.js +0 -1
- package/dist/httpContentType/httpContentType.formatter.d.ts +0 -1
- package/dist/httpContentType/httpContentType.formatter.js +0 -1
- package/dist/httpContentType/httpContentType.matcher.d.ts +0 -1
- package/dist/httpContentType/httpContentType.matcher.js +0 -1
- package/dist/httpContentType/httpContentType.mediaTypes.d.ts +0 -1
- package/dist/httpContentType/httpContentType.mediaTypes.js +0 -1
- package/dist/httpContentType/httpContentType.normalizer.d.ts +0 -1
- package/dist/httpContentType/httpContentType.normalizer.js +0 -1
- package/dist/httpContentType/httpContentType.parameter.d.ts +0 -1
- package/dist/httpContentType/httpContentType.parameter.js +0 -1
- package/dist/httpContentType/httpContentType.parser.d.ts +0 -1
- package/dist/httpContentType/httpContentType.parser.js +0 -1
- package/dist/httpContentType/httpContentType.parserHelpers.d.ts +0 -1
- package/dist/httpContentType/httpContentType.parserHelpers.js +0 -1
- package/dist/httpContentType/httpContentType.type.d.ts +0 -1
- package/dist/httpContentType/httpContentType.type.js +0 -1
- package/dist/httpContentType/index.d.ts +0 -1
- package/dist/httpContentType/index.js +0 -1
- package/dist/httpContext/http.context.d.ts +0 -1
- package/dist/httpContext/http.context.js +0 -1
- package/dist/httpContext/index.d.ts +0 -1
- package/dist/httpContext/index.js +0 -1
- package/dist/httpCookies/http.cookies.d.ts +0 -1
- package/dist/httpCookies/http.cookies.js +0 -1
- package/dist/httpCookies/httpCookies.defaults.d.ts +0 -1
- package/dist/httpCookies/httpCookies.defaults.js +0 -1
- package/dist/httpCookies/index.d.ts +0 -1
- package/dist/httpCookies/index.js +0 -1
- package/dist/httpCors/http.cors.d.ts +0 -1
- package/dist/httpCors/http.cors.js +0 -1
- package/dist/httpCors/index.d.ts +0 -1
- package/dist/httpCors/index.js +0 -1
- package/dist/httpCsp/checks/httpCsp.checks.d.ts +0 -1
- package/dist/httpCsp/checks/httpCsp.checks.js +0 -1
- package/dist/httpCsp/checks/index.d.ts +0 -1
- package/dist/httpCsp/checks/index.js +0 -1
- package/dist/httpCsp/formatting/httpCsp.formatting.d.ts +0 -1
- package/dist/httpCsp/formatting/httpCsp.formatting.js +0 -1
- package/dist/httpCsp/formatting/index.d.ts +0 -1
- package/dist/httpCsp/formatting/index.js +0 -1
- package/dist/httpCsp/index.d.ts +0 -1
- package/dist/httpCsp/index.js +0 -1
- package/dist/httpCsp/internal/httpCsp.internal.d.ts +0 -1
- package/dist/httpCsp/internal/httpCsp.internal.js +0 -1
- package/dist/httpCsp/internal/index.d.ts +0 -1
- package/dist/httpCsp/internal/index.js +0 -1
- package/dist/httpCsp/nonce/httpCsp.nonce.d.ts +0 -1
- package/dist/httpCsp/nonce/httpCsp.nonce.js +0 -1
- package/dist/httpCsp/nonce/index.d.ts +0 -1
- package/dist/httpCsp/nonce/index.js +0 -1
- package/dist/httpCsp/parsing/httpCsp.parsing.d.ts +0 -1
- package/dist/httpCsp/parsing/httpCsp.parsing.js +0 -1
- package/dist/httpCsp/parsing/index.d.ts +0 -1
- package/dist/httpCsp/parsing/index.js +0 -1
- package/dist/httpCsp/policies/httpCsp.policies.d.ts +0 -1
- package/dist/httpCsp/policies/httpCsp.policies.js +0 -1
- package/dist/httpCsp/policies/index.d.ts +0 -1
- package/dist/httpCsp/policies/index.js +0 -1
- package/dist/httpCsp/reportOnly/httpCsp.reportOnly.d.ts +0 -1
- package/dist/httpCsp/reportOnly/httpCsp.reportOnly.js +0 -1
- package/dist/httpCsp/reportOnly/index.d.ts +0 -1
- package/dist/httpCsp/reportOnly/index.js +0 -1
- package/dist/httpCsp/sources/httpCsp.sources.d.ts +0 -1
- package/dist/httpCsp/sources/httpCsp.sources.js +0 -1
- package/dist/httpCsp/sources/index.d.ts +0 -1
- package/dist/httpCsp/sources/index.js +0 -1
- package/dist/httpCsp/types/httpCsp.constant.d.ts +0 -1
- package/dist/httpCsp/types/httpCsp.constant.js +0 -1
- package/dist/httpCsp/types/httpCsp.type.d.ts +0 -1
- package/dist/httpCsp/types/httpCsp.type.js +0 -1
- package/dist/httpCsp/types/index.d.ts +0 -1
- package/dist/httpCsp/types/index.js +0 -1
- package/dist/httpCsp/validation/httpCsp.validate.d.ts +0 -1
- package/dist/httpCsp/validation/httpCsp.validate.js +0 -1
- package/dist/httpCsp/validation/httpCsp.validation.d.ts +0 -1
- package/dist/httpCsp/validation/httpCsp.validation.js +0 -1
- package/dist/httpCsp/validation/index.d.ts +0 -1
- package/dist/httpCsp/validation/index.js +0 -1
- package/dist/httpErrors/factories/httpError.clientError.d.ts +0 -1
- package/dist/httpErrors/factories/httpError.clientError.js +0 -1
- package/dist/httpErrors/factories/httpError.serverError.d.ts +10 -6
- package/dist/httpErrors/factories/httpError.serverError.js +22 -6
- package/dist/httpErrors/httpError.base.d.ts +0 -1
- package/dist/httpErrors/httpError.base.js +0 -1
- package/dist/httpErrors/httpError.helper.d.ts +0 -1
- package/dist/httpErrors/httpError.helper.js +0 -1
- package/dist/httpErrors/httpError.invalidJson.d.ts +0 -1
- package/dist/httpErrors/httpError.invalidJson.js +0 -1
- package/dist/httpErrors/httpError.type.d.ts +0 -1
- package/dist/httpErrors/httpError.type.js +0 -1
- package/dist/httpErrors/httpError.typeGuard.d.ts +0 -1
- package/dist/httpErrors/httpError.typeGuard.js +0 -1
- package/dist/httpErrors/httpError.util.d.ts +0 -1
- package/dist/httpErrors/httpError.util.js +0 -1
- package/dist/httpErrors/index.d.ts +0 -1
- package/dist/httpErrors/index.js +0 -1
- package/dist/httpFetchMount/httpFetchMount.core.d.ts +0 -1
- package/dist/httpFetchMount/httpFetchMount.core.js +0 -1
- package/dist/httpFetchMount/httpFetchMount.request.d.ts +0 -1
- package/dist/httpFetchMount/httpFetchMount.request.js +0 -1
- package/dist/httpFetchMount/httpFetchMount.type.d.ts +0 -1
- package/dist/httpFetchMount/httpFetchMount.type.js +0 -1
- package/dist/httpFetchMount/index.d.ts +0 -1
- package/dist/httpFetchMount/index.js +0 -1
- package/dist/httpFormData/index.d.ts +0 -1
- package/dist/httpFormData/index.js +0 -1
- package/dist/httpHeaders/authorization/httpHeaders.authorization.d.ts +0 -1
- package/dist/httpHeaders/authorization/httpHeaders.authorization.js +0 -1
- package/dist/httpHeaders/authorization/index.d.ts +0 -1
- package/dist/httpHeaders/authorization/index.js +0 -1
- package/dist/httpHeaders/basic/httpHeaders.basic.d.ts +0 -1
- package/dist/httpHeaders/basic/httpHeaders.basic.js +0 -1
- package/dist/httpHeaders/basic/httpHeaders.basicMatch.d.ts +0 -1
- package/dist/httpHeaders/basic/httpHeaders.basicMatch.js +0 -1
- package/dist/httpHeaders/basic/index.d.ts +0 -1
- package/dist/httpHeaders/basic/index.js +0 -1
- package/dist/httpHeaders/conversion/httpHeaders.conversion.d.ts +0 -1
- package/dist/httpHeaders/conversion/httpHeaders.conversion.js +0 -1
- package/dist/httpHeaders/conversion/httpHeaders.conversionObject.d.ts +0 -1
- package/dist/httpHeaders/conversion/httpHeaders.conversionObject.js +0 -1
- package/dist/httpHeaders/conversion/index.d.ts +0 -1
- package/dist/httpHeaders/conversion/index.js +0 -1
- package/dist/httpHeaders/etag/httpHeaders.etag.d.ts +0 -1
- package/dist/httpHeaders/etag/httpHeaders.etag.js +0 -1
- package/dist/httpHeaders/etag/httpHeaders.etagMatch.d.ts +0 -1
- package/dist/httpHeaders/etag/httpHeaders.etagMatch.js +0 -1
- package/dist/httpHeaders/etag/index.d.ts +0 -1
- package/dist/httpHeaders/etag/index.js +0 -1
- package/dist/httpHeaders/forwarded/httpHeaders.forwarded.d.ts +0 -1
- package/dist/httpHeaders/forwarded/httpHeaders.forwarded.js +0 -1
- package/dist/httpHeaders/forwarded/index.d.ts +0 -1
- package/dist/httpHeaders/forwarded/index.js +0 -1
- package/dist/httpHeaders/http.headers.d.ts +0 -1
- package/dist/httpHeaders/http.headers.js +0 -1
- package/dist/httpHeaders/index.d.ts +0 -1
- package/dist/httpHeaders/index.js +0 -1
- package/dist/httpHeaders/internal/httpHeaders.internal.typeGuards.d.ts +0 -1
- package/dist/httpHeaders/internal/httpHeaders.internal.typeGuards.js +0 -1
- package/dist/httpHeaders/internal/index.d.ts +0 -1
- package/dist/httpHeaders/internal/index.js +0 -1
- package/dist/httpHeaders/list/httpHeaders.list.d.ts +0 -1
- package/dist/httpHeaders/list/httpHeaders.list.js +0 -1
- package/dist/httpHeaders/list/httpHeaders.listMutation.d.ts +0 -1
- package/dist/httpHeaders/list/httpHeaders.listMutation.js +0 -1
- package/dist/httpHeaders/list/index.d.ts +0 -1
- package/dist/httpHeaders/list/index.js +0 -1
- package/dist/httpHeaders/security/httpHeaders.security.d.ts +0 -1
- package/dist/httpHeaders/security/httpHeaders.security.js +0 -1
- package/dist/httpHeaders/security/index.d.ts +0 -1
- package/dist/httpHeaders/security/index.js +0 -1
- package/dist/httpHeaders/types/httpHeaders.type.d.ts +0 -1
- package/dist/httpHeaders/types/httpHeaders.type.js +0 -1
- package/dist/httpHeaders/types/index.d.ts +0 -1
- package/dist/httpHeaders/types/index.js +0 -1
- package/dist/httpHsts/http.hsts.d.ts +0 -1
- package/dist/httpHsts/http.hsts.js +0 -1
- package/dist/httpHsts/index.d.ts +0 -1
- package/dist/httpHsts/index.js +0 -1
- package/dist/httpInterceptors/builtin/httpInterceptor.request.d.ts +0 -1
- package/dist/httpInterceptors/builtin/httpInterceptor.request.js +0 -1
- package/dist/httpInterceptors/builtin/httpInterceptor.response.d.ts +0 -1
- package/dist/httpInterceptors/builtin/httpInterceptor.response.js +0 -1
- package/dist/httpInterceptors/builtin/index.d.ts +0 -1
- package/dist/httpInterceptors/builtin/index.js +0 -1
- package/dist/httpInterceptors/http.interceptors.d.ts +0 -1
- package/dist/httpInterceptors/http.interceptors.js +0 -1
- package/dist/httpInterceptors/httpInterceptor.helper.d.ts +0 -1
- package/dist/httpInterceptors/httpInterceptor.helper.js +0 -1
- package/dist/httpInterceptors/httpInterceptor.type.d.ts +0 -1
- package/dist/httpInterceptors/httpInterceptor.type.js +0 -1
- package/dist/httpInterceptors/index.d.ts +0 -1
- package/dist/httpInterceptors/index.js +0 -1
- package/dist/httpInterceptors/manager/httpInterceptor.lookup.d.ts +0 -1
- package/dist/httpInterceptors/manager/httpInterceptor.lookup.js +0 -1
- package/dist/httpInterceptors/manager/httpInterceptor.manager.d.ts +0 -1
- package/dist/httpInterceptors/manager/httpInterceptor.manager.js +0 -1
- package/dist/httpInterceptors/manager/httpInterceptor.registration.d.ts +0 -1
- package/dist/httpInterceptors/manager/httpInterceptor.registration.js +0 -1
- package/dist/httpInterceptors/manager/httpInterceptor.snapshot.d.ts +0 -1
- package/dist/httpInterceptors/manager/httpInterceptor.snapshot.js +0 -1
- package/dist/httpInterceptors/manager/index.d.ts +0 -1
- package/dist/httpInterceptors/manager/index.js +0 -1
- package/dist/httpKeepAlive/httpKeepAlive.core.d.ts +0 -1
- package/dist/httpKeepAlive/httpKeepAlive.core.js +0 -1
- package/dist/httpKeepAlive/index.d.ts +0 -1
- package/dist/httpKeepAlive/index.js +0 -1
- package/dist/httpMethods/http.methods.d.ts +0 -1
- package/dist/httpMethods/http.methods.js +0 -1
- package/dist/httpMethods/index.d.ts +0 -1
- package/dist/httpMethods/index.js +0 -1
- package/dist/httpMiddleware/builtin/compose/httpMiddleware.compose.d.ts +0 -1
- package/dist/httpMiddleware/builtin/compose/httpMiddleware.compose.js +0 -1
- package/dist/httpMiddleware/builtin/compose/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/compose/index.js +0 -1
- package/dist/httpMiddleware/builtin/conditional/httpMiddleware.conditional.d.ts +0 -1
- package/dist/httpMiddleware/builtin/conditional/httpMiddleware.conditional.js +0 -1
- package/dist/httpMiddleware/builtin/conditional/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/conditional/index.js +0 -1
- package/dist/httpMiddleware/builtin/cors/httpMiddleware.cors.d.ts +0 -1
- package/dist/httpMiddleware/builtin/cors/httpMiddleware.cors.js +0 -1
- package/dist/httpMiddleware/builtin/cors/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/cors/index.js +0 -1
- package/dist/httpMiddleware/builtin/helpers/httpMiddleware.accessor.d.ts +0 -1
- package/dist/httpMiddleware/builtin/helpers/httpMiddleware.accessor.js +0 -1
- package/dist/httpMiddleware/builtin/helpers/httpMiddleware.contextHelper.d.ts +0 -1
- package/dist/httpMiddleware/builtin/helpers/httpMiddleware.contextHelper.js +0 -1
- package/dist/httpMiddleware/builtin/helpers/httpMiddleware.media.d.ts +0 -1
- package/dist/httpMiddleware/builtin/helpers/httpMiddleware.media.js +0 -1
- package/dist/httpMiddleware/builtin/helpers/httpMiddleware.response.d.ts +0 -1
- package/dist/httpMiddleware/builtin/helpers/httpMiddleware.response.js +0 -1
- package/dist/httpMiddleware/builtin/helpers/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/helpers/index.js +0 -1
- package/dist/httpMiddleware/builtin/image/httpMiddleware.image.d.ts +0 -1
- package/dist/httpMiddleware/builtin/image/httpMiddleware.image.js +0 -1
- package/dist/httpMiddleware/builtin/image/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/image/index.js +0 -1
- package/dist/httpMiddleware/builtin/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/index.js +0 -1
- package/dist/httpMiddleware/builtin/logging/httpMiddleware.logging.d.ts +0 -1
- package/dist/httpMiddleware/builtin/logging/httpMiddleware.logging.js +0 -1
- package/dist/httpMiddleware/builtin/logging/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/logging/index.js +0 -1
- package/dist/httpMiddleware/builtin/rateLimit/httpMiddleware.rateLimit.d.ts +3 -3
- package/dist/httpMiddleware/builtin/rateLimit/httpMiddleware.rateLimit.js +33 -4
- package/dist/httpMiddleware/builtin/rateLimit/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/rateLimit/index.js +0 -1
- package/dist/httpMiddleware/builtin/security/httpMiddleware.security.d.ts +0 -1
- package/dist/httpMiddleware/builtin/security/httpMiddleware.security.js +0 -1
- package/dist/httpMiddleware/builtin/security/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/security/index.js +0 -1
- package/dist/httpMiddleware/builtin/static/httpMiddleware.static.d.ts +0 -1
- package/dist/httpMiddleware/builtin/static/httpMiddleware.static.js +0 -1
- package/dist/httpMiddleware/builtin/static/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/static/index.js +0 -1
- package/dist/httpMiddleware/builtin/timing/httpMiddleware.timing.d.ts +0 -1
- package/dist/httpMiddleware/builtin/timing/httpMiddleware.timing.js +0 -1
- package/dist/httpMiddleware/builtin/timing/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/timing/index.js +0 -1
- package/dist/httpMiddleware/builtin/video/httpMiddleware.video.d.ts +0 -1
- package/dist/httpMiddleware/builtin/video/httpMiddleware.video.js +0 -1
- package/dist/httpMiddleware/builtin/video/httpMiddleware.video.options.d.ts +0 -1
- package/dist/httpMiddleware/builtin/video/httpMiddleware.video.options.js +0 -1
- package/dist/httpMiddleware/builtin/video/index.d.ts +0 -1
- package/dist/httpMiddleware/builtin/video/index.js +0 -1
- package/dist/httpMiddleware/httpMiddleware.error.d.ts +0 -1
- package/dist/httpMiddleware/httpMiddleware.error.js +0 -1
- package/dist/httpMiddleware/httpMiddleware.state.d.ts +0 -1
- package/dist/httpMiddleware/httpMiddleware.state.js +0 -1
- package/dist/httpMiddleware/httpMiddleware.type.d.ts +0 -1
- package/dist/httpMiddleware/httpMiddleware.type.js +0 -1
- package/dist/httpMiddleware/index.d.ts +0 -1
- package/dist/httpMiddleware/index.js +0 -1
- package/dist/httpMiddleware/pipeline/httpMiddleware.pipeline.d.ts +0 -1
- package/dist/httpMiddleware/pipeline/httpMiddleware.pipeline.js +0 -1
- package/dist/httpMiddleware/pipeline/httpPipeline.execution.d.ts +0 -1
- package/dist/httpMiddleware/pipeline/httpPipeline.execution.js +0 -1
- package/dist/httpMiddleware/pipeline/httpPipeline.guardResponse.d.ts +0 -1
- package/dist/httpMiddleware/pipeline/httpPipeline.guardResponse.js +0 -1
- package/dist/httpMiddleware/pipeline/httpPipeline.helper.d.ts +0 -1
- package/dist/httpMiddleware/pipeline/httpPipeline.helper.js +0 -1
- package/dist/httpMiddleware/pipeline/httpPipeline.registration.d.ts +0 -1
- package/dist/httpMiddleware/pipeline/httpPipeline.registration.js +0 -1
- package/dist/httpMiddleware/pipeline/index.d.ts +0 -1
- package/dist/httpMiddleware/pipeline/index.js +0 -1
- package/dist/httpMime/http.mime.d.ts +0 -1
- package/dist/httpMime/http.mime.js +0 -1
- package/dist/httpMime/httpMime.sniff.d.ts +31 -0
- package/dist/httpMime/httpMime.sniff.js +90 -0
- package/dist/httpMime/index.d.ts +1 -1
- package/dist/httpMime/index.js +1 -1
- package/dist/httpMultipart/http.multipart.d.ts +0 -1
- package/dist/httpMultipart/http.multipart.js +0 -1
- package/dist/httpMultipart/index.d.ts +0 -1
- package/dist/httpMultipart/index.js +0 -1
- package/dist/httpNegotiation/httpNegotiation.core.d.ts +0 -1
- package/dist/httpNegotiation/httpNegotiation.core.js +0 -1
- package/dist/httpNegotiation/index.d.ts +0 -1
- package/dist/httpNegotiation/index.js +0 -1
- package/dist/httpOpenApi/httpOpenApi.document.d.ts +0 -1
- package/dist/httpOpenApi/httpOpenApi.document.js +0 -1
- package/dist/httpOpenApi/httpOpenApi.mount.d.ts +2 -2
- package/dist/httpOpenApi/httpOpenApi.mount.js +7 -3
- package/dist/httpOpenApi/httpOpenApi.type.d.ts +5 -2
- package/dist/httpOpenApi/httpOpenApi.type.js +0 -1
- package/dist/httpOpenApi/index.d.ts +0 -1
- package/dist/httpOpenApi/index.js +0 -1
- package/dist/httpOpenApi/routeTable/index.d.ts +0 -1
- package/dist/httpOpenApi/routeTable/index.js +0 -1
- package/dist/httpOpenApi/routeTable/routeTable.collect.d.ts +0 -1
- package/dist/httpOpenApi/routeTable/routeTable.collect.js +0 -1
- package/dist/httpOpenApi/routeTable/routeTable.merge.d.ts +0 -1
- package/dist/httpOpenApi/routeTable/routeTable.merge.js +0 -1
- package/dist/httpOpenApi/routeTable/routeTable.template.d.ts +0 -1
- package/dist/httpOpenApi/routeTable/routeTable.template.js +0 -1
- package/dist/httpProtocol/http.protocol.d.ts +0 -1
- package/dist/httpProtocol/http.protocol.js +0 -1
- package/dist/httpProtocol/index.d.ts +0 -1
- package/dist/httpProtocol/index.js +0 -1
- package/dist/httpProxy/http.proxy.d.ts +0 -1
- package/dist/httpProxy/http.proxy.js +0 -1
- package/dist/httpProxy/httpProxy.pathGuard.d.ts +0 -1
- package/dist/httpProxy/httpProxy.pathGuard.js +0 -1
- package/dist/httpProxy/index.d.ts +0 -1
- package/dist/httpProxy/index.js +0 -1
- package/dist/httpQuery/index.d.ts +0 -1
- package/dist/httpQuery/index.js +0 -1
- package/dist/httpQuery/queryParse/index.d.ts +0 -1
- package/dist/httpQuery/queryParse/index.js +0 -1
- package/dist/httpQuery/queryParse/queryParse.flat.d.ts +0 -1
- package/dist/httpQuery/queryParse/queryParse.flat.js +0 -1
- package/dist/httpQuery/queryParse/queryParse.nested.d.ts +0 -1
- package/dist/httpQuery/queryParse/queryParse.nested.js +0 -1
- package/dist/httpQuery/queryParse/queryParse.tokenizer.d.ts +0 -1
- package/dist/httpQuery/queryParse/queryParse.tokenizer.js +0 -1
- package/dist/httpQuery/queryRequest/index.d.ts +0 -1
- package/dist/httpQuery/queryRequest/index.js +0 -1
- package/dist/httpQuery/queryRequest/query.request.d.ts +0 -1
- package/dist/httpQuery/queryRequest/query.request.js +0 -1
- package/dist/httpQuery/querySerialize/index.d.ts +0 -1
- package/dist/httpQuery/querySerialize/index.js +0 -1
- package/dist/httpQuery/querySerialize/query.util.d.ts +0 -1
- package/dist/httpQuery/querySerialize/query.util.js +0 -1
- package/dist/httpQuery/querySerialize/querySerialize.core.d.ts +0 -1
- package/dist/httpQuery/querySerialize/querySerialize.core.js +0 -1
- package/dist/httpQuery/queryTypes/index.d.ts +0 -1
- package/dist/httpQuery/queryTypes/index.js +0 -1
- package/dist/httpQuery/queryTypes/query.container.d.ts +0 -1
- package/dist/httpQuery/queryTypes/query.container.js +0 -1
- package/dist/httpQuery/queryTypes/query.limit.d.ts +0 -1
- package/dist/httpQuery/queryTypes/query.limit.js +0 -1
- package/dist/httpQuery/queryTypes/query.type.d.ts +0 -1
- package/dist/httpQuery/queryTypes/query.type.js +0 -1
- package/dist/httpRange/http.range.d.ts +0 -1
- package/dist/httpRange/http.range.js +0 -1
- package/dist/httpRange/index.d.ts +0 -1
- package/dist/httpRange/index.js +0 -1
- package/dist/httpRedirect/http.redirect.d.ts +0 -1
- package/dist/httpRedirect/http.redirect.js +0 -1
- package/dist/httpRedirect/index.d.ts +0 -1
- package/dist/httpRedirect/index.js +0 -1
- package/dist/httpRequest/http.request.d.ts +0 -1
- package/dist/httpRequest/http.request.js +12 -2
- package/dist/httpRequest/httpRequest.context.constant.d.ts +0 -1
- package/dist/httpRequest/httpRequest.context.constant.js +0 -1
- package/dist/httpRequest/httpRequest.context.d.ts +0 -1
- package/dist/httpRequest/httpRequest.context.id.d.ts +0 -1
- package/dist/httpRequest/httpRequest.context.id.js +0 -1
- package/dist/httpRequest/httpRequest.context.js +15 -2
- package/dist/httpRequest/httpRequest.context.type.d.ts +0 -1
- package/dist/httpRequest/httpRequest.context.type.js +0 -1
- package/dist/httpRequest/index.d.ts +0 -1
- package/dist/httpRequest/index.js +0 -1
- package/dist/httpRequest/requestId/httpRequest.requestId.d.ts +0 -1
- package/dist/httpRequest/requestId/httpRequest.requestId.js +0 -1
- package/dist/httpRequest/requestId/index.d.ts +0 -1
- package/dist/httpRequest/requestId/index.js +0 -1
- package/dist/httpRequest/target/httpRequest.target.d.ts +0 -1
- package/dist/httpRequest/target/httpRequest.target.js +0 -1
- package/dist/httpRequest/target/index.d.ts +0 -1
- package/dist/httpRequest/target/index.js +0 -1
- package/dist/httpResponse/core/httpResponse.statusText.d.ts +0 -1
- package/dist/httpResponse/core/httpResponse.statusText.js +0 -1
- package/dist/httpResponse/core/httpResponse.type.d.ts +0 -1
- package/dist/httpResponse/core/httpResponse.type.js +0 -1
- package/dist/httpResponse/core/index.d.ts +0 -1
- package/dist/httpResponse/core/index.js +0 -1
- package/dist/httpResponse/http.response.d.ts +0 -1
- package/dist/httpResponse/http.response.js +0 -1
- package/dist/httpResponse/httpResponse.context.d.ts +0 -1
- package/dist/httpResponse/httpResponse.context.js +0 -1
- package/dist/httpResponse/httpResponse.fromWeb.d.ts +0 -1
- package/dist/httpResponse/httpResponse.fromWeb.js +0 -1
- package/dist/httpResponse/httpResponse.helper.d.ts +0 -1
- package/dist/httpResponse/httpResponse.helper.js +0 -1
- package/dist/httpResponse/httpResponse.writer.d.ts +0 -1
- package/dist/httpResponse/httpResponse.writer.js +0 -1
- package/dist/httpResponse/index.d.ts +0 -1
- package/dist/httpResponse/index.js +0 -1
- package/dist/httpRouter/core/error/httpRouter.error.d.ts +0 -1
- package/dist/httpRouter/core/error/httpRouter.error.js +0 -1
- package/dist/httpRouter/core/error/index.d.ts +0 -1
- package/dist/httpRouter/core/error/index.js +0 -1
- package/dist/httpRouter/core/factory/httpRoute.factory.base.d.ts +0 -1
- package/dist/httpRouter/core/factory/httpRoute.factory.base.js +24 -22
- package/dist/httpRouter/core/factory/httpRoute.factory.d.ts +7 -1
- package/dist/httpRouter/core/factory/httpRoute.factory.js +36 -13
- package/dist/httpRouter/core/factory/index.d.ts +0 -1
- package/dist/httpRouter/core/factory/index.js +0 -1
- package/dist/httpRouter/core/group/httpRouterGroup.core.d.ts +0 -1
- package/dist/httpRouter/core/group/httpRouterGroup.core.js +0 -1
- package/dist/httpRouter/core/group/index.d.ts +0 -1
- package/dist/httpRouter/core/group/index.js +0 -1
- package/dist/httpRouter/core/index.d.ts +0 -1
- package/dist/httpRouter/core/index.js +0 -1
- package/dist/httpRouter/core/register/httpRouter.register.d.ts +15 -1
- package/dist/httpRouter/core/register/httpRouter.register.js +124 -26
- package/dist/httpRouter/core/register/httpRouter.shadow.d.ts +18 -0
- package/dist/httpRouter/core/register/httpRouter.shadow.js +91 -0
- package/dist/httpRouter/core/register/index.d.ts +1 -1
- package/dist/httpRouter/core/register/index.js +1 -1
- package/dist/httpRouter/core/registry/core/httpRegistry.helper.d.ts +0 -1
- package/dist/httpRouter/core/registry/core/httpRegistry.helper.js +0 -1
- package/dist/httpRouter/core/registry/core/httpRegistry.type.d.ts +0 -1
- package/dist/httpRouter/core/registry/core/httpRegistry.type.js +0 -1
- package/dist/httpRouter/core/registry/core/index.d.ts +0 -1
- package/dist/httpRouter/core/registry/core/index.js +0 -1
- package/dist/httpRouter/core/registry/httpRegistry.core.d.ts +0 -1
- package/dist/httpRouter/core/registry/httpRegistry.core.js +0 -1
- package/dist/httpRouter/core/registry/httpRegistry.factory.d.ts +0 -1
- package/dist/httpRouter/core/registry/httpRegistry.factory.js +0 -1
- package/dist/httpRouter/core/registry/httpRegistry.group.d.ts +0 -1
- package/dist/httpRouter/core/registry/httpRegistry.group.js +0 -1
- package/dist/httpRouter/core/registry/index.d.ts +0 -1
- package/dist/httpRouter/core/registry/index.js +0 -1
- package/dist/httpRouter/core/types/httpRouter.type.d.ts +27 -1
- package/dist/httpRouter/core/types/httpRouter.type.js +0 -1
- package/dist/httpRouter/core/types/index.d.ts +0 -1
- package/dist/httpRouter/core/types/index.js +0 -1
- package/dist/httpRouter/core/util/httpRoute.util.d.ts +0 -1
- package/dist/httpRouter/core/util/httpRoute.util.js +0 -1
- package/dist/httpRouter/core/util/index.d.ts +0 -1
- package/dist/httpRouter/core/util/index.js +0 -1
- package/dist/httpRouter/dispatch/httpRoute.dispatcher.d.ts +0 -1
- package/dist/httpRouter/dispatch/httpRoute.dispatcher.js +0 -1
- package/dist/httpRouter/dispatch/httpRoute.stack.d.ts +0 -1
- package/dist/httpRouter/dispatch/httpRoute.stack.js +0 -1
- package/dist/httpRouter/dispatch/index.d.ts +0 -1
- package/dist/httpRouter/dispatch/index.js +0 -1
- package/dist/httpRouter/httpRouter.context.d.ts +0 -1
- package/dist/httpRouter/httpRouter.context.js +0 -1
- package/dist/httpRouter/httpRouter.state.d.ts +0 -1
- package/dist/httpRouter/httpRouter.state.js +0 -1
- package/dist/httpRouter/index.d.ts +0 -1
- package/dist/httpRouter/index.js +0 -1
- package/dist/httpRouter/matching/httpRoute.matcher.core.d.ts +0 -1
- package/dist/httpRouter/matching/httpRoute.matcher.core.js +0 -1
- package/dist/httpRouter/matching/httpRoute.matcher.d.ts +0 -1
- package/dist/httpRouter/matching/httpRoute.matcher.js +0 -1
- package/dist/httpRouter/matching/index.d.ts +0 -1
- package/dist/httpRouter/matching/index.js +0 -1
- package/dist/httpRouter/pattern/core/httpPattern.compilation.d.ts +0 -1
- package/dist/httpRouter/pattern/core/httpPattern.compilation.js +0 -1
- package/dist/httpRouter/pattern/core/httpPattern.matching.d.ts +0 -1
- package/dist/httpRouter/pattern/core/httpPattern.matching.js +0 -1
- package/dist/httpRouter/pattern/core/httpPattern.regexBuilding.d.ts +0 -1
- package/dist/httpRouter/pattern/core/httpPattern.regexBuilding.js +0 -1
- package/dist/httpRouter/pattern/core/httpPattern.segmentParsing.d.ts +0 -1
- package/dist/httpRouter/pattern/core/httpPattern.segmentParsing.js +0 -1
- package/dist/httpRouter/pattern/core/httpPattern.type.d.ts +0 -1
- package/dist/httpRouter/pattern/core/httpPattern.type.js +0 -1
- package/dist/httpRouter/pattern/core/index.d.ts +0 -1
- package/dist/httpRouter/pattern/core/index.js +0 -1
- package/dist/httpRouter/pattern/httpPattern.factory.d.ts +0 -1
- package/dist/httpRouter/pattern/httpPattern.factory.js +0 -1
- package/dist/httpRouter/pattern/httpRoute.pattern.parse.d.ts +18 -1
- package/dist/httpRouter/pattern/httpRoute.pattern.parse.js +51 -13
- package/dist/httpRouter/pattern/index.d.ts +0 -1
- package/dist/httpRouter/pattern/index.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.builder.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.builder.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.class.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.class.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.error.4xx.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.error.4xx.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.error.5xx.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.error.5xx.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.factory.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.factory.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.guard.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.guard.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.normalize.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.normalize.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.output.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.output.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.serialize.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.serialize.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.type.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.type.js +0 -1
- package/dist/httpRouter/result/httpRoute.result.util.d.ts +0 -1
- package/dist/httpRouter/result/httpRoute.result.util.js +0 -1
- package/dist/httpRouter/result/index.d.ts +0 -1
- package/dist/httpRouter/result/index.js +0 -1
- package/dist/httpRouter/tree/core/httpTree.enumerate.d.ts +21 -0
- package/dist/httpRouter/tree/core/httpTree.enumerate.js +43 -0
- package/dist/httpRouter/tree/core/httpTree.helper.d.ts +2 -3
- package/dist/httpRouter/tree/core/httpTree.helper.js +11 -10
- package/dist/httpRouter/tree/core/httpTree.nodeCreation.d.ts +15 -1
- package/dist/httpRouter/tree/core/httpTree.nodeCreation.js +58 -34
- package/dist/httpRouter/tree/core/httpTree.traversal.d.ts +15 -14
- package/dist/httpRouter/tree/core/httpTree.traversal.js +46 -48
- package/dist/httpRouter/tree/core/httpTree.type.d.ts +7 -6
- package/dist/httpRouter/tree/core/httpTree.type.js +0 -1
- package/dist/httpRouter/tree/core/index.d.ts +1 -1
- package/dist/httpRouter/tree/core/index.js +1 -1
- package/dist/httpRouter/tree/httpTree.core.d.ts +7 -3
- package/dist/httpRouter/tree/httpTree.core.js +17 -19
- package/dist/httpRouter/tree/httpTree.factory.d.ts +0 -1
- package/dist/httpRouter/tree/httpTree.factory.js +0 -1
- package/dist/httpRouter/tree/index.d.ts +0 -1
- package/dist/httpRouter/tree/index.js +0 -1
- package/dist/httpSecurity/httpSecurity.config.d.ts +10 -2
- package/dist/httpSecurity/httpSecurity.config.js +10 -2
- package/dist/httpSecurity/httpSecurity.guard.d.ts +0 -1
- package/dist/httpSecurity/httpSecurity.guard.js +14 -2
- package/dist/httpSecurity/httpSecurity.nodeGuard.d.ts +0 -1
- package/dist/httpSecurity/httpSecurity.nodeGuard.js +0 -1
- package/dist/httpSecurity/httpSecurity.validator.d.ts +0 -1
- package/dist/httpSecurity/httpSecurity.validator.js +0 -1
- package/dist/httpSecurity/index.d.ts +1 -2
- package/dist/httpSecurity/index.js +1 -2
- package/dist/httpSecurityHeaders/core/httpSecurityHeader.type.d.ts +0 -1
- package/dist/httpSecurityHeaders/core/httpSecurityHeader.type.js +0 -1
- package/dist/httpSecurityHeaders/core/httpSecurityHeader.validation.d.ts +0 -1
- package/dist/httpSecurityHeaders/core/httpSecurityHeader.validation.js +0 -1
- package/dist/httpSecurityHeaders/core/index.d.ts +0 -1
- package/dist/httpSecurityHeaders/core/index.js +0 -1
- package/dist/httpSecurityHeaders/httpSecurity.headers.d.ts +0 -1
- package/dist/httpSecurityHeaders/httpSecurity.headers.js +0 -1
- package/dist/httpSecurityHeaders/httpSecurityHeader.factory.d.ts +0 -1
- package/dist/httpSecurityHeaders/httpSecurityHeader.factory.js +0 -1
- package/dist/httpSecurityHeaders/httpSecurityHeader.individual.d.ts +0 -1
- package/dist/httpSecurityHeaders/httpSecurityHeader.individual.js +0 -1
- package/dist/httpSecurityHeaders/httpSecurityHeader.permissionsPolicy.d.ts +0 -1
- package/dist/httpSecurityHeaders/httpSecurityHeader.permissionsPolicy.js +0 -1
- package/dist/httpSecurityHeaders/httpSecurityHeader.recommended.d.ts +8 -2
- package/dist/httpSecurityHeaders/httpSecurityHeader.recommended.js +11 -4
- package/dist/httpSecurityHeaders/index.d.ts +0 -1
- package/dist/httpSecurityHeaders/index.js +0 -1
- package/dist/httpServer/core/httpServer.core.d.ts +0 -1
- package/dist/httpServer/core/httpServer.core.js +0 -1
- package/dist/httpServer/core/index.d.ts +0 -1
- package/dist/httpServer/core/index.js +0 -1
- package/dist/httpServer/factory/httpServer.factory.d.ts +0 -1
- package/dist/httpServer/factory/httpServer.factory.js +0 -1
- package/dist/httpServer/factory/index.d.ts +0 -1
- package/dist/httpServer/factory/index.js +0 -1
- package/dist/httpServer/index.d.ts +0 -1
- package/dist/httpServer/index.js +0 -1
- package/dist/httpServer/manager/httpServer.manager.d.ts +0 -1
- package/dist/httpServer/manager/httpServer.manager.js +0 -1
- package/dist/httpServer/manager/index.d.ts +0 -1
- package/dist/httpServer/manager/index.js +0 -1
- package/dist/httpServer/types/httpServer.type.d.ts +0 -1
- package/dist/httpServer/types/httpServer.type.js +0 -1
- package/dist/httpStatus/httpStatus.categoryPredicate.d.ts +0 -1
- package/dist/httpStatus/httpStatus.categoryPredicate.js +0 -1
- package/dist/httpStatus/httpStatus.clientErrorConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.clientErrorConstant.js +0 -1
- package/dist/httpStatus/httpStatus.clientErrorTextConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.clientErrorTextConstant.js +0 -1
- package/dist/httpStatus/httpStatus.collection.d.ts +0 -1
- package/dist/httpStatus/httpStatus.collection.js +0 -1
- package/dist/httpStatus/httpStatus.commonPredicate.d.ts +0 -1
- package/dist/httpStatus/httpStatus.commonPredicate.js +0 -1
- package/dist/httpStatus/httpStatus.constant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.constant.js +0 -1
- package/dist/httpStatus/httpStatus.errorPredicate.d.ts +0 -1
- package/dist/httpStatus/httpStatus.errorPredicate.js +0 -1
- package/dist/httpStatus/httpStatus.info.d.ts +0 -1
- package/dist/httpStatus/httpStatus.info.js +0 -1
- package/dist/httpStatus/httpStatus.informationalSuccessConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.informationalSuccessConstant.js +0 -1
- package/dist/httpStatus/httpStatus.informationalSuccessTextConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.informationalSuccessTextConstant.js +0 -1
- package/dist/httpStatus/httpStatus.lookup.d.ts +0 -1
- package/dist/httpStatus/httpStatus.lookup.js +0 -1
- package/dist/httpStatus/httpStatus.name.d.ts +0 -1
- package/dist/httpStatus/httpStatus.name.js +0 -1
- package/dist/httpStatus/httpStatus.predicate.d.ts +0 -1
- package/dist/httpStatus/httpStatus.predicate.js +0 -1
- package/dist/httpStatus/httpStatus.redirectErrorConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.redirectErrorConstant.js +0 -1
- package/dist/httpStatus/httpStatus.redirectErrorTextConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.redirectErrorTextConstant.js +0 -1
- package/dist/httpStatus/httpStatus.redirectPredicate.d.ts +0 -1
- package/dist/httpStatus/httpStatus.redirectPredicate.js +0 -1
- package/dist/httpStatus/httpStatus.redirectionConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.redirectionConstant.js +0 -1
- package/dist/httpStatus/httpStatus.redirectionTextConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.redirectionTextConstant.js +0 -1
- package/dist/httpStatus/httpStatus.semantics.d.ts +0 -1
- package/dist/httpStatus/httpStatus.semantics.js +0 -1
- package/dist/httpStatus/httpStatus.serverErrorConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.serverErrorConstant.js +0 -1
- package/dist/httpStatus/httpStatus.serverErrorTextConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.serverErrorTextConstant.js +0 -1
- package/dist/httpStatus/httpStatus.statusConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.statusConstant.js +0 -1
- package/dist/httpStatus/httpStatus.statusTextConstant.d.ts +0 -1
- package/dist/httpStatus/httpStatus.statusTextConstant.js +0 -1
- package/dist/httpStatus/httpStatus.type.d.ts +0 -1
- package/dist/httpStatus/httpStatus.type.js +0 -1
- package/dist/httpStatus/httpStatus.validator.d.ts +0 -1
- package/dist/httpStatus/httpStatus.validator.js +0 -1
- package/dist/httpStatus/httpStatusCodes.constant.d.ts +0 -1
- package/dist/httpStatus/httpStatusCodes.constant.js +0 -1
- package/dist/httpStatus/index.d.ts +0 -1
- package/dist/httpStatus/index.js +0 -1
- package/dist/httpStream/httpStream.backpressure.d.ts +0 -1
- package/dist/httpStream/httpStream.backpressure.js +0 -1
- package/dist/httpStream/httpStream.constants.d.ts +0 -1
- package/dist/httpStream/httpStream.constants.js +0 -1
- package/dist/httpStream/httpStream.consume.d.ts +0 -1
- package/dist/httpStream/httpStream.consume.js +0 -1
- package/dist/httpStream/httpStream.destroy.d.ts +0 -1
- package/dist/httpStream/httpStream.destroy.js +0 -1
- package/dist/httpStream/httpStream.error.d.ts +0 -1
- package/dist/httpStream/httpStream.error.js +0 -1
- package/dist/httpStream/httpStream.eventHelper.d.ts +0 -1
- package/dist/httpStream/httpStream.eventHelper.js +0 -1
- package/dist/httpStream/httpStream.helper.d.ts +0 -1
- package/dist/httpStream/httpStream.helper.js +0 -1
- package/dist/httpStream/httpStream.pipe.d.ts +0 -1
- package/dist/httpStream/httpStream.pipe.js +0 -1
- package/dist/httpStream/httpStream.progress.d.ts +0 -1
- package/dist/httpStream/httpStream.progress.js +0 -1
- package/dist/httpStream/httpStream.read.d.ts +0 -1
- package/dist/httpStream/httpStream.read.js +0 -1
- package/dist/httpStream/httpStream.request.d.ts +0 -1
- package/dist/httpStream/httpStream.request.js +0 -1
- package/dist/httpStream/httpStream.state.d.ts +0 -1
- package/dist/httpStream/httpStream.state.js +0 -1
- package/dist/httpStream/httpStream.transform.d.ts +0 -1
- package/dist/httpStream/httpStream.transform.js +0 -1
- package/dist/httpStream/httpStream.types.d.ts +0 -1
- package/dist/httpStream/httpStream.types.js +0 -1
- package/dist/httpStream/index.d.ts +0 -1
- package/dist/httpStream/index.js +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.compilation.d.ts +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.compilation.js +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.core.d.ts +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.core.js +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.helper.d.ts +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.helper.js +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.ip.d.ts +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.ip.js +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.parsing.d.ts +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.parsing.js +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.type.d.ts +0 -1
- package/dist/httpTrustProxy/httpTrustProxy.type.js +0 -1
- package/dist/httpTrustProxy/index.d.ts +0 -1
- package/dist/httpTrustProxy/index.js +0 -1
- package/dist/httpTypes/http.types.d.ts +0 -1
- package/dist/httpTypes/http.types.js +0 -1
- package/dist/httpTypes/index.d.ts +0 -1
- package/dist/httpTypes/index.js +0 -1
- package/dist/httpUrl/http.url.d.ts +0 -1
- package/dist/httpUrl/http.url.js +0 -1
- package/dist/httpUrl/index.d.ts +0 -1
- package/dist/httpUrl/index.js +0 -1
- package/dist/httpValidation/httpValidationAssertion.d.ts +0 -1
- package/dist/httpValidation/httpValidationAssertion.js +0 -1
- package/dist/httpValidation/httpValidationAuthority.d.ts +0 -1
- package/dist/httpValidation/httpValidationAuthority.js +0 -1
- package/dist/httpValidation/httpValidationAuthorization.d.ts +0 -1
- package/dist/httpValidation/httpValidationAuthorization.js +0 -1
- package/dist/httpValidation/httpValidationCacheControl.d.ts +0 -1
- package/dist/httpValidation/httpValidationCacheControl.js +0 -1
- package/dist/httpValidation/httpValidationContentLength.d.ts +0 -1
- package/dist/httpValidation/httpValidationContentLength.js +0 -1
- package/dist/httpValidation/httpValidationContentType.d.ts +0 -1
- package/dist/httpValidation/httpValidationContentType.js +0 -1
- package/dist/httpValidation/httpValidationCookie.d.ts +0 -1
- package/dist/httpValidation/httpValidationCookie.js +0 -1
- package/dist/httpValidation/httpValidationDate.d.ts +0 -1
- package/dist/httpValidation/httpValidationDate.js +0 -1
- package/dist/httpValidation/httpValidationETag.d.ts +0 -1
- package/dist/httpValidation/httpValidationETag.js +0 -1
- package/dist/httpValidation/httpValidationHeader.d.ts +0 -1
- package/dist/httpValidation/httpValidationHeader.js +0 -1
- package/dist/httpValidation/httpValidationHostname.d.ts +0 -1
- package/dist/httpValidation/httpValidationHostname.js +0 -1
- package/dist/httpValidation/httpValidationMessage.d.ts +0 -1
- package/dist/httpValidation/httpValidationMessage.js +0 -1
- package/dist/httpValidation/httpValidationMethod.d.ts +0 -1
- package/dist/httpValidation/httpValidationMethod.js +0 -1
- package/dist/httpValidation/httpValidationPort.d.ts +0 -1
- package/dist/httpValidation/httpValidationPort.js +0 -1
- package/dist/httpValidation/httpValidationRange.d.ts +0 -1
- package/dist/httpValidation/httpValidationRange.js +0 -1
- package/dist/httpValidation/httpValidationRequestTarget.d.ts +0 -1
- package/dist/httpValidation/httpValidationRequestTarget.js +0 -1
- package/dist/httpValidation/httpValidationStatusCode.d.ts +0 -1
- package/dist/httpValidation/httpValidationStatusCode.js +0 -1
- package/dist/httpValidation/httpValidationToken.d.ts +0 -1
- package/dist/httpValidation/httpValidationToken.js +0 -1
- package/dist/httpValidation/httpValidationTypes.type.d.ts +0 -1
- package/dist/httpValidation/httpValidationTypes.type.js +0 -1
- package/dist/httpValidation/httpValidationUrl.d.ts +0 -1
- package/dist/httpValidation/httpValidationUrl.js +0 -1
- package/dist/httpValidation/index.d.ts +0 -1
- package/dist/httpValidation/index.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/package.json +8 -8
- package/dist/httpAdapter/httpAdapter.errorResponse.js +0 -137
- package/dist/httpQuery/http.query.d.ts +0 -110
- package/dist/httpQuery/http.query.js +0 -484
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Headers the adapters add to the responses they build themselves.
|
|
3
|
+
*
|
|
4
|
+
* A response that never passes through the middleware pipeline — a request
|
|
5
|
+
* refused by the guard, the adapter's own `413`, an unhandled error, the
|
|
6
|
+
* response a custom `errorHandler` returns — used to leave without a single
|
|
7
|
+
* security header, because `createSecurityMiddleware` only decorates
|
|
8
|
+
* responses that flow back through it. Those are exactly the responses an
|
|
9
|
+
* attacker provokes on purpose.
|
|
10
|
+
*
|
|
11
|
+
* @module httpAdapter/errorResponse/headers
|
|
12
|
+
*/
|
|
13
|
+
import type { HttpResponseContext } from "../../httpResponse/httpResponse.context.js";
|
|
14
|
+
/**
|
|
15
|
+
* The adapter's `securityHeaders` option.
|
|
16
|
+
*
|
|
17
|
+
* - `true` / omitted (default): the package's default security header set
|
|
18
|
+
* ({@link createDefaultSecurityHeaders}).
|
|
19
|
+
* - an object: exactly those headers instead.
|
|
20
|
+
* - `false`: none.
|
|
21
|
+
*/
|
|
22
|
+
export type AdapterSecurityHeadersOption = boolean | Readonly<Record<string, string>>;
|
|
23
|
+
/**
|
|
24
|
+
* Resolves the option to the header set the adapter applies.
|
|
25
|
+
*
|
|
26
|
+
* @throws {TypeError} If a configured value contains a control character.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveAdapterSecurityHeaders(option: AdapterSecurityHeadersOption | undefined): Readonly<Record<string, string>>;
|
|
29
|
+
/**
|
|
30
|
+
* Sets each header the response does not already carry.
|
|
31
|
+
*
|
|
32
|
+
* A custom error handler that set its own `Retry-After` or `Cache-Control`
|
|
33
|
+
* keeps it; only the gaps are filled.
|
|
34
|
+
*/
|
|
35
|
+
export declare function applyMissingHeaders(response: HttpResponseContext, headers: Readonly<Record<string, string>>): HttpResponseContext;
|
|
36
|
+
/**
|
|
37
|
+
* Finishes a response the adapter built for a failed request: the thrown
|
|
38
|
+
* error's own headers (`Retry-After`, `WWW-Authenticate`, `Allow`) where the
|
|
39
|
+
* response lacks them — a custom `errorHandler` used to have to copy them by
|
|
40
|
+
* hand — and then the adapter's security headers.
|
|
41
|
+
*
|
|
42
|
+
* @param response - The response about to be written.
|
|
43
|
+
* @param securityHeaders - The adapter's resolved header set.
|
|
44
|
+
* @param error - The error being answered, if any.
|
|
45
|
+
*/
|
|
46
|
+
export declare function finalizeErrorResponse(response: HttpResponseContext, securityHeaders: Readonly<Record<string, string>>, error?: unknown): HttpResponseContext;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Headers the adapters add to the responses they build themselves.
|
|
3
|
+
*
|
|
4
|
+
* A response that never passes through the middleware pipeline — a request
|
|
5
|
+
* refused by the guard, the adapter's own `413`, an unhandled error, the
|
|
6
|
+
* response a custom `errorHandler` returns — used to leave without a single
|
|
7
|
+
* security header, because `createSecurityMiddleware` only decorates
|
|
8
|
+
* responses that flow back through it. Those are exactly the responses an
|
|
9
|
+
* attacker provokes on purpose.
|
|
10
|
+
*
|
|
11
|
+
* @module httpAdapter/errorResponse/headers
|
|
12
|
+
*/
|
|
13
|
+
import { isValidHeaderFieldValue } from "../../httpHeaders/security/index.js";
|
|
14
|
+
import { createDefaultSecurityHeaders } from "../../httpSecurityHeaders/httpSecurityHeader.recommended.js";
|
|
15
|
+
import { resolveErrorResponse } from "./httpAdapterError.response.js";
|
|
16
|
+
/**
|
|
17
|
+
* Resolves the option to the header set the adapter applies.
|
|
18
|
+
*
|
|
19
|
+
* @throws {TypeError} If a configured value contains a control character.
|
|
20
|
+
*/
|
|
21
|
+
export function resolveAdapterSecurityHeaders(option) {
|
|
22
|
+
if (option === false) {
|
|
23
|
+
return Object.freeze({});
|
|
24
|
+
}
|
|
25
|
+
const headers = option === undefined || option === true
|
|
26
|
+
? { ...createDefaultSecurityHeaders() }
|
|
27
|
+
: {};
|
|
28
|
+
if (typeof option === "object") {
|
|
29
|
+
for (const [name, value] of Object.entries(option)) {
|
|
30
|
+
if (!isValidHeaderFieldValue(value)) {
|
|
31
|
+
throw new TypeError(`Invalid value for security header "${name}": it contains a control character or surrounding whitespace.`);
|
|
32
|
+
}
|
|
33
|
+
headers[name.toLowerCase()] = value;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return Object.freeze(headers);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Sets each header the response does not already carry.
|
|
40
|
+
*
|
|
41
|
+
* A custom error handler that set its own `Retry-After` or `Cache-Control`
|
|
42
|
+
* keeps it; only the gaps are filled.
|
|
43
|
+
*/
|
|
44
|
+
export function applyMissingHeaders(response, headers) {
|
|
45
|
+
const existing = response.headers;
|
|
46
|
+
for (const [name, value] of Object.entries(headers)) {
|
|
47
|
+
if (existing[name.toLowerCase()] === undefined) {
|
|
48
|
+
response.setHeader(name, value);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return response;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Finishes a response the adapter built for a failed request: the thrown
|
|
55
|
+
* error's own headers (`Retry-After`, `WWW-Authenticate`, `Allow`) where the
|
|
56
|
+
* response lacks them — a custom `errorHandler` used to have to copy them by
|
|
57
|
+
* hand — and then the adapter's security headers.
|
|
58
|
+
*
|
|
59
|
+
* @param response - The response about to be written.
|
|
60
|
+
* @param securityHeaders - The adapter's resolved header set.
|
|
61
|
+
* @param error - The error being answered, if any.
|
|
62
|
+
*/
|
|
63
|
+
export function finalizeErrorResponse(response, securityHeaders, error) {
|
|
64
|
+
if (error !== undefined) {
|
|
65
|
+
applyMissingHeaders(response, resolveErrorResponse(error).headers);
|
|
66
|
+
}
|
|
67
|
+
return applyMissingHeaders(response, securityHeaders);
|
|
68
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public projection of validation issues.
|
|
3
|
+
*
|
|
4
|
+
* @module httpAdapter/errorResponse/issues
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Reduces validation issues to the fields a client may see: where
|
|
8
|
+
* (`path` / `field`), what (`code`) and why (`message`). Submitted values
|
|
9
|
+
* (`value`, `received`, `input`) are never echoed.
|
|
10
|
+
*/
|
|
11
|
+
export declare function publicIssues(value: unknown): readonly Record<string, unknown>[] | undefined;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public projection of validation issues.
|
|
3
|
+
*
|
|
4
|
+
* @module httpAdapter/errorResponse/issues
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Reduces validation issues to the fields a client may see: where
|
|
8
|
+
* (`path` / `field`), what (`code`) and why (`message`). Submitted values
|
|
9
|
+
* (`value`, `received`, `input`) are never echoed.
|
|
10
|
+
*/
|
|
11
|
+
export function publicIssues(value) {
|
|
12
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
const issues = [];
|
|
16
|
+
for (const entry of value) {
|
|
17
|
+
if (entry === null || typeof entry !== "object") {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
const issue = entry;
|
|
21
|
+
const safe = {};
|
|
22
|
+
if (Array.isArray(issue.path)) {
|
|
23
|
+
safe.path = issue.path.filter((part) => typeof part === "string" || typeof part === "number");
|
|
24
|
+
}
|
|
25
|
+
if (typeof issue.field === "string") {
|
|
26
|
+
safe.field = issue.field;
|
|
27
|
+
}
|
|
28
|
+
if (typeof issue.code === "string") {
|
|
29
|
+
safe.code = issue.code;
|
|
30
|
+
}
|
|
31
|
+
if (typeof issue.message === "string") {
|
|
32
|
+
safe.message = issue.message;
|
|
33
|
+
}
|
|
34
|
+
issues.push(safe);
|
|
35
|
+
}
|
|
36
|
+
return issues.length > 0 ? issues : undefined;
|
|
37
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Locating the error whose status answers a request.
|
|
3
|
+
*
|
|
4
|
+
* @module httpAdapter/errorResponse/locate
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* An error carrying an HTTP status, as {@link findStatusError} reports it.
|
|
8
|
+
*/
|
|
9
|
+
export interface StatusErrorLike {
|
|
10
|
+
readonly statusCode: number;
|
|
11
|
+
readonly message?: unknown;
|
|
12
|
+
readonly expose?: unknown;
|
|
13
|
+
readonly code?: unknown;
|
|
14
|
+
readonly headers?: unknown;
|
|
15
|
+
readonly issues?: unknown;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Locates the error whose status answers the request.
|
|
19
|
+
*
|
|
20
|
+
* The **outermost** error that carries a status wins. Only the framework's
|
|
21
|
+
* own wrappers (`HttpMiddlewareError`, `HttpMiddlewarePipelineError`) are
|
|
22
|
+
* unwrapped. An application that throws
|
|
23
|
+
* `new HttpError(502, "Bad Gateway", { cause: upstream401 })` is mapping an
|
|
24
|
+
* upstream failure on purpose; taking the innermost status sent the client
|
|
25
|
+
* the upstream's 401, its message and its `WWW-Authenticate` header.
|
|
26
|
+
* An error that is neither a wrapper nor carries a status ends the search
|
|
27
|
+
* (generic 500), so a `cause` the application attached is never exposed.
|
|
28
|
+
*/
|
|
29
|
+
export declare function findStatusError(error: unknown, depth: number, seen: Set<unknown>): StatusErrorLike | undefined;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Locating the error whose status answers a request.
|
|
3
|
+
*
|
|
4
|
+
* @module httpAdapter/errorResponse/locate
|
|
5
|
+
*/
|
|
6
|
+
import { HttpMiddlewareError, HttpMiddlewarePipelineError, } from "../../httpMiddleware/httpMiddleware.error.js";
|
|
7
|
+
/* -------------------------------------------------------------------------- */
|
|
8
|
+
/* Constants */
|
|
9
|
+
/* -------------------------------------------------------------------------- */
|
|
10
|
+
/**
|
|
11
|
+
* How many levels of `cause` / `errors` nesting are inspected. Deep enough
|
|
12
|
+
* for the pipeline's two wrappers plus a few application layers; bounded so a
|
|
13
|
+
* cyclic `cause` chain cannot loop.
|
|
14
|
+
*/
|
|
15
|
+
const MAX_UNWRAP_DEPTH = 8;
|
|
16
|
+
/* -------------------------------------------------------------------------- */
|
|
17
|
+
/* Resolution */
|
|
18
|
+
/* -------------------------------------------------------------------------- */
|
|
19
|
+
/**
|
|
20
|
+
* Whether `error` is one of the pipeline's own wrappers. These are added by
|
|
21
|
+
* the framework on the way out and always report 500, so they are looked
|
|
22
|
+
* through; nothing else is.
|
|
23
|
+
*/
|
|
24
|
+
function isFrameworkWrapper(error) {
|
|
25
|
+
return (error instanceof HttpMiddlewareError ||
|
|
26
|
+
error instanceof HttpMiddlewarePipelineError);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Locates the error whose status answers the request.
|
|
30
|
+
*
|
|
31
|
+
* The **outermost** error that carries a status wins. Only the framework's
|
|
32
|
+
* own wrappers (`HttpMiddlewareError`, `HttpMiddlewarePipelineError`) are
|
|
33
|
+
* unwrapped. An application that throws
|
|
34
|
+
* `new HttpError(502, "Bad Gateway", { cause: upstream401 })` is mapping an
|
|
35
|
+
* upstream failure on purpose; taking the innermost status sent the client
|
|
36
|
+
* the upstream's 401, its message and its `WWW-Authenticate` header.
|
|
37
|
+
* An error that is neither a wrapper nor carries a status ends the search
|
|
38
|
+
* (generic 500), so a `cause` the application attached is never exposed.
|
|
39
|
+
*/
|
|
40
|
+
export function findStatusError(error, depth, seen) {
|
|
41
|
+
if (error === null || typeof error !== "object" || depth > MAX_UNWRAP_DEPTH) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
if (seen.has(error)) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
seen.add(error);
|
|
48
|
+
const candidate = error;
|
|
49
|
+
if (!isFrameworkWrapper(error)) {
|
|
50
|
+
return isHttpStatus(candidate.statusCode)
|
|
51
|
+
? candidate
|
|
52
|
+
: undefined;
|
|
53
|
+
}
|
|
54
|
+
const nested = [];
|
|
55
|
+
if (Array.isArray(candidate.errors)) {
|
|
56
|
+
nested.push(...candidate.errors);
|
|
57
|
+
}
|
|
58
|
+
if (candidate.cause !== undefined) {
|
|
59
|
+
nested.push(candidate.cause);
|
|
60
|
+
}
|
|
61
|
+
for (const inner of nested) {
|
|
62
|
+
const found = findStatusError(inner, depth + 1, seen);
|
|
63
|
+
if (found) {
|
|
64
|
+
return found;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
function isHttpStatus(value) {
|
|
70
|
+
return (typeof value === "number" &&
|
|
71
|
+
Number.isInteger(value) &&
|
|
72
|
+
value >= 400 &&
|
|
73
|
+
value <= 599);
|
|
74
|
+
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* This module is deliberately internal: it is not part of the public API.
|
|
15
15
|
*
|
|
16
|
-
* @module httpAdapter/errorResponse
|
|
16
|
+
* @module httpAdapter/errorResponse/response
|
|
17
17
|
*/
|
|
18
18
|
export interface ResolvedErrorResponse {
|
|
19
19
|
readonly status: number;
|
|
@@ -25,11 +25,16 @@ export interface ResolvedErrorResponse {
|
|
|
25
25
|
*
|
|
26
26
|
* - The outermost error with a 4xx/5xx `statusCode` (looking through the
|
|
27
27
|
* pipeline's own wrappers only) is answered with that status.
|
|
28
|
-
* - Its `message` and `
|
|
29
|
-
* `expose: true` (the `@zudojs/errors` default for
|
|
30
|
-
* body carries the status text
|
|
28
|
+
* - Its `message`, `code` and validation `issues` are included only when
|
|
29
|
+
* the error opts in with `expose: true` (the `@zudojs/errors` default for
|
|
30
|
+
* 4xx); otherwise the body carries the status text and the status's
|
|
31
|
+
* symbolic name as `code`, so a 5xx never leaks internals.
|
|
31
32
|
* - Its `headers` are applied when they are valid header values.
|
|
32
33
|
* - Anything else is a generic `500 Internal Server Error`.
|
|
34
|
+
*
|
|
35
|
+
* Every body has the same shape, `{ error, code, issues? }`: `code` used to
|
|
36
|
+
* be present only on exposed errors, and a thrown validation error lost its
|
|
37
|
+
* issues, so a client saw `{"error":"Validation failed"}` with nothing to
|
|
38
|
+
* act on.
|
|
33
39
|
*/
|
|
34
40
|
export declare function resolveErrorResponse(error: unknown): ResolvedErrorResponse;
|
|
35
|
-
//# sourceMappingURL=httpAdapter.errorResponse.d.ts.map
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default error-to-response mapping shared by the adapters.
|
|
3
|
+
*
|
|
4
|
+
* An error thrown from a handler used to be answered with a generic 500 no
|
|
5
|
+
* matter what it was, so `throw notFound()` — the documented way to fail a
|
|
6
|
+
* request — reached the client as `500 Internal Server Error` with the
|
|
7
|
+
* error's status, message and headers (`WWW-Authenticate`, `Allow`,
|
|
8
|
+
* `Retry-After`) all discarded. Middleware wrappers made it worse: the
|
|
9
|
+
* pipeline wraps every failure in `HttpMiddlewareError` /
|
|
10
|
+
* `HttpMiddlewarePipelineError`, both of which report status 500, so the
|
|
11
|
+
* original error's status was hidden even from a custom error handler that
|
|
12
|
+
* only looked one level deep.
|
|
13
|
+
*
|
|
14
|
+
* This module is deliberately internal: it is not part of the public API.
|
|
15
|
+
*
|
|
16
|
+
* @module httpAdapter/errorResponse/response
|
|
17
|
+
*/
|
|
18
|
+
import { getStatusText } from "../../httpResponse/core/httpResponse.statusText.js";
|
|
19
|
+
import { statusName } from "../../httpStatus/httpStatus.name.js";
|
|
20
|
+
import { isValidHeaderFieldValue } from "../../httpHeaders/security/index.js";
|
|
21
|
+
import { findStatusError } from "./httpAdapterError.locate.js";
|
|
22
|
+
import { publicIssues } from "./httpAdapterError.issues.js";
|
|
23
|
+
/* -------------------------------------------------------------------------- */
|
|
24
|
+
/* Resolution */
|
|
25
|
+
/* -------------------------------------------------------------------------- */
|
|
26
|
+
/**
|
|
27
|
+
* Builds the default response for an unhandled error.
|
|
28
|
+
*
|
|
29
|
+
* - The outermost error with a 4xx/5xx `statusCode` (looking through the
|
|
30
|
+
* pipeline's own wrappers only) is answered with that status.
|
|
31
|
+
* - Its `message`, `code` and validation `issues` are included only when
|
|
32
|
+
* the error opts in with `expose: true` (the `@zudojs/errors` default for
|
|
33
|
+
* 4xx); otherwise the body carries the status text and the status's
|
|
34
|
+
* symbolic name as `code`, so a 5xx never leaks internals.
|
|
35
|
+
* - Its `headers` are applied when they are valid header values.
|
|
36
|
+
* - Anything else is a generic `500 Internal Server Error`.
|
|
37
|
+
*
|
|
38
|
+
* Every body has the same shape, `{ error, code, issues? }`: `code` used to
|
|
39
|
+
* be present only on exposed errors, and a thrown validation error lost its
|
|
40
|
+
* issues, so a client saw `{"error":"Validation failed"}` with nothing to
|
|
41
|
+
* act on.
|
|
42
|
+
*/
|
|
43
|
+
export function resolveErrorResponse(error) {
|
|
44
|
+
const statusError = findStatusError(error, 0, new Set());
|
|
45
|
+
if (!statusError) {
|
|
46
|
+
return {
|
|
47
|
+
status: 500,
|
|
48
|
+
body: { error: "Internal Server Error", code: "INTERNAL_SERVER_ERROR" },
|
|
49
|
+
headers: {},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const status = statusError.statusCode;
|
|
53
|
+
const expose = statusError.expose === true;
|
|
54
|
+
const message = expose && typeof statusError.message === "string" && statusError.message
|
|
55
|
+
? statusError.message
|
|
56
|
+
: getStatusText(status);
|
|
57
|
+
const code = expose && typeof statusError.code === "string" && statusError.code
|
|
58
|
+
? statusError.code
|
|
59
|
+
: statusName(status);
|
|
60
|
+
const body = { error: message, code };
|
|
61
|
+
const issues = expose ? publicIssues(statusError.issues) : undefined;
|
|
62
|
+
if (issues !== undefined) {
|
|
63
|
+
body.issues = issues;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
status,
|
|
67
|
+
body,
|
|
68
|
+
headers: collectHeaders(statusError.headers),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function collectHeaders(value) {
|
|
72
|
+
if (value === null || typeof value !== "object") {
|
|
73
|
+
return {};
|
|
74
|
+
}
|
|
75
|
+
const headers = {};
|
|
76
|
+
for (const [name, entry] of Object.entries(value)) {
|
|
77
|
+
if (typeof entry !== "string" || !isValidHeaderFieldValue(entry)) {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
headers[name] = entry;
|
|
81
|
+
}
|
|
82
|
+
return headers;
|
|
83
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/http/httpAdapter/errorResponse
|
|
3
|
+
*
|
|
4
|
+
* Error-to-response mapping shared by the adapters, and the headers added to
|
|
5
|
+
* every response an adapter builds itself. Internal to the package.
|
|
6
|
+
*/
|
|
7
|
+
export * from "./httpAdapterError.locate.js";
|
|
8
|
+
export * from "./httpAdapterError.issues.js";
|
|
9
|
+
export * from "./httpAdapterError.response.js";
|
|
10
|
+
export * from "./httpAdapterError.headers.js";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/http/httpAdapter/errorResponse
|
|
3
|
+
*
|
|
4
|
+
* Error-to-response mapping shared by the adapters, and the headers added to
|
|
5
|
+
* every response an adapter builds itself. Internal to the package.
|
|
6
|
+
*/
|
|
7
|
+
export * from "./httpAdapterError.locate.js";
|
|
8
|
+
export * from "./httpAdapterError.issues.js";
|
|
9
|
+
export * from "./httpAdapterError.response.js";
|
|
10
|
+
export * from "./httpAdapterError.headers.js";
|
|
@@ -17,4 +17,3 @@ export declare function readFetchBodyAsJson<T = unknown>(request: Request | Resp
|
|
|
17
17
|
* Reads the body from a Request or Response.
|
|
18
18
|
*/
|
|
19
19
|
export declare function readFetchBody(request: Request | Response, maxBodySize?: number): Promise<string | Buffer>;
|
|
20
|
-
//# sourceMappingURL=httpFetch.body.d.ts.map
|
|
@@ -17,4 +17,3 @@ export declare function createFetchRequestContext(input: FetchRequestInput): Pro
|
|
|
17
17
|
* Creates a FetchRequest from a FetchRequestInput.
|
|
18
18
|
*/
|
|
19
19
|
export declare function createFetchRequest(input: FetchRequestInput, init?: Omit<RequestInit, "method" | "headers" | "body">): Request;
|
|
20
|
-
//# sourceMappingURL=httpFetch.requestContext.d.ts.map
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module httpAdapter/fetch/types
|
|
5
5
|
*/
|
|
6
|
+
import { DEFAULT_MAX_BODY_SIZE } from "../../httpSecurity/httpSecurity.config.js";
|
|
6
7
|
export interface FetchAdapterOptions {
|
|
7
8
|
readonly port?: number;
|
|
8
9
|
readonly host?: string;
|
|
@@ -26,5 +27,4 @@ export interface FetchAdapterResult {
|
|
|
26
27
|
readonly response: Response;
|
|
27
28
|
readonly context: unknown;
|
|
28
29
|
}
|
|
29
|
-
export
|
|
30
|
-
//# sourceMappingURL=httpFetch.type.d.ts.map
|
|
30
|
+
export { DEFAULT_MAX_BODY_SIZE };
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module httpAdapter/fetch/types
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
import { DEFAULT_MAX_BODY_SIZE } from "../../httpSecurity/httpSecurity.config.js";
|
|
7
|
+
export { DEFAULT_MAX_BODY_SIZE };
|
|
@@ -13,6 +13,7 @@ import type { RequestContextInit } from "../httpRequest/httpRequest.context.js";
|
|
|
13
13
|
import { HttpResponseContext } from "../httpResponse/httpResponse.context.js";
|
|
14
14
|
import type { ResponseContextInit } from "../httpResponse/httpResponse.context.js";
|
|
15
15
|
import type { HttpResponseWriter } from "../httpResponse/httpResponse.writer.js";
|
|
16
|
+
import { type AdapterSecurityHeadersOption } from "./errorResponse/index.js";
|
|
16
17
|
export type HttpAdapterName = string;
|
|
17
18
|
export type HttpHandlerResult = HttpResponseContext | ResponseContextInit | unknown | void;
|
|
18
19
|
export type HttpHandler = (request: HttpRequestContext) => HttpHandlerResult | Promise<HttpHandlerResult>;
|
|
@@ -34,6 +35,15 @@ export interface HttpAdapterOptions {
|
|
|
34
35
|
readonly capabilities?: HttpAdapterCapabilities;
|
|
35
36
|
readonly trustProxy?: boolean | number | string | readonly string[];
|
|
36
37
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
38
|
+
/**
|
|
39
|
+
* Security headers added to every response the adapter builds itself — a
|
|
40
|
+
* request refused by the guard, its own `413`, an unhandled error, the
|
|
41
|
+
* response a custom `errorHandler` returns — for header names the response
|
|
42
|
+
* does not already carry. Defaults to the package's default security
|
|
43
|
+
* header set; an object replaces that set, `false` adds none. Responses
|
|
44
|
+
* that pass through the middleware pipeline are unaffected.
|
|
45
|
+
*/
|
|
46
|
+
readonly securityHeaders?: AdapterSecurityHeadersOption;
|
|
37
47
|
}
|
|
38
48
|
export interface HttpAdapterContext {
|
|
39
49
|
readonly adapter: HttpAdapter;
|
|
@@ -79,6 +89,8 @@ export declare abstract class BaseHttpAdapter implements HttpAdapter {
|
|
|
79
89
|
readonly metadata: Readonly<Record<string, unknown>>;
|
|
80
90
|
protected handler: HttpHandler | undefined;
|
|
81
91
|
protected errorHandler: HttpErrorHandler | undefined;
|
|
92
|
+
/** The resolved {@link HttpAdapterOptions.securityHeaders}. */
|
|
93
|
+
protected readonly securityHeaders: Readonly<Record<string, string>>;
|
|
82
94
|
private started;
|
|
83
95
|
normalizeRequest?(input: unknown): RequestContextInit | Promise<RequestContextInit>;
|
|
84
96
|
normalizeResponse?(input: unknown): ResponseContextInit | Promise<ResponseContextInit>;
|
|
@@ -164,4 +176,3 @@ export declare function normalizeHandlerResult(result: HttpHandlerResult): HttpR
|
|
|
164
176
|
*/
|
|
165
177
|
export declare function isResponseContextInit(value: unknown): value is ResponseContextInit;
|
|
166
178
|
export declare function mergeResponseContext(target: HttpResponseContext, source: HttpResponseContext): HttpResponseContext;
|
|
167
|
-
//# sourceMappingURL=http.adapter.d.ts.map
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { HttpRequestContext, createRequestContext, } from "../httpRequest/httpRequest.context.js";
|
|
12
12
|
import { HttpResponseContext, createResponseContext, } from "../httpResponse/httpResponse.context.js";
|
|
13
13
|
import { writeResponse } from "../httpResponse/httpResponse.writer.js";
|
|
14
|
-
import { resolveErrorResponse } from "./
|
|
14
|
+
import { finalizeErrorResponse, resolveAdapterSecurityHeaders, resolveErrorResponse, } from "./errorResponse/index.js";
|
|
15
15
|
/* -------------------------------------------------------------------------- */
|
|
16
16
|
/* Adapter Error */
|
|
17
17
|
/* -------------------------------------------------------------------------- */
|
|
@@ -26,6 +26,8 @@ export class BaseHttpAdapter {
|
|
|
26
26
|
metadata;
|
|
27
27
|
handler;
|
|
28
28
|
errorHandler;
|
|
29
|
+
/** The resolved {@link HttpAdapterOptions.securityHeaders}. */
|
|
30
|
+
securityHeaders;
|
|
29
31
|
started = false;
|
|
30
32
|
constructor(options = {}) {
|
|
31
33
|
this.name = options.name ?? this.constructor.name;
|
|
@@ -37,6 +39,7 @@ export class BaseHttpAdapter {
|
|
|
37
39
|
});
|
|
38
40
|
this.handler = options.handler;
|
|
39
41
|
this.errorHandler = options.errorHandler;
|
|
42
|
+
this.securityHeaders = resolveAdapterSecurityHeaders(options.securityHeaders);
|
|
40
43
|
}
|
|
41
44
|
/**
|
|
42
45
|
* Installs the application request handler.
|
|
@@ -92,7 +95,7 @@ export class BaseHttpAdapter {
|
|
|
92
95
|
}
|
|
93
96
|
response.setStatus(resolved.status).json(resolved.body);
|
|
94
97
|
}
|
|
95
|
-
await this.write(input, response);
|
|
98
|
+
await this.write(input, finalizeErrorResponse(response, this.securityHeaders, error));
|
|
96
99
|
}
|
|
97
100
|
async write(input, context) {
|
|
98
101
|
if (this.writeResponse) {
|
|
@@ -316,4 +319,3 @@ export function mergeResponseContext(target, source) {
|
|
|
316
319
|
function normalizeAdapterName(name) {
|
|
317
320
|
return name.trim().toLowerCase();
|
|
318
321
|
}
|
|
319
|
-
//# sourceMappingURL=http.adapter.js.map
|
|
@@ -89,4 +89,3 @@ export declare function adaptNodeContext<State extends HTTPState = HTTPState>(re
|
|
|
89
89
|
readonly trustProxy?: TrustProxy;
|
|
90
90
|
}): HTTPContext<State>;
|
|
91
91
|
export declare function isHTTPAdapter(value: unknown): value is HTTPAdapter;
|
|
92
|
-
//# sourceMappingURL=http.adapters.d.ts.map
|
|
@@ -8,4 +8,3 @@ export { FetchHttpResponseWriter } from "./fetch/httpFetch.responseWriter.js";
|
|
|
8
8
|
export { createFetchRequestContext, createFetchRequest, } from "./fetch/httpFetch.requestContext.js";
|
|
9
9
|
export { readFetchBody, readFetchBodyAsString, readFetchBodyAsJson, FetchRequestBodyTooLargeError, } from "./fetch/httpFetch.body.js";
|
|
10
10
|
export { isRequest, isResponse, isFetchRequestInput, } from "./fetch/httpFetch.helper.js";
|
|
11
|
-
//# sourceMappingURL=httpFetch.adapter.d.ts.map
|
|
@@ -7,4 +7,3 @@ export { FetchHttpResponseWriter } from "./fetch/httpFetch.responseWriter.js";
|
|
|
7
7
|
export { createFetchRequestContext, createFetchRequest, } from "./fetch/httpFetch.requestContext.js";
|
|
8
8
|
export { readFetchBody, readFetchBodyAsString, readFetchBodyAsJson, FetchRequestBodyTooLargeError, } from "./fetch/httpFetch.body.js";
|
|
9
9
|
export { isRequest, isResponse, isFetchRequestInput, } from "./fetch/httpFetch.helper.js";
|
|
10
|
-
//# sourceMappingURL=httpFetch.adapter.js.map
|
|
@@ -59,7 +59,12 @@ export declare class NodeHttpAdapter extends BaseHttpAdapter {
|
|
|
59
59
|
*/
|
|
60
60
|
private normalizeResult;
|
|
61
61
|
private handleNodeError;
|
|
62
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Answers a request the adapter refuses before any handler runs (the
|
|
64
|
+
* request guard, an undescribable request). The connection is closed
|
|
65
|
+
* because the body was never read.
|
|
66
|
+
*/
|
|
67
|
+
private writeRejection;
|
|
63
68
|
private writeNodeResponse;
|
|
64
69
|
/**
|
|
65
70
|
* Runs `handle` for a Node request/response pair without ever letting the
|
|
@@ -80,4 +85,3 @@ export declare class NodeHttpAdapter extends BaseHttpAdapter {
|
|
|
80
85
|
stop(options?: HttpAdapterStopOptions): Promise<void>;
|
|
81
86
|
}
|
|
82
87
|
export declare function createNodeHttpAdapter(options?: NodeAdapterOptions): NodeHttpAdapter;
|
|
83
|
-
//# sourceMappingURL=httpNode.adapter.d.ts.map
|