@psnext/slingcli 3.5.20261007-3 → 3.5.20261026-1
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/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +12 -3
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +94 -1589
- package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js +12 -3
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +1 -7
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +1 -3
- package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +1 -3
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts +2 -8
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_0Protocol.d.ts +1 -2
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_1Protocol.d.ts +1 -2
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +2 -3
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsRestJsonProtocol.d.ts +2 -3
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/index.d.ts +10 -10
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_0Protocol.d.ts +1 -2
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_1Protocol.d.ts +1 -2
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +2 -3
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsRestJsonProtocol.d.ts +2 -3
- package/node_modules/@aws-sdk/core/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-env/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-http/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +11 -11
- package/node_modules/@aws-sdk/credential-provider-login/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-node/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-process/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +37 -19
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +37 -19
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +5 -5
- package/node_modules/@aws-sdk/eventstream-handler-node/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-eventstream/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-websocket/package.json +5 -5
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +11 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +6 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +6 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +13 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +9 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/models/CognitoIdentityServiceException.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/models/errors.js +9 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/SigninServiceException.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/errors.js +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/SSOServiceException.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/errors.js +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/SSOOIDCServiceException.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/errors.js +11 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/STSServiceException.js +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js +7 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/CognitoIdentityClient.d.ts +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/models/CognitoIdentityServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/models/errors.d.ts +9 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/SigninClient.d.ts +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/SigninServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/errors.d.ts +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/SSOClient.d.ts +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/models/SSOServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/models/errors.d.ts +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/SSOOIDCClient.d.ts +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/models/SSOOIDCServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/models/errors.d.ts +11 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/STSClient.d.ts +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/models/STSServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/models/errors.d.ts +7 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/models/CognitoIdentityServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/models/errors.d.ts +9 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/models/SigninServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/models/errors.d.ts +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/models/SSOServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/models/errors.d.ts +4 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/models/SSOOIDCServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/models/errors.d.ts +11 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/models/STSServiceException.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/models/errors.d.ts +7 -0
- package/node_modules/@aws-sdk/nested-clients/package.json +5 -5
- package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +3 -3
- package/node_modules/@aws-sdk/types/dist-types/feature-ids.d.ts +3 -0
- package/node_modules/@aws-sdk/types/dist-types/ts3.4/feature-ids.d.ts +3 -0
- package/node_modules/@aws-sdk/types/package.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.js +2 -0
- package/node_modules/@earendil-works/pi-codemode/dist/runtime/host.js +21 -86
- package/node_modules/@earendil-works/pi-codemode/dist/runtime/prelude-source.js +3 -103
- package/node_modules/@earendil-works/pi-codemode/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-TFS67BSI.js → chunk-23QDZLZG.js} +20 -14
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-IB6ONE3U.js → chunk-QPFSTNX5.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{virtual-modules-P5ROWYIG.js → virtual-modules-GRXGP6ZA.js} +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/cli-runtime.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/index.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/rpc-entry.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Agent.md +8 -8
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Client.md +11 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +9 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Dispatcher.md +12 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Errors.md +101 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Fetch.md +10 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Interceptors.md +17 -9
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Pool.md +5 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/index.md +22 -13
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/type-map.json +66 -66
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/readable.js +1 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/connect.js +10 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/constants.js +12 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/errors.js +38 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/request.js +39 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/symbols.js +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/util.js +26 -40
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/agent.js +6 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h1.js +127 -84
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h2.js +97 -21
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client.js +10 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +21 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/pool-base.js +117 -19
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/pool.js +99 -13
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/proxy-agent.js +34 -11
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/cache-handler.js +153 -15
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/deduplication-handler.js +126 -52
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/redirect-handler.js +31 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/retry-handler.js +116 -24
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/cache.js +15 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/decompress.js +253 -73
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dns.js +11 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/response-error.js +72 -28
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/milo/LICENSE.md +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/milo/no-simd.js +1002 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/milo/simd.js +1002 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-agent.js +11 -0
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/util/cache.js +11 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cache/cache.js +17 -8
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cache/cachestorage.js +11 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/index.js +19 -7
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/util.js +21 -2
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource.js +50 -3
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/body.js +69 -53
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/data-url.js +6 -6
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/formdata.js +30 -36
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/headers.js +36 -33
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/index.js +54 -29
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/request.js +74 -79
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/response.js +43 -44
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/util.js +7 -7
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/infra/index.js +16 -1
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/webidl/index.js +2 -14
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/connection.js +33 -12
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/events.js +43 -26
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/receiver.js +27 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/stream/websocketerror.js +13 -10
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/stream/websocketstream.js +19 -4
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/websocket.js +44 -41
- package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/package.json +7 -5
- package/node_modules/@earendil-works/pi-coding-agent/package.json +2 -2
- package/node_modules/@hono/node-server/README.md +2 -0
- package/node_modules/@hono/node-server/dist/index.cjs +1 -1
- package/node_modules/@hono/node-server/dist/index.mjs +1 -1
- package/node_modules/@hono/node-server/dist/serve-static.cjs +2 -1
- package/node_modules/@hono/node-server/dist/serve-static.mjs +2 -1
- package/node_modules/@hono/node-server/package.json +2 -2
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js +10 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts +8 -8
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +10 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts +8 -8
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/package.json +1 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +15 -2
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +2 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +2 -1
- package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.browser.js +10 -0
- package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +10 -0
- package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +1695 -3
- package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/command.js +16 -2
- package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/cache/EndpointCache.js +2 -1
- package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js +10 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js +6 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/UnionSerde.js +26 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/common.js +3 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +8 -0
- package/node_modules/@smithy/core/dist-es/submodules/protocols/json/SmithyRpcV2JsonProtocol.js +102 -0
- package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js +8 -1
- package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js +8 -1
- package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js +13 -2
- package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js +16 -6
- package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/parseJsonBody.js +16 -1
- package/node_modules/@smithy/core/dist-es/submodules/protocols/writeKey.js +3 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/ConfigurableSerdeContext.d.ts +8 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/UnionSerde.d.ts +24 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/common.d.ts +2 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts +9 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/json/JsonSettings.d.ts +13 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/json/SmithyRpcV2JsonProtocol.d.ts +28 -0
- package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/parseJsonBody.d.ts +16 -0
- package/node_modules/@smithy/core/dist-types/submodules/protocols/writeKey.d.ts +4 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/ConfigurableSerdeContext.d.ts +8 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/UnionSerde.d.ts +24 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/common.d.ts +2 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/index.d.ts +9 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/JsonSettings.d.ts +13 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/SmithyRpcV2JsonProtocol.d.ts +28 -0
- package/node_modules/{@aws-sdk → @smithy}/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonCodec.d.ts +15 -11
- package/node_modules/{@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json → @smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v1}/JsonSettings.d.ts +7 -4
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeDeserializer.d.ts +14 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeSerializer.d.ts +29 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +51 -0
- package/node_modules/{@aws-sdk → @smithy}/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonCodec2.d.ts +13 -9
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.d.ts +30 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeSerializer2.d.ts +60 -0
- package/node_modules/{@aws-sdk → @smithy}/core/dist-types/ts3.4/submodules/protocols/json/detectBufferParsing.d.ts +1 -1
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/jsonReplacer.d.ts +21 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/jsonReviver.d.ts +15 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/needsReviver.d.ts +11 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/parseJsonBody.d.ts +38 -0
- package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/writeKey.d.ts +4 -0
- package/node_modules/@smithy/core/package.json +2 -1
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/util.d.ts +6 -3
- package/node_modules/body-parser/README.md +17 -13
- package/node_modules/body-parser/lib/read.js +74 -57
- package/node_modules/body-parser/lib/types/json.js +11 -11
- package/node_modules/body-parser/lib/types/urlencoded.js +5 -5
- package/node_modules/body-parser/lib/utils.js +0 -15
- package/node_modules/body-parser/package.json +7 -12
- package/node_modules/content-disposition/README.md +105 -35
- package/node_modules/content-disposition/dist/index.d.ts +72 -0
- package/node_modules/content-disposition/dist/index.js +388 -0
- package/node_modules/content-disposition/dist/index.js.map +1 -0
- package/node_modules/content-disposition/package.json +31 -19
- package/node_modules/express/Readme.md +15 -9
- package/node_modules/express/lib/application.js +2 -2
- package/node_modules/express/lib/request.js +32 -19
- package/node_modules/express/lib/response.js +27 -30
- package/node_modules/express/node_modules/content-type/LICENSE +22 -0
- package/node_modules/express/node_modules/content-type/README.md +71 -0
- package/node_modules/express/node_modules/content-type/dist/index.d.ts +46 -0
- package/node_modules/express/node_modules/content-type/dist/index.js +176 -0
- package/node_modules/express/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/express/node_modules/content-type/package.json +52 -0
- package/node_modules/express/package.json +10 -10
- package/node_modules/fast-uri/.github/workflows/release.yml +35 -0
- package/node_modules/fast-uri/README.md +8 -0
- package/node_modules/fast-uri/index.js +98 -18
- package/node_modules/fast-uri/lib/utils.js +52 -0
- package/node_modules/fast-uri/package.json +1 -1
- package/node_modules/fast-uri/test/host-delimiter-security.test.js +94 -0
- package/node_modules/fast-uri/test/relative-normalization-security.test.js +156 -0
- package/node_modules/fast-uri/test/reserved-path-normalization.test.js +32 -4
- package/node_modules/fast-uri/test/scheme-validation.test.js +53 -14
- package/node_modules/hono/README.md +2 -3
- package/node_modules/hono/dist/cjs/helper/css/common.js +8 -3
- package/node_modules/hono/dist/cjs/helper/css/index.js +1 -1
- package/node_modules/hono/dist/cjs/helper/route/index.js +3 -1
- package/node_modules/hono/dist/cjs/jsx/base.js +1 -1
- package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +8 -0
- package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +3 -1
- package/node_modules/hono/dist/cjs/router/trie-router/node.js +2 -2
- package/node_modules/hono/dist/cjs/utils/url.js +11 -6
- package/node_modules/hono/dist/helper/css/common.js +8 -3
- package/node_modules/hono/dist/helper/css/index.js +1 -1
- package/node_modules/hono/dist/helper/route/index.js +3 -1
- package/node_modules/hono/dist/jsx/base.js +1 -1
- package/node_modules/hono/dist/middleware/bearer-auth/index.js +8 -0
- package/node_modules/hono/dist/middleware/serve-static/index.js +3 -1
- package/node_modules/hono/dist/router/trie-router/node.js +2 -2
- package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +1 -1
- package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +1 -1
- package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +1 -1
- package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +1 -1
- package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +1 -1
- package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +1 -1
- package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +1 -1
- package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +1 -1
- package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +1 -1
- package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +1 -1
- package/node_modules/hono/dist/types/helper/testing/index.d.ts +2 -1
- package/node_modules/hono/dist/types/hono-base.d.ts +21 -9
- package/node_modules/hono/dist/types/index.d.ts +1 -1
- package/node_modules/hono/dist/types/jsx/components.d.ts +2 -2
- package/node_modules/hono/dist/types/jsx/context.d.ts +2 -2
- package/node_modules/hono/dist/types/jsx/dom/components.d.ts +2 -2
- package/node_modules/hono/dist/types/jsx/dom/css.d.ts +2 -2
- package/node_modules/hono/dist/types/jsx/streaming.d.ts +4 -3
- package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +2 -1
- package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +3 -3
- package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +3 -3
- package/node_modules/hono/dist/types/utils/ipaddr.d.ts +1 -1
- package/node_modules/hono/dist/utils/url.js +11 -6
- package/node_modules/hono/package.json +1 -1
- package/node_modules/ip-address/README.md +70 -70
- package/node_modules/ip-address/dist/common.js +2 -2
- package/node_modules/ip-address/dist/common.js.map +1 -1
- package/node_modules/ip-address/dist/ipv6.js +7 -4
- package/node_modules/ip-address/dist/ipv6.js.map +1 -1
- package/node_modules/ip-address/dist/v6/constants.d.ts +3 -0
- package/node_modules/ip-address/dist/v6/constants.js +3 -0
- package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
- package/node_modules/ip-address/package.json +3 -2
- package/node_modules/jose/README.md +2 -2
- package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +5 -4
- package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +4 -4
- package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +5 -4
- package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +5 -5
- package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +5 -4
- package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +5 -5
- package/node_modules/jose/dist/types/jws/compact/sign.d.ts +5 -4
- package/node_modules/jose/dist/types/jws/compact/verify.d.ts +5 -5
- package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +5 -4
- package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +6 -5
- package/node_modules/jose/dist/types/jws/general/sign.d.ts +9 -6
- package/node_modules/jose/dist/types/jws/general/verify.d.ts +7 -5
- package/node_modules/jose/dist/types/jwt/decrypt.d.ts +7 -6
- package/node_modules/jose/dist/types/jwt/encrypt.d.ts +1 -1
- package/node_modules/jose/dist/types/jwt/sign.d.ts +1 -1
- package/node_modules/jose/dist/types/jwt/unsecured.d.ts +1 -1
- package/node_modules/jose/dist/types/jwt/verify.d.ts +3 -5
- package/node_modules/jose/dist/types/key/export.d.ts +1 -1
- package/node_modules/jose/dist/types/key/generate_secret.d.ts +1 -1
- package/node_modules/jose/dist/types/key/import.d.ts +2 -2
- package/node_modules/jose/dist/types/types.d.ts +165 -107
- package/node_modules/jose/dist/types/util/decode_jwt.d.ts +2 -2
- package/node_modules/jose/dist/types/util/errors.d.ts +1 -1
- package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +3 -3
- package/node_modules/jose/dist/webapi/jwk/thumbprint.js +8 -8
- package/node_modules/jose/dist/webapi/jwks/local.js +2 -1
- package/node_modules/jose/dist/webapi/jwks/remote.js +4 -4
- package/node_modules/jose/dist/webapi/jws/general/sign.js +3 -3
- package/node_modules/jose/dist/webapi/jws/general/verify.js +3 -3
- package/node_modules/jose/dist/webapi/jwt/encrypt.js +2 -2
- package/node_modules/jose/dist/webapi/jwt/sign.js +2 -2
- package/node_modules/jose/dist/webapi/jwt/unsecured.js +3 -3
- package/node_modules/jose/dist/webapi/key/generate_secret.js +4 -4
- package/node_modules/jose/dist/webapi/lib/asn1.js +2 -2
- package/node_modules/jose/dist/webapi/lib/buffer_utils.js +4 -4
- package/node_modules/jose/dist/webapi/lib/content_encryption.js +8 -8
- package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +14 -14
- package/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +3 -3
- package/node_modules/jose/dist/webapi/lib/jws_algorithms.js +2 -2
- package/node_modules/jose/dist/webapi/lib/jws_sign.js +11 -11
- package/node_modules/jose/dist/webapi/lib/jws_verify.js +19 -16
- package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +44 -43
- package/node_modules/jose/dist/webapi/lib/key.js +4 -4
- package/node_modules/jose/dist/webapi/lib/key_management.js +17 -17
- package/node_modules/jose/dist/webapi/lib/validate.js +10 -10
- package/node_modules/jose/dist/webapi/util/decode_jwt.js +12 -12
- package/node_modules/jose/dist/webapi/util/decode_protected_header.js +5 -5
- package/node_modules/jose/package.json +1 -1
- package/node_modules/on-finished/index.js +14 -2
- package/node_modules/on-finished/package.json +11 -7
- package/node_modules/qs/.github/THREAT_MODEL.md +4 -2
- package/node_modules/qs/CHANGELOG.md +38 -14
- package/node_modules/qs/README.md +31 -3
- package/node_modules/qs/dist/qs.js +20 -20
- package/node_modules/qs/lib/parse.js +94 -4
- package/node_modules/qs/lib/stringify.js +4 -4
- package/node_modules/qs/lib/utils.js +130 -6
- package/node_modules/qs/package.json +4 -4
- package/node_modules/qs/test/parse.js +174 -0
- package/node_modules/qs/test/stringify.js +263 -33
- package/node_modules/qs/test/utils.js +184 -0
- package/node_modules/undici/docs/docs/api/Client.md +2 -0
- package/node_modules/undici/lib/core/connect.js +10 -4
- package/node_modules/undici/lib/core/symbols.js +1 -0
- package/node_modules/undici/lib/dispatcher/agent.js +6 -2
- package/node_modules/undici/lib/dispatcher/client-h1.js +0 -2
- package/node_modules/undici/lib/dispatcher/client-h2.js +0 -4
- package/node_modules/undici/lib/dispatcher/client.js +3 -2
- package/node_modules/undici/lib/dispatcher/dispatcher-base.js +12 -0
- package/node_modules/undici/lib/handler/cache-handler.js +48 -0
- package/node_modules/undici/lib/handler/deduplication-handler.js +57 -13
- package/node_modules/undici/lib/handler/redirect-handler.js +8 -1
- package/node_modules/undici/lib/interceptor/decompress.js +15 -5
- package/node_modules/undici/lib/web/cookies/index.js +3 -1
- package/node_modules/undici/lib/web/cookies/parse.js +138 -137
- package/node_modules/undici/lib/web/cookies/util.js +21 -2
- package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +90 -9
- package/node_modules/undici/lib/web/eventsource/eventsource.js +4 -1
- package/node_modules/undici/lib/web/fetch/index.js +3 -3
- package/node_modules/undici/lib/web/infra/index.js +14 -0
- package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
- package/node_modules/undici/lib/web/websocket/receiver.js +13 -0
- package/node_modules/undici/package.json +1 -1
- package/node_modules/undici/types/client.d.ts +14 -0
- package/node_modules/zod/package.json +1 -1
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +6 -0
- package/node_modules/zod/src/v4/core/compile.ts +9 -0
- package/node_modules/zod/src/v4/core/schemas.ts +35 -1
- package/node_modules/zod/src/v4/core/util.ts +13 -0
- package/node_modules/zod/src/v4/core/versions.ts +1 -1
- package/node_modules/zod/v4/core/compile.cjs +8 -0
- package/node_modules/zod/v4/core/compile.js +8 -0
- package/node_modules/zod/v4/core/schemas.cjs +30 -0
- package/node_modules/zod/v4/core/schemas.d.cts +3 -1
- package/node_modules/zod/v4/core/schemas.d.ts +3 -1
- package/node_modules/zod/v4/core/schemas.js +30 -0
- package/node_modules/zod/v4/core/util.cjs +15 -0
- package/node_modules/zod/v4/core/util.d.cts +2 -0
- package/node_modules/zod/v4/core/util.d.ts +2 -0
- package/node_modules/zod/v4/core/util.js +14 -0
- package/node_modules/zod/v4/core/versions.cjs +1 -1
- package/node_modules/zod/v4/core/versions.js +1 -1
- package/package.json +5 -4
- package/sling-default-packages.json +3 -2
- package/slingshot/index.js +124 -124
- package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v1/JsonSettings.d.ts +0 -7
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonSettings.d.ts +0 -4
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeDeserializer.d.ts +0 -13
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeSerializer.d.ts +0 -18
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +0 -27
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.d.ts +0 -15
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeSerializer2.d.ts +0 -39
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/jsonReplacer.d.ts +0 -7
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/jsonReviver.d.ts +0 -7
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/needsReviver.d.ts +0 -2
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/parseJsonBody.d.ts +0 -14
- package/node_modules/content-disposition/index.js +0 -536
- package/node_modules/on-finished/HISTORY.md +0 -98
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/JsonSettings.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v1/JsonCodec.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v1/JsonSettings.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/detectBufferParsing.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/jsonReplacer.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/jsonReviver.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-es/submodules/protocols/json/needsReviver.js +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v1/JsonCodec.d.ts +0 -0
- /package/node_modules/{@aws-sdk/core/dist-types/submodules/protocols/json → @smithy/core/dist-types/submodules/protocols/json/codec-v1}/JsonSettings.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v1/JsonShapeDeserializer.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v1/JsonShapeSerializer.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v2/JsonCodec2.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/codec-v2/JsonShapeSerializer2.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/detectBufferParsing.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/jsonReplacer.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/jsonReviver.d.ts +0 -0
- /package/node_modules/{@aws-sdk → @smithy}/core/dist-types/submodules/protocols/json/needsReviver.d.ts +0 -0
|
@@ -77,13 +77,13 @@ test('serialize uses the RFC 3986 path character set without opening escapes', (
|
|
|
77
77
|
)
|
|
78
78
|
t.equal(
|
|
79
79
|
fastURI.serialize({ path: './a:b/c:d' }),
|
|
80
|
-
'a
|
|
81
|
-
'
|
|
80
|
+
'./a:b/c:d',
|
|
81
|
+
'a first-segment colon exposed by dot-segment removal is kept behind a "." segment'
|
|
82
82
|
)
|
|
83
83
|
t.equal(
|
|
84
84
|
fastURI.normalize('./a:b'),
|
|
85
|
-
'a
|
|
86
|
-
'normalization keeps a relative path from becoming a scheme'
|
|
85
|
+
'./a:b',
|
|
86
|
+
'normalization keeps a relative path from becoming a scheme without re-encoding the colon'
|
|
87
87
|
)
|
|
88
88
|
t.equal(
|
|
89
89
|
fastURI.serialize({ path: '/Kſ' }),
|
|
@@ -107,3 +107,31 @@ test('equal distinguishes escaped reserved path data from literal syntax', (t) =
|
|
|
107
107
|
)
|
|
108
108
|
t.end()
|
|
109
109
|
})
|
|
110
|
+
|
|
111
|
+
// A suffix reference never emits its scheme token, so it is a scheme-less
|
|
112
|
+
// (path-noscheme) reference: a bare ':' in its first path segment must be
|
|
113
|
+
// escaped, or the serialized output reparses as an absolute URI with a scheme.
|
|
114
|
+
// @see https://github.com/fastify/fast-uri/security/advisories/GHSA-333x-w4r6-6crp
|
|
115
|
+
test('suffix reference escapes a first-segment colon instead of emitting a scheme', (t) => {
|
|
116
|
+
const dangerous = /^(?:javascript|data|vbscript):/i
|
|
117
|
+
const options = { reference: 'suffix', scheme: 'x' }
|
|
118
|
+
|
|
119
|
+
for (const input of ['javascript:alert(1)', '%6Aavascript:alert(1)', 'data:text/html,x', 'vbscript:msgbox(1)']) {
|
|
120
|
+
t.notOk(dangerous.test(fastURI.normalize(input, options)), `${input} normalizes to an inert reference`)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
t.equal(
|
|
124
|
+
fastURI.normalize('javascript:alert(1)', options),
|
|
125
|
+
'javascript%3Aalert(1)',
|
|
126
|
+
'escapes the leading-segment colon to %3A'
|
|
127
|
+
)
|
|
128
|
+
t.notOk(
|
|
129
|
+
dangerous.test(fastURI.resolve('https://a.example/base/', '%6Aavascript:alert(1)', { reference: 'suffix' })),
|
|
130
|
+
'resolve in suffix mode does not emit a live scheme'
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
// legitimate suffix usage is unchanged
|
|
134
|
+
t.equal(fastURI.normalize('path/to/file', options), 'path/to/file', 'plain path unchanged')
|
|
135
|
+
t.equal(fastURI.normalize('a/b:c', options), 'a/b:c', 'colon in a later segment stays literal')
|
|
136
|
+
t.end()
|
|
137
|
+
})
|
|
@@ -15,7 +15,15 @@ const malformedSchemes = [
|
|
|
15
15
|
'foo_bar:value',
|
|
16
16
|
'éxample:value',
|
|
17
17
|
'Kttp://example.com/',
|
|
18
|
-
'ſcheme:value'
|
|
18
|
+
'ſcheme:value',
|
|
19
|
+
// RFC 3986 section 3.1 does not allow percent-encoding in a scheme.
|
|
20
|
+
'%4Aavascript:alert(1)',
|
|
21
|
+
'%6aavascript:alert(1)',
|
|
22
|
+
'foo%2Bbar:value',
|
|
23
|
+
'%u006Aavascript:1',
|
|
24
|
+
'ht%74ps://example.com/',
|
|
25
|
+
'ma%69lto:user@example.org',
|
|
26
|
+
'%64ata:text/html,x'
|
|
19
27
|
]
|
|
20
28
|
|
|
21
29
|
test('parse validates the decoded scheme against RFC 3986', (t) => {
|
|
@@ -23,10 +31,7 @@ test('parse validates the decoded scheme against RFC 3986', (t) => {
|
|
|
23
31
|
['a:value', 'a'],
|
|
24
32
|
['HTTP://example.com/', 'http'],
|
|
25
33
|
['a1+.-:value', 'a1+.-'],
|
|
26
|
-
['
|
|
27
|
-
['foo%2Bbar:value', 'foo+bar'],
|
|
28
|
-
['%u006Aavascript:1', 'javascript'],
|
|
29
|
-
['ht%74ps://example.com/', 'https']
|
|
34
|
+
['foo+bar:value', 'foo+bar']
|
|
30
35
|
]
|
|
31
36
|
|
|
32
37
|
for (const [uri, scheme] of validSchemes) {
|
|
@@ -42,17 +47,41 @@ test('parse validates the decoded scheme against RFC 3986', (t) => {
|
|
|
42
47
|
t.end()
|
|
43
48
|
})
|
|
44
49
|
|
|
45
|
-
test('
|
|
50
|
+
test('percent-encoded schemes do not select scheme handlers', (t) => {
|
|
46
51
|
t.equal(
|
|
47
52
|
fastURI.normalize('ht%74ps://example.com:443'),
|
|
48
|
-
'
|
|
49
|
-
'HTTP normalization
|
|
53
|
+
'ht%74ps://example.com:443',
|
|
54
|
+
'HTTP normalization does not run for an encoded scheme'
|
|
50
55
|
)
|
|
51
56
|
|
|
52
57
|
// 3.x has no mailto scheme handler (added in v4); use the ws handler to
|
|
53
|
-
// verify that a percent-encoded scheme
|
|
54
|
-
const ws = fastURI.parse('
|
|
55
|
-
t.equal(ws.
|
|
58
|
+
// verify that a percent-encoded scheme does not select its scheme handler
|
|
59
|
+
const ws = fastURI.parse('w%73://example.com/a?b')
|
|
60
|
+
t.equal(ws.resourceName, undefined, 'ws parsing does not run for an encoded scheme')
|
|
61
|
+
t.equal(ws.error, MALFORMED_SCHEME_ERROR)
|
|
62
|
+
t.end()
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
test('normalization cannot synthesize a scheme from encoded input', (t) => {
|
|
66
|
+
const inputs = [
|
|
67
|
+
'%6Aavascript:alert(1)',
|
|
68
|
+
'%4A%41%56%41%53%43%52%49%50%54:alert(1)',
|
|
69
|
+
'%u006Aavascript:alert(1)',
|
|
70
|
+
'j%61vascript:alert(1)',
|
|
71
|
+
'%64ata:text/html,<script>alert(1)</script>',
|
|
72
|
+
'vb%73cript:msgbox(1)'
|
|
73
|
+
]
|
|
74
|
+
|
|
75
|
+
for (const uri of inputs) {
|
|
76
|
+
const parsed = fastURI.parse(uri)
|
|
77
|
+
t.equal(parsed.error, MALFORMED_SCHEME_ERROR, uri + ' is malformed')
|
|
78
|
+
t.notOk(/^(?:javascript|data|vbscript):/i.test(String(parsed.scheme) + ':'), uri + ' parsed scheme is not decoded')
|
|
79
|
+
t.equal(fastURI.normalize(uri), uri, uri + ' normalizes to itself')
|
|
80
|
+
t.equal(fastURI.equal(uri, uri), false, uri + ' is not comparable')
|
|
81
|
+
t.throws(() => fastURI.resolve('https://example.com/app/', uri), /URI scheme is malformed\./, uri + ' is rejected by resolve')
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
t.equal(fastURI.equal('%68ttp://a/', 'http://a/'), false, 'encoded scheme does not alias a plain scheme')
|
|
56
85
|
t.end()
|
|
57
86
|
})
|
|
58
87
|
|
|
@@ -95,11 +124,21 @@ test('resolve rejects malformed decoded schemes in either input', (t) => {
|
|
|
95
124
|
t.end()
|
|
96
125
|
})
|
|
97
126
|
|
|
98
|
-
test('serialize validates
|
|
127
|
+
test('serialize validates component schemes without decoding them', (t) => {
|
|
99
128
|
t.equal(
|
|
100
|
-
fastURI.serialize({ scheme: 'foo
|
|
129
|
+
fastURI.serialize({ scheme: 'foo+bar', path: 'value' }),
|
|
101
130
|
'foo+bar:value',
|
|
102
|
-
'valid
|
|
131
|
+
'valid scheme is serialized'
|
|
132
|
+
)
|
|
133
|
+
t.throws(
|
|
134
|
+
() => fastURI.serialize({ scheme: 'foo%2Bbar', path: 'value' }),
|
|
135
|
+
/URI scheme is malformed\./,
|
|
136
|
+
'percent-encoded scheme is rejected'
|
|
137
|
+
)
|
|
138
|
+
t.throws(
|
|
139
|
+
() => fastURI.serialize({ scheme: '%6Aavascript', path: 'alert(1)' }),
|
|
140
|
+
/URI scheme is malformed\./,
|
|
141
|
+
'encoded scheme cannot serialize as javascript:'
|
|
103
142
|
)
|
|
104
143
|
t.throws(
|
|
105
144
|
() => fastURI.serialize({ scheme: '//evil.example', path: '/pwn' }),
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
[](https://github.com/honojs/hono/commits/main)
|
|
18
18
|
[](https://codecov.io/github/honojs/hono)
|
|
19
19
|
[](https://discord.gg/KMh2eNSdxV)
|
|
20
|
-
[](https://deepwiki.com/honojs/hono)
|
|
21
20
|
|
|
22
21
|
Hono - _**means flame🔥 in Japanese**_ - is a small, simple, and ultrafast web framework built on Web Standards. It works on any JavaScript runtime: Cloudflare Workers, Fastly Compute, Deno, Bun, Vercel, AWS Lambda, Lambda@Edge, and Node.js.
|
|
23
22
|
|
|
@@ -63,9 +62,9 @@ The migration guide is available on [docs/MIGRATION.md](docs/MIGRATION.md).
|
|
|
63
62
|
Contributions Welcome! You can contribute in the following ways.
|
|
64
63
|
|
|
65
64
|
- Create an Issue - Propose a new feature. Report a bug.
|
|
66
|
-
-
|
|
67
|
-
- Create third-party middleware - See [Third-party middleware](docs/CONTRIBUTING.md#third-party-middleware).
|
|
65
|
+
- Build middleware and libraries - Grow the Hono ecosystem.
|
|
68
66
|
- Share - Share your thoughts on the Blog, X, and others.
|
|
67
|
+
- Sponsor - Support the maintainers through GitHub Sponsors: [@yusukebe](https://github.com/sponsors/yusukebe) and [@usualoma](https://github.com/sponsors/usualoma).
|
|
69
68
|
- Make your application - Please try to use Hono.
|
|
70
69
|
|
|
71
70
|
For more details, see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md).
|
|
@@ -46,7 +46,11 @@ const isValidKeyframeName = (name) => isValidClassName(name) && !RESERVED_KEYFRA
|
|
|
46
46
|
const defaultOnInvalidSlug = (slug) => {
|
|
47
47
|
console.warn(`Invalid slug: ${slug}`);
|
|
48
48
|
};
|
|
49
|
-
const cssStringReStr = [
|
|
49
|
+
const cssStringReStr = [
|
|
50
|
+
"\"(?:(?:\\\\[\\s\\S]|[^\"\\\\])*)\"",
|
|
51
|
+
"'(?:(?:\\\\[\\s\\S]|[^'\\\\])*)'",
|
|
52
|
+
"url\\(\\s*[^)\"'\\s]*\\s*\\)"
|
|
53
|
+
].join("|");
|
|
50
54
|
const minifyCssRe = new RegExp([
|
|
51
55
|
"(" + cssStringReStr + ")",
|
|
52
56
|
"(?:" + [
|
|
@@ -56,11 +60,12 @@ const minifyCssRe = new RegExp([
|
|
|
56
60
|
"\\s+$"
|
|
57
61
|
].join("|") + ")",
|
|
58
62
|
"\\s*;\\s*(}|$)\\s*",
|
|
59
|
-
"\\s*([{}
|
|
63
|
+
"\\s*([{};,])\\s*",
|
|
64
|
+
"(:)\\s*",
|
|
60
65
|
"(\\s)\\s+"
|
|
61
66
|
].join("|"), "g");
|
|
62
67
|
const minify = (css) => {
|
|
63
|
-
return css.replace(minifyCssRe, (_, $1, $2, $3, $4) => $1 || $2 || $3 || $4 || "");
|
|
68
|
+
return css.replace(minifyCssRe, (_, $1, $2, $3, $4, $5) => $1 || $2 || $3 || $4 || $5 || "");
|
|
64
69
|
};
|
|
65
70
|
const buildStyleString = (strings, values) => {
|
|
66
71
|
const selectors = [];
|
|
@@ -21,7 +21,7 @@ const createCssContext = ({ id, classNameSlug, onInvalidSlug }) => {
|
|
|
21
21
|
const [cssJsxDomObject, StyleRenderToDom] = require_jsx_dom_css.createCssJsxDomObjects({ id });
|
|
22
22
|
const contextMap = /* @__PURE__ */ new WeakMap();
|
|
23
23
|
const nonceMap = /* @__PURE__ */ new WeakMap();
|
|
24
|
-
const replaceStyleRe = new RegExp(`(<style id="${id}"(?: nonce="[^"]*")?>.*?)(</style>)
|
|
24
|
+
const replaceStyleRe = new RegExp(`(<style id="${id}"(?: nonce="[^"]*")?>.*?)(</style>)`, "s");
|
|
25
25
|
const newCssClassNameObject = (cssClassName) => {
|
|
26
26
|
const appendStyle = ({ buffer, context }) => {
|
|
27
27
|
const [toAdd, added] = contextMap.get(context);
|
|
@@ -111,7 +111,9 @@ const basePath = (c, index) => {
|
|
|
111
111
|
const pattern = require_utils_url.getPattern(paths[i], paths[i + 1]);
|
|
112
112
|
if (pattern) {
|
|
113
113
|
const re = pattern[2] === true || pattern === "*" ? /[^\/]+/ : pattern[2];
|
|
114
|
-
|
|
114
|
+
const restPath = reqPath.substring(basePathLength + 1);
|
|
115
|
+
const segment = restPath.split("/", 1)[0];
|
|
116
|
+
basePathLength += (restPath.match(re)?.[0] ?? (re.test(segment) ? segment : "")).length;
|
|
115
117
|
} else basePathLength += paths[i].length;
|
|
116
118
|
basePathLength += 1;
|
|
117
119
|
}
|
|
@@ -240,7 +240,7 @@ const cloneElement = (element, props, ...children) => {
|
|
|
240
240
|
if (children.length > 0) childrenToClone = children;
|
|
241
241
|
else {
|
|
242
242
|
const c = element.props.children;
|
|
243
|
-
childrenToClone = Array.isArray(c) ? c : [c];
|
|
243
|
+
childrenToClone = c !== void 0 ? Array.isArray(c) ? c : [c] : [];
|
|
244
244
|
}
|
|
245
245
|
return jsx(element.tag, {
|
|
246
246
|
...element.props,
|
|
@@ -53,6 +53,14 @@ const bearerAuth = (options) => {
|
|
|
53
53
|
const wwwAuthenticateHeaderValue = typeof wwwAuthenticateHeader === "function" ? await wwwAuthenticateHeader(c) : wwwAuthenticateHeader;
|
|
54
54
|
const headers = { "WWW-Authenticate": typeof wwwAuthenticateHeaderValue === "string" ? wwwAuthenticateHeaderValue : `${wwwAuthenticatePrefix}${Object.entries(wwwAuthenticateHeaderValue).map(([key, value]) => `${key}="${value}"`).join(",")}` };
|
|
55
55
|
const responseMessage = typeof messageOption === "function" ? await messageOption(c) : messageOption;
|
|
56
|
+
if (responseMessage instanceof Response) {
|
|
57
|
+
const resHeaders = new Headers(responseMessage.headers);
|
|
58
|
+
if (!resHeaders.has("WWW-Authenticate")) resHeaders.set("WWW-Authenticate", headers["WWW-Authenticate"]);
|
|
59
|
+
throw new require_http_exception.HTTPException(responseMessage.status, { res: new Response(responseMessage.body, {
|
|
60
|
+
status: responseMessage.status,
|
|
61
|
+
headers: resHeaders
|
|
62
|
+
}) });
|
|
63
|
+
}
|
|
56
64
|
const res = typeof responseMessage === "string" ? new Response(responseMessage, {
|
|
57
65
|
status,
|
|
58
66
|
headers
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_utils_url = require("../../utils/url.js");
|
|
3
|
+
const require_utils_accept = require("../../utils/accept.js");
|
|
3
4
|
const require_utils_compress = require("../../utils/compress.js");
|
|
4
5
|
const require_utils_mime = require("../../utils/mime.js");
|
|
5
6
|
const require_middleware_serve_static_path = require("./path.js");
|
|
@@ -20,6 +21,7 @@ const serveStatic = (options) => {
|
|
|
20
21
|
const join = options.join ?? require_middleware_serve_static_path.defaultJoin;
|
|
21
22
|
return async (c, next) => {
|
|
22
23
|
if (c.finalized) return next();
|
|
24
|
+
if (c.req.method !== "GET" && c.req.method !== "HEAD") return next();
|
|
23
25
|
let filename;
|
|
24
26
|
if (options.path) filename = options.path;
|
|
25
27
|
else try {
|
|
@@ -39,7 +41,7 @@ const serveStatic = (options) => {
|
|
|
39
41
|
const mimeType = options.mimes && require_utils_mime.getMimeType(path, options.mimes) || require_utils_mime.getMimeType(path);
|
|
40
42
|
c.header("Content-Type", mimeType || "application/octet-stream");
|
|
41
43
|
if (options.precompressed && (!mimeType || require_utils_compress.COMPRESSIBLE_CONTENT_TYPE_REGEX.test(mimeType))) {
|
|
42
|
-
const acceptEncodingSet = new Set(c.req.header("Accept-Encoding")
|
|
44
|
+
const acceptEncodingSet = new Set(require_utils_accept.parseAccept(c.req.header("Accept-Encoding") ?? "").filter((encoding) => encoding.q > 0).map((encoding) => encoding.type));
|
|
43
45
|
for (const encoding of ENCODINGS_ORDERED_KEYS) {
|
|
44
46
|
if (!acceptEncodingSet.has(encoding)) continue;
|
|
45
47
|
const compressedContent = await getContent(path + ENCODINGS[encoding], c);
|
|
@@ -98,7 +98,7 @@ var Node = class Node {
|
|
|
98
98
|
const restPathString = path.slice(partOffsets[i]);
|
|
99
99
|
const m = matcher.exec(restPathString);
|
|
100
100
|
if (m) {
|
|
101
|
-
params[name] = m[0];
|
|
101
|
+
if (!Object.hasOwn(params, name)) params[name] = m[0];
|
|
102
102
|
this.#pushHandlerSets(handlerSets, child, method, node.#params, params);
|
|
103
103
|
if (m[0].length === restPathString.length && child.#children["*"]) this.#pushHandlerSets(handlerSets, child.#children["*"], method, node.#params, params);
|
|
104
104
|
for (const _ in child.#children) {
|
|
@@ -111,7 +111,7 @@ var Node = class Node {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
if (matcher === true || matcher.test(part)) {
|
|
114
|
-
params[name] = part;
|
|
114
|
+
if (!Object.hasOwn(params, name)) params[name] = part;
|
|
115
115
|
if (isLast) {
|
|
116
116
|
this.#pushHandlerSets(handlerSets, child, method, params, node.#params);
|
|
117
117
|
if (child.#children["*"]) this.#pushHandlerSets(handlerSets, child.#children["*"], method, params, node.#params);
|
|
@@ -154,16 +154,21 @@ const _getQueryParam = (url, key, multiple) => {
|
|
|
154
154
|
if (hashIndex !== -1) url = url.slice(0, hashIndex);
|
|
155
155
|
let encoded;
|
|
156
156
|
if (!multiple && key && key.indexOf("%") === -1 && key.indexOf("+") === -1) {
|
|
157
|
-
|
|
157
|
+
const queryIndex = url.indexOf("?", 8);
|
|
158
|
+
let keyIndex = queryIndex;
|
|
158
159
|
if (keyIndex === -1) return;
|
|
159
160
|
if (!url.startsWith(key, keyIndex + 1)) keyIndex = url.indexOf(`&${key}`, keyIndex + 1);
|
|
160
161
|
while (keyIndex !== -1) {
|
|
161
162
|
const trailingKeyCode = url.charCodeAt(keyIndex + key.length + 1);
|
|
162
|
-
if (trailingKeyCode === 61) {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
if (trailingKeyCode === 61 || trailingKeyCode === 38 || isNaN(trailingKeyCode)) {
|
|
164
|
+
if (keyIndex > queryIndex && /(?:^|&)[^=&]*[%+]/.test(url.slice(queryIndex + 1, keyIndex))) break;
|
|
165
|
+
if (trailingKeyCode === 61) {
|
|
166
|
+
const valueIndex = keyIndex + key.length + 2;
|
|
167
|
+
const endIndex = url.indexOf("&", valueIndex);
|
|
168
|
+
return _decodeURI(url.slice(valueIndex, endIndex === -1 ? void 0 : endIndex));
|
|
169
|
+
}
|
|
170
|
+
return "";
|
|
171
|
+
}
|
|
167
172
|
keyIndex = url.indexOf(`&${key}`, keyIndex + 1);
|
|
168
173
|
}
|
|
169
174
|
encoded = /[%+]/.test(url);
|
|
@@ -45,7 +45,11 @@ const isValidKeyframeName = (name) => isValidClassName(name) && !RESERVED_KEYFRA
|
|
|
45
45
|
const defaultOnInvalidSlug = (slug) => {
|
|
46
46
|
console.warn(`Invalid slug: ${slug}`);
|
|
47
47
|
};
|
|
48
|
-
const cssStringReStr = [
|
|
48
|
+
const cssStringReStr = [
|
|
49
|
+
"\"(?:(?:\\\\[\\s\\S]|[^\"\\\\])*)\"",
|
|
50
|
+
"'(?:(?:\\\\[\\s\\S]|[^'\\\\])*)'",
|
|
51
|
+
"url\\(\\s*[^)\"'\\s]*\\s*\\)"
|
|
52
|
+
].join("|");
|
|
49
53
|
const minifyCssRe = new RegExp([
|
|
50
54
|
"(" + cssStringReStr + ")",
|
|
51
55
|
"(?:" + [
|
|
@@ -55,11 +59,12 @@ const minifyCssRe = new RegExp([
|
|
|
55
59
|
"\\s+$"
|
|
56
60
|
].join("|") + ")",
|
|
57
61
|
"\\s*;\\s*(}|$)\\s*",
|
|
58
|
-
"\\s*([{}
|
|
62
|
+
"\\s*([{};,])\\s*",
|
|
63
|
+
"(:)\\s*",
|
|
59
64
|
"(\\s)\\s+"
|
|
60
65
|
].join("|"), "g");
|
|
61
66
|
const minify = (css) => {
|
|
62
|
-
return css.replace(minifyCssRe, (_, $1, $2, $3, $4) => $1 || $2 || $3 || $4 || "");
|
|
67
|
+
return css.replace(minifyCssRe, (_, $1, $2, $3, $4, $5) => $1 || $2 || $3 || $4 || $5 || "");
|
|
63
68
|
};
|
|
64
69
|
const buildStyleString = (strings, values) => {
|
|
65
70
|
const selectors = [];
|
|
@@ -20,7 +20,7 @@ const createCssContext = ({ id, classNameSlug, onInvalidSlug }) => {
|
|
|
20
20
|
const [cssJsxDomObject, StyleRenderToDom] = createCssJsxDomObjects({ id });
|
|
21
21
|
const contextMap = /* @__PURE__ */ new WeakMap();
|
|
22
22
|
const nonceMap = /* @__PURE__ */ new WeakMap();
|
|
23
|
-
const replaceStyleRe = new RegExp(`(<style id="${id}"(?: nonce="[^"]*")?>.*?)(</style>)
|
|
23
|
+
const replaceStyleRe = new RegExp(`(<style id="${id}"(?: nonce="[^"]*")?>.*?)(</style>)`, "s");
|
|
24
24
|
const newCssClassNameObject = (cssClassName) => {
|
|
25
25
|
const appendStyle = ({ buffer, context }) => {
|
|
26
26
|
const [toAdd, added] = contextMap.get(context);
|
|
@@ -110,7 +110,9 @@ const basePath = (c, index) => {
|
|
|
110
110
|
const pattern = getPattern(paths[i], paths[i + 1]);
|
|
111
111
|
if (pattern) {
|
|
112
112
|
const re = pattern[2] === true || pattern === "*" ? /[^\/]+/ : pattern[2];
|
|
113
|
-
|
|
113
|
+
const restPath = reqPath.substring(basePathLength + 1);
|
|
114
|
+
const segment = restPath.split("/", 1)[0];
|
|
115
|
+
basePathLength += (restPath.match(re)?.[0] ?? (re.test(segment) ? segment : "")).length;
|
|
114
116
|
} else basePathLength += paths[i].length;
|
|
115
117
|
basePathLength += 1;
|
|
116
118
|
}
|
|
@@ -239,7 +239,7 @@ const cloneElement = (element, props, ...children) => {
|
|
|
239
239
|
if (children.length > 0) childrenToClone = children;
|
|
240
240
|
else {
|
|
241
241
|
const c = element.props.children;
|
|
242
|
-
childrenToClone = Array.isArray(c) ? c : [c];
|
|
242
|
+
childrenToClone = c !== void 0 ? Array.isArray(c) ? c : [c] : [];
|
|
243
243
|
}
|
|
244
244
|
return jsx(element.tag, {
|
|
245
245
|
...element.props,
|
|
@@ -52,6 +52,14 @@ const bearerAuth = (options) => {
|
|
|
52
52
|
const wwwAuthenticateHeaderValue = typeof wwwAuthenticateHeader === "function" ? await wwwAuthenticateHeader(c) : wwwAuthenticateHeader;
|
|
53
53
|
const headers = { "WWW-Authenticate": typeof wwwAuthenticateHeaderValue === "string" ? wwwAuthenticateHeaderValue : `${wwwAuthenticatePrefix}${Object.entries(wwwAuthenticateHeaderValue).map(([key, value]) => `${key}="${value}"`).join(",")}` };
|
|
54
54
|
const responseMessage = typeof messageOption === "function" ? await messageOption(c) : messageOption;
|
|
55
|
+
if (responseMessage instanceof Response) {
|
|
56
|
+
const resHeaders = new Headers(responseMessage.headers);
|
|
57
|
+
if (!resHeaders.has("WWW-Authenticate")) resHeaders.set("WWW-Authenticate", headers["WWW-Authenticate"]);
|
|
58
|
+
throw new HTTPException(responseMessage.status, { res: new Response(responseMessage.body, {
|
|
59
|
+
status: responseMessage.status,
|
|
60
|
+
headers: resHeaders
|
|
61
|
+
}) });
|
|
62
|
+
}
|
|
55
63
|
const res = typeof responseMessage === "string" ? new Response(responseMessage, {
|
|
56
64
|
status,
|
|
57
65
|
headers
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { tryDecodeURI } from "../../utils/url.js";
|
|
2
|
+
import { parseAccept } from "../../utils/accept.js";
|
|
2
3
|
import { COMPRESSIBLE_CONTENT_TYPE_REGEX } from "../../utils/compress.js";
|
|
3
4
|
import { getMimeType } from "../../utils/mime.js";
|
|
4
5
|
import { defaultJoin } from "./path.js";
|
|
@@ -19,6 +20,7 @@ const serveStatic = (options) => {
|
|
|
19
20
|
const join = options.join ?? defaultJoin;
|
|
20
21
|
return async (c, next) => {
|
|
21
22
|
if (c.finalized) return next();
|
|
23
|
+
if (c.req.method !== "GET" && c.req.method !== "HEAD") return next();
|
|
22
24
|
let filename;
|
|
23
25
|
if (options.path) filename = options.path;
|
|
24
26
|
else try {
|
|
@@ -38,7 +40,7 @@ const serveStatic = (options) => {
|
|
|
38
40
|
const mimeType = options.mimes && getMimeType(path, options.mimes) || getMimeType(path);
|
|
39
41
|
c.header("Content-Type", mimeType || "application/octet-stream");
|
|
40
42
|
if (options.precompressed && (!mimeType || COMPRESSIBLE_CONTENT_TYPE_REGEX.test(mimeType))) {
|
|
41
|
-
const acceptEncodingSet = new Set(c.req.header("Accept-Encoding")
|
|
43
|
+
const acceptEncodingSet = new Set(parseAccept(c.req.header("Accept-Encoding") ?? "").filter((encoding) => encoding.q > 0).map((encoding) => encoding.type));
|
|
42
44
|
for (const encoding of ENCODINGS_ORDERED_KEYS) {
|
|
43
45
|
if (!acceptEncodingSet.has(encoding)) continue;
|
|
44
46
|
const compressedContent = await getContent(path + ENCODINGS[encoding], c);
|
|
@@ -97,7 +97,7 @@ var Node = class Node {
|
|
|
97
97
|
const restPathString = path.slice(partOffsets[i]);
|
|
98
98
|
const m = matcher.exec(restPathString);
|
|
99
99
|
if (m) {
|
|
100
|
-
params[name] = m[0];
|
|
100
|
+
if (!Object.hasOwn(params, name)) params[name] = m[0];
|
|
101
101
|
this.#pushHandlerSets(handlerSets, child, method, node.#params, params);
|
|
102
102
|
if (m[0].length === restPathString.length && child.#children["*"]) this.#pushHandlerSets(handlerSets, child.#children["*"], method, node.#params, params);
|
|
103
103
|
for (const _ in child.#children) {
|
|
@@ -110,7 +110,7 @@ var Node = class Node {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
if (matcher === true || matcher.test(part)) {
|
|
113
|
-
params[name] = part;
|
|
113
|
+
if (!Object.hasOwn(params, name)) params[name] = part;
|
|
114
114
|
if (isLast) {
|
|
115
115
|
this.#pushHandlerSets(handlerSets, child, method, params, node.#params);
|
|
116
116
|
if (child.#children["*"]) this.#pushHandlerSets(handlerSets, child.#children["*"], method, params, node.#params);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GetConnInfo } from "../../helper/conninfo/
|
|
1
|
+
import { GetConnInfo } from "../../helper/conninfo/index.js";
|
|
2
2
|
//#region src/adapter/cloudflare-workers/conninfo.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* @deprecated `hono/cloudflare-workers` will be removed in v5. Install `@hono/cloudflare-workers` and import from there instead.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GetConnInfo } from "../../helper/conninfo/
|
|
1
|
+
import { GetConnInfo } from "../../helper/conninfo/index.js";
|
|
2
2
|
//#region src/adapter/lambda-edge/conninfo.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* @deprecated `hono/lambda-edge` will be removed in v5. Install `@hono/lambda-edge` and import from there instead.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GetConnInfo } from "../../helper/conninfo/
|
|
1
|
+
import { GetConnInfo } from "../../helper/conninfo/index.js";
|
|
2
2
|
//#region src/adapter/vercel/conninfo.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* @deprecated `hono/vercel` will be removed in v5. Install `@hono/vercel` and import from there instead.
|
|
@@ -2,7 +2,8 @@ import { UnionToIntersection } from "../../utils/types.js";
|
|
|
2
2
|
import { Schema } from "../../types.js";
|
|
3
3
|
import { ExecutionContext } from "../../context.js";
|
|
4
4
|
import { Hono } from "../../hono.js";
|
|
5
|
-
import {
|
|
5
|
+
import { ClientRequestOptions } from "../../client/index.js";
|
|
6
|
+
import { Client } from "../../client/types.js";
|
|
6
7
|
//#region src/helper/testing/index.d.ts
|
|
7
8
|
type ExtractEnv<T> = T extends Hono<infer E, Schema, string> ? E : never;
|
|
8
9
|
export declare const testClient: <T extends Hono<any, Schema, string>>(app: T, Env?: ExtractEnv<T>["Bindings"] | {}, executionCtx?: ExecutionContext, options?: Omit<ClientRequestOptions, "fetch">) => UnionToIntersection<Client<T, "http://localhost">>;
|
|
@@ -6,14 +6,6 @@ type GetPath<E extends Env> = (request: Request, options?: {
|
|
|
6
6
|
env?: E['Bindings'];
|
|
7
7
|
}) => string;
|
|
8
8
|
export type HonoOptions<E extends Env> = {
|
|
9
|
-
/**
|
|
10
|
-
* `strict` option specifies whether to distinguish whether the last path is a directory or not.
|
|
11
|
-
*
|
|
12
|
-
* @see {@link https://hono.dev/docs/api/hono#strict-mode}
|
|
13
|
-
*
|
|
14
|
-
* @default true
|
|
15
|
-
*/
|
|
16
|
-
strict?: boolean;
|
|
17
9
|
/**
|
|
18
10
|
* `router` option specifies which router to use.
|
|
19
11
|
*
|
|
@@ -25,6 +17,15 @@ export type HonoOptions<E extends Env> = {
|
|
|
25
17
|
* ```
|
|
26
18
|
*/
|
|
27
19
|
router?: Router<[H, RouterRoute]>;
|
|
20
|
+
} & ({
|
|
21
|
+
/**
|
|
22
|
+
* `strict` option specifies whether to distinguish whether the last path is a directory or not.
|
|
23
|
+
*
|
|
24
|
+
* @see {@link https://hono.dev/docs/api/hono#strict-mode}
|
|
25
|
+
*
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
strict?: true;
|
|
28
29
|
/**
|
|
29
30
|
* `getPath` can handle the host header value.
|
|
30
31
|
*
|
|
@@ -46,7 +47,18 @@ export type HonoOptions<E extends Env> = {
|
|
|
46
47
|
* ```
|
|
47
48
|
*/
|
|
48
49
|
getPath?: GetPath<E>;
|
|
49
|
-
}
|
|
50
|
+
} | {
|
|
51
|
+
/**
|
|
52
|
+
* `strict` option specifies whether to distinguish whether the last path is a directory or not.
|
|
53
|
+
* When `strict` is `false`, `getPath` is not used.
|
|
54
|
+
*
|
|
55
|
+
* @see {@link https://hono.dev/docs/api/hono#strict-mode}
|
|
56
|
+
*
|
|
57
|
+
* @default true
|
|
58
|
+
*/
|
|
59
|
+
strict: false;
|
|
60
|
+
getPath?: never;
|
|
61
|
+
});
|
|
50
62
|
type MountOptionHandler = (c: Context) => unknown;
|
|
51
63
|
type MountReplaceRequest = (originalRequest: Request) => Request;
|
|
52
64
|
type MountOptions = MountOptionHandler | {
|
|
@@ -2,5 +2,5 @@ import { Env, ErrorHandler, Handler, Input, MiddlewareHandler, Next, NotFoundHan
|
|
|
2
2
|
import { HonoRequest } from "./request.js";
|
|
3
3
|
import { Context, ContextRenderer, ContextVariableMap, ExecutionContext } from "./context.js";
|
|
4
4
|
import { Hono } from "./hono.js";
|
|
5
|
-
import { ClientRequestOptions, InferRequestType, InferResponseType } from "./client/
|
|
5
|
+
import { ClientRequestOptions, InferRequestType, InferResponseType } from "./client/index.js";
|
|
6
6
|
export { type ClientRequestOptions, Context, type ContextRenderer, type ContextVariableMap, type Env, type ErrorHandler, type ExecutionContext, type Handler, Hono, type HonoRequest, type InferRequestType, type InferResponseType, type Input, type MiddlewareHandler, type Next, type NotFoundHandler, type NotFoundResponse, type Schema, type ToSchema, type TypedResponse, type ValidationTargets };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HtmlEscapedString } from "../utils/html.js";
|
|
2
|
-
import { PropsWithChildren } from "./
|
|
3
|
-
import { Child, FC } from "./
|
|
2
|
+
import { PropsWithChildren } from "./index.js";
|
|
3
|
+
import { Child, FC } from "./index.js";
|
|
4
4
|
//#region src/jsx/components.d.ts
|
|
5
5
|
export declare const childrenToString: (children: Child[]) => Promise<HtmlEscapedString[]>;
|
|
6
6
|
export type ErrorHandler = (error: Error) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PropsWithChildren } from "./
|
|
2
|
-
import { FC } from "./
|
|
1
|
+
import { PropsWithChildren } from "./index.js";
|
|
2
|
+
import { FC } from "./index.js";
|
|
3
3
|
//#region src/jsx/context.d.ts
|
|
4
4
|
export interface Context<T> extends FC<PropsWithChildren<{
|
|
5
5
|
value: T;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ErrorHandler, FallbackRender } from "../components.js";
|
|
2
|
-
import { PropsWithChildren } from "../
|
|
3
|
-
import { Child, FC } from "../
|
|
2
|
+
import { PropsWithChildren } from "../index.js";
|
|
3
|
+
import { Child, FC } from "../index.js";
|
|
4
4
|
//#region src/jsx/dom/components.d.ts
|
|
5
5
|
export declare const ErrorBoundary: FC<PropsWithChildren<{
|
|
6
6
|
fallback?: Child;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClassNameSlug, CssClassName, CssVariableType, OnInvalidSlug, rawCssString } from "../../helper/css/common.js";
|
|
2
|
-
import { PropsWithChildren } from "../
|
|
3
|
-
import { FC } from "../
|
|
2
|
+
import { PropsWithChildren } from "../index.js";
|
|
3
|
+
import { FC } from "../index.js";
|
|
4
4
|
//#region src/jsx/dom/css.d.ts
|
|
5
5
|
interface CreateCssJsxDomObjectsType {
|
|
6
6
|
(args: {
|