agentnetes 0.1.3 → 0.1.5
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/index.js +0 -4
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -0
- package/web/.next/app-path-routes-manifest.json +9 -0
- package/web/.next/build-manifest.json +21 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/api-client/api-client.js +412 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/api-client/api-error.js +34 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/api-client/base-client.js +128 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/api-client/file-writer.js +63 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/api-client/index.js +21 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/api-client/validators.js +157 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/api-client/with-retry.js +108 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/auth/api.js +28 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/auth/error.js +12 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/auth/file.js +74 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/auth/index.js +27 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/auth/linked-project.js +69 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/auth/oauth.js +269 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/auth/poll-for-token.js +66 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/auth/project.js +80 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/auth/zod.js +20 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/command.js +229 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/index.js +15 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/sandbox.js +515 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/snapshot.js +116 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/array.js +19 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/consume-readable.js +16 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/convert-sandbox.js +14 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/decode-base64-url.js +13 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/dev-credentials.js +196 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/get-credentials.js +156 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/log.js +24 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/network-policy.js +82 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/normalizePath.js +32 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/resolveSignal.js +22 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/utils/types.js +12 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/dist/version.js +6 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/lib/ZodError.js +137 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/lib/errors.js +17 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/lib/external.js +22 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/lib/helpers/errorUtil.js +8 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/lib/helpers/parseUtil.js +125 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/lib/helpers/typeAliases.js +2 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/lib/helpers/util.js +142 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/lib/index.js +33 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/lib/locales/en.js +129 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/lib/types.js +3846 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/node_modules/zod/package.json +122 -0
- package/web/.next/node_modules/@vercel/sandbox-458c632d4d217a3e/package.json +55 -0
- package/web/.next/package.json +1 -0
- package/web/.next/prerender-manifest.json +133 -0
- package/web/.next/required-server-files.json +338 -0
- package/web/.next/routes-manifest.json +87 -0
- package/web/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/_global-error/page/build-manifest.json +17 -0
- package/web/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/web/.next/server/app/_global-error/page.js +9 -0
- package/web/.next/server/app/_global-error/page.js.map +5 -0
- package/web/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/web/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/_global-error.html +1 -0
- package/web/.next/server/app/_global-error.meta +15 -0
- package/web/.next/server/app/_global-error.rsc +14 -0
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/web/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/_not-found/page/build-manifest.json +17 -0
- package/web/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/web/.next/server/app/_not-found/page.js +12 -0
- package/web/.next/server/app/_not-found/page.js.map +5 -0
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/_not-found.html +1 -0
- package/web/.next/server/app/_not-found.meta +16 -0
- package/web/.next/server/app/_not-found.rsc +17 -0
- package/web/.next/server/app/_not-found.segments/_full.segment.rsc +17 -0
- package/web/.next/server/app/_not-found.segments/_head.segment.rsc +5 -0
- package/web/.next/server/app/_not-found.segments/_index.segment.rsc +7 -0
- package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -0
- package/web/.next/server/app/api/chat/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/chat/route/build-manifest.json +9 -0
- package/web/.next/server/app/api/chat/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/chat/route.js +7 -0
- package/web/.next/server/app/api/chat/route.js.map +5 -0
- package/web/.next/server/app/api/chat/route.js.nft.json +1 -0
- package/web/.next/server/app/api/chat/route_client-reference-manifest.js +3 -0
- package/web/.next/server/app/api/config/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/config/route/build-manifest.json +9 -0
- package/web/.next/server/app/api/config/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/config/route.js +6 -0
- package/web/.next/server/app/api/config/route.js.map +5 -0
- package/web/.next/server/app/api/config/route.js.nft.json +1 -0
- package/web/.next/server/app/api/config/route_client-reference-manifest.js +3 -0
- package/web/.next/server/app/demo/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/demo/page/build-manifest.json +17 -0
- package/web/.next/server/app/demo/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/demo/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/demo/page/server-reference-manifest.json +4 -0
- package/web/.next/server/app/demo/page.js +13 -0
- package/web/.next/server/app/demo/page.js.map +5 -0
- package/web/.next/server/app/demo/page.js.nft.json +1 -0
- package/web/.next/server/app/demo/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/demo.html +1 -0
- package/web/.next/server/app/demo.meta +15 -0
- package/web/.next/server/app/demo.rsc +21 -0
- package/web/.next/server/app/demo.segments/_full.segment.rsc +21 -0
- package/web/.next/server/app/demo.segments/_head.segment.rsc +5 -0
- package/web/.next/server/app/demo.segments/_index.segment.rsc +7 -0
- package/web/.next/server/app/demo.segments/_tree.segment.rsc +3 -0
- package/web/.next/server/app/demo.segments/demo/__PAGE__.segment.rsc +9 -0
- package/web/.next/server/app/demo.segments/demo.segment.rsc +5 -0
- package/web/.next/server/app/docs/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/docs/page/build-manifest.json +17 -0
- package/web/.next/server/app/docs/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/docs/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/docs/page/server-reference-manifest.json +4 -0
- package/web/.next/server/app/docs/page.js +13 -0
- package/web/.next/server/app/docs/page.js.map +5 -0
- package/web/.next/server/app/docs/page.js.nft.json +1 -0
- package/web/.next/server/app/docs/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/docs.html +90 -0
- package/web/.next/server/app/docs.meta +15 -0
- package/web/.next/server/app/docs.rsc +21 -0
- package/web/.next/server/app/docs.segments/_full.segment.rsc +21 -0
- package/web/.next/server/app/docs.segments/_head.segment.rsc +5 -0
- package/web/.next/server/app/docs.segments/_index.segment.rsc +7 -0
- package/web/.next/server/app/docs.segments/_tree.segment.rsc +3 -0
- package/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +9 -0
- package/web/.next/server/app/docs.segments/docs.segment.rsc +5 -0
- package/web/.next/server/app/index.html +1 -0
- package/web/.next/server/app/index.meta +14 -0
- package/web/.next/server/app/index.rsc +19 -0
- package/web/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
- package/web/.next/server/app/index.segments/_full.segment.rsc +19 -0
- package/web/.next/server/app/index.segments/_head.segment.rsc +5 -0
- package/web/.next/server/app/index.segments/_index.segment.rsc +7 -0
- package/web/.next/server/app/index.segments/_tree.segment.rsc +3 -0
- package/web/.next/server/app/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/page/build-manifest.json +17 -0
- package/web/.next/server/app/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/page/server-reference-manifest.json +4 -0
- package/web/.next/server/app/page.js +13 -0
- package/web/.next/server/app/page.js.map +5 -0
- package/web/.next/server/app/page.js.nft.json +1 -0
- package/web/.next/server/app/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app-paths-manifest.json +9 -0
- package/web/.next/server/chunks/[externals]_@vercel_sandbox_10gdw~c._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__03un85a._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__0h9pqwt._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__0j8_mc~._.js +347 -0
- package/web/.next/server/chunks/[root-of-the-server]__0nil~wi._.js +3 -0
- package/web/.next/server/chunks/[turbopack]_runtime.js +903 -0
- package/web/.next/server/chunks/_next-internal_server_app_api_chat_route_actions_0tmcf6..js +3 -0
- package/web/.next/server/chunks/_next-internal_server_app_api_config_route_actions_08dm.dx.js +3 -0
- package/web/.next/server/chunks/node_modules_@vercel_oidc_dist_token_0zdeuds.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0.zquoa._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08ixfva._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0amff4c._.js +33 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0o63b-4._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0ouu~81._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rsv.d_._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0wyf~6k._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10xgshr._.js +33 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__12pgiyg._.js +19 -0
- package/web/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
- package/web/.next/server/chunks/ssr/_062mb1e._.js +3 -0
- package/web/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0k77kol.js +3 -0
- package/web/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0eq97pa.js +3 -0
- package/web/.next/server/chunks/ssr/_next-internal_server_app_demo_page_actions_01l~23..js +3 -0
- package/web/.next/server/chunks/ssr/_next-internal_server_app_docs_page_actions_0xq87ie.js +3 -0
- package/web/.next/server/chunks/ssr/_next-internal_server_app_page_actions_09-gtaw.js +3 -0
- package/web/.next/server/chunks/ssr/app_demo_page_tsx_0.31s93._.js +187 -0
- package/web/.next/server/chunks/ssr/app_docs_page_tsx_0a3qz3_._.js +94 -0
- package/web/.next/server/chunks/ssr/app_page_tsx_0es_sk2._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_05cohki._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_09w7yel._.js +33 -0
- package/web/.next/server/chunks/ssr/node_modules_0fx6-.x._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0lynej0._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0n.ghpl._.js +5 -0
- package/web/.next/server/chunks/ssr/node_modules_120b470._.js +5 -0
- package/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_038euao._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_0wzpc4e._.js +6 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_0inhx6q._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0ghu-f7.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0m-ur85.js +4 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rc3ul_.js +4 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0s1~nn6.js +4 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vxsq~1.js +4 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0yygy7n.js +4 -0
- package/web/.next/server/functions-config-manifest.json +8 -0
- package/web/.next/server/middleware-build-manifest.js +21 -0
- package/web/.next/server/middleware-manifest.json +6 -0
- package/web/.next/server/next-font-manifest.js +1 -0
- package/web/.next/server/next-font-manifest.json +6 -0
- package/web/.next/server/pages/404.html +1 -0
- package/web/.next/server/pages/500.html +1 -0
- package/web/.next/server/pages-manifest.json +4 -0
- package/web/.next/server/prefetch-hints.json +1 -0
- package/web/.next/server/server-reference-manifest.js +1 -0
- package/web/.next/server/server-reference-manifest.json +5 -0
- package/web/.next/static/0QnzQ8Z6fEhlhVaWAQ2_v/_buildManifest.js +11 -0
- package/web/.next/static/0QnzQ8Z6fEhlhVaWAQ2_v/_clientMiddlewareManifest.js +1 -0
- package/web/.next/static/0QnzQ8Z6fEhlhVaWAQ2_v/_ssgManifest.js +1 -0
- package/web/.next/static/chunks/01xlw8hd842-c.js +1 -0
- package/web/.next/static/chunks/0257pdz1-imal.js +2 -0
- package/web/.next/static/chunks/03~yq9q893hmn.js +1 -0
- package/web/.next/static/chunks/05bvvz79zswfr.js +1 -0
- package/web/.next/static/chunks/0a4bykb92jbu2.js +3 -0
- package/web/.next/static/chunks/0c50o8a5sgi.n.js +94 -0
- package/web/.next/static/chunks/0d3shmwh5_nmn.js +1 -0
- package/web/.next/static/chunks/0dgq26a5_oy.a.js +4 -0
- package/web/.next/static/chunks/0h4bq73pogmtb.js +1 -0
- package/web/.next/static/chunks/0u46szahhg8-l.js +1 -0
- package/web/.next/static/chunks/0wqf_v9i12zlw.css +1 -0
- package/web/.next/static/chunks/0zarrl-ygjy7b.js +1 -0
- package/web/.next/static/chunks/16i90eio_ss7o.js +31 -0
- package/web/.next/static/chunks/16xltw7vj2r00.js +185 -0
- package/web/.next/static/chunks/turbopack-0hiru4uy9kb-x.js +1 -0
- package/web/node_modules/@img/colour/color.cjs +1596 -0
- package/web/node_modules/@img/colour/index.cjs +1 -0
- package/web/node_modules/@img/colour/package.json +58 -0
- package/web/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/web/node_modules/@img/sharp-darwin-arm64/package.json +40 -0
- package/web/node_modules/@img/sharp-libvips-darwin-arm64/README.md +46 -0
- package/web/node_modules/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +220 -0
- package/web/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +1 -0
- package/web/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib +0 -0
- package/web/node_modules/@img/sharp-libvips-darwin-arm64/package.json +36 -0
- package/web/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +30 -0
- package/web/node_modules/@next/env/dist/index.js +1 -0
- package/web/node_modules/@next/env/package.json +36 -0
- package/web/node_modules/@opentelemetry/api/build/src/api/context.js +81 -0
- package/web/node_modules/@opentelemetry/api/build/src/api/diag.js +93 -0
- package/web/node_modules/@opentelemetry/api/build/src/api/metrics.js +61 -0
- package/web/node_modules/@opentelemetry/api/build/src/api/propagation.js +89 -0
- package/web/node_modules/@opentelemetry/api/build/src/api/trace.js +79 -0
- package/web/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js +63 -0
- package/web/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js +55 -0
- package/web/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js +23 -0
- package/web/node_modules/@opentelemetry/api/build/src/baggage/utils.js +51 -0
- package/web/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js +38 -0
- package/web/node_modules/@opentelemetry/api/build/src/context/context.js +55 -0
- package/web/node_modules/@opentelemetry/api/build/src/context-api.js +24 -0
- package/web/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js +59 -0
- package/web/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js +57 -0
- package/web/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js +45 -0
- package/web/node_modules/@opentelemetry/api/build/src/diag/types.js +44 -0
- package/web/node_modules/@opentelemetry/api/build/src/diag-api.js +29 -0
- package/web/node_modules/@opentelemetry/api/build/src/index.js +81 -0
- package/web/node_modules/@opentelemetry/api/build/src/internal/global-utils.js +64 -0
- package/web/node_modules/@opentelemetry/api/build/src/internal/semver.js +122 -0
- package/web/node_modules/@opentelemetry/api/build/src/metrics/Metric.js +25 -0
- package/web/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js +127 -0
- package/web/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js +31 -0
- package/web/node_modules/@opentelemetry/api/build/src/metrics-api.js +24 -0
- package/web/node_modules/@opentelemetry/api/build/src/platform/index.js +29 -0
- package/web/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.js +22 -0
- package/web/node_modules/@opentelemetry/api/build/src/platform/node/index.js +29 -0
- package/web/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js +34 -0
- package/web/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js +41 -0
- package/web/node_modules/@opentelemetry/api/build/src/propagation-api.js +24 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js +69 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js +75 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js +32 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js +55 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js +54 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js +42 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/context-utils.js +82 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js +103 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js +46 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js +24 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js +27 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/span_kind.js +46 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js +49 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/status.js +23 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js +26 -0
- package/web/node_modules/@opentelemetry/api/build/src/trace-api.js +24 -0
- package/web/node_modules/@opentelemetry/api/build/src/version.js +21 -0
- package/web/node_modules/@opentelemetry/api/package.json +113 -0
- package/web/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
- package/web/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
- package/web/node_modules/@swc/helpers/package.json +471 -0
- package/web/node_modules/@vercel/oidc/dist/auth-config.js +85 -0
- package/web/node_modules/@vercel/oidc/dist/auth-errors.js +43 -0
- package/web/node_modules/@vercel/oidc/dist/get-context.js +34 -0
- package/web/node_modules/@vercel/oidc/dist/get-vercel-oidc-token.js +80 -0
- package/web/node_modules/@vercel/oidc/dist/index.js +41 -0
- package/web/node_modules/@vercel/oidc/dist/oauth.js +88 -0
- package/web/node_modules/@vercel/oidc/dist/token-error.js +40 -0
- package/web/node_modules/@vercel/oidc/dist/token-io.js +78 -0
- package/web/node_modules/@vercel/oidc/dist/token-util.js +202 -0
- package/web/node_modules/@vercel/oidc/dist/token.js +60 -0
- package/web/node_modules/@vercel/oidc/package.json +52 -0
- package/web/node_modules/@vercel/sandbox/dist/api-client/api-client.js +412 -0
- package/web/node_modules/@vercel/sandbox/dist/api-client/api-error.js +34 -0
- package/web/node_modules/@vercel/sandbox/dist/api-client/base-client.js +128 -0
- package/web/node_modules/@vercel/sandbox/dist/api-client/file-writer.js +63 -0
- package/web/node_modules/@vercel/sandbox/dist/api-client/index.js +21 -0
- package/web/node_modules/@vercel/sandbox/dist/api-client/validators.js +157 -0
- package/web/node_modules/@vercel/sandbox/dist/api-client/with-retry.js +108 -0
- package/web/node_modules/@vercel/sandbox/dist/auth/api.js +28 -0
- package/web/node_modules/@vercel/sandbox/dist/auth/error.js +12 -0
- package/web/node_modules/@vercel/sandbox/dist/auth/file.js +74 -0
- package/web/node_modules/@vercel/sandbox/dist/auth/index.js +27 -0
- package/web/node_modules/@vercel/sandbox/dist/auth/linked-project.js +69 -0
- package/web/node_modules/@vercel/sandbox/dist/auth/oauth.js +269 -0
- package/web/node_modules/@vercel/sandbox/dist/auth/poll-for-token.js +66 -0
- package/web/node_modules/@vercel/sandbox/dist/auth/project.js +80 -0
- package/web/node_modules/@vercel/sandbox/dist/auth/zod.js +20 -0
- package/web/node_modules/@vercel/sandbox/dist/command.js +229 -0
- package/web/node_modules/@vercel/sandbox/dist/index.js +15 -0
- package/web/node_modules/@vercel/sandbox/dist/sandbox.js +515 -0
- package/web/node_modules/@vercel/sandbox/dist/snapshot.js +116 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/array.js +19 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/consume-readable.js +16 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/convert-sandbox.js +14 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/decode-base64-url.js +13 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/dev-credentials.js +196 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/get-credentials.js +156 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/log.js +24 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/network-policy.js +82 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/normalizePath.js +32 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/resolveSignal.js +22 -0
- package/web/node_modules/@vercel/sandbox/dist/utils/types.js +12 -0
- package/web/node_modules/@vercel/sandbox/dist/version.js +6 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/lib/ZodError.js +137 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/lib/errors.js +17 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/lib/external.js +22 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/lib/helpers/errorUtil.js +8 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/lib/helpers/parseUtil.js +125 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/lib/helpers/typeAliases.js +2 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/lib/helpers/util.js +142 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/lib/index.js +33 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/lib/locales/en.js +129 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/lib/types.js +3846 -0
- package/web/node_modules/@vercel/sandbox/node_modules/zod/package.json +122 -0
- package/web/node_modules/@vercel/sandbox/package.json +55 -0
- package/web/node_modules/async-retry/lib/index.js +61 -0
- package/web/node_modules/async-retry/package.json +55 -0
- package/web/node_modules/b4a/index.js +188 -0
- package/web/node_modules/b4a/package.json +49 -0
- package/web/node_modules/client-only/index.js +0 -0
- package/web/node_modules/client-only/package.json +19 -0
- package/web/node_modules/detect-libc/lib/detect-libc.js +313 -0
- package/web/node_modules/detect-libc/lib/elf.js +39 -0
- package/web/node_modules/detect-libc/lib/filesystem.js +51 -0
- package/web/node_modules/detect-libc/lib/process.js +24 -0
- package/web/node_modules/detect-libc/package.json +44 -0
- package/web/node_modules/events-universal/default.js +1 -0
- package/web/node_modules/events-universal/package.json +39 -0
- package/web/node_modules/fast-fifo/fixed-size.js +39 -0
- package/web/node_modules/fast-fifo/index.js +48 -0
- package/web/node_modules/fast-fifo/package.json +28 -0
- package/web/node_modules/jsonlines/index.js +10 -0
- package/web/node_modules/jsonlines/lib/parser.js +60 -0
- package/web/node_modules/jsonlines/lib/stringifier.js +26 -0
- package/web/node_modules/jsonlines/package.json +19 -0
- package/web/node_modules/ms/index.js +162 -0
- package/web/node_modules/ms/package.json +38 -0
- package/web/node_modules/next/dist/build/adapter/setup-node-env.external.js +15 -0
- package/web/node_modules/next/dist/build/define-env.js +255 -0
- package/web/node_modules/next/dist/build/duration-to-string.js +99 -0
- package/web/node_modules/next/dist/build/get-supported-browsers.js +38 -0
- package/web/node_modules/next/dist/build/next-config-ts/require-hook.js +85 -0
- package/web/node_modules/next/dist/build/next-config-ts/transpile-config.js +251 -0
- package/web/node_modules/next/dist/build/output/format.js +84 -0
- package/web/node_modules/next/dist/build/output/log.js +135 -0
- package/web/node_modules/next/dist/build/segment-config/app/app-segment-config.js +162 -0
- package/web/node_modules/next/dist/build/segment-config/app/app-segments.js +137 -0
- package/web/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
- package/web/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
- package/web/node_modules/next/dist/build/static-paths/app.js +735 -0
- package/web/node_modules/next/dist/build/static-paths/pages.js +169 -0
- package/web/node_modules/next/dist/build/static-paths/utils.js +119 -0
- package/web/node_modules/next/dist/build/swc/helpers.js +15 -0
- package/web/node_modules/next/dist/build/swc/index.js +1348 -0
- package/web/node_modules/next/dist/build/swc/install-bindings.js +30 -0
- package/web/node_modules/next/dist/build/swc/jest-transformer.js +76 -0
- package/web/node_modules/next/dist/build/swc/loaderWorkerPool.js +40 -0
- package/web/node_modules/next/dist/build/swc/options.js +403 -0
- package/web/node_modules/next/dist/build/swc/types.js +6 -0
- package/web/node_modules/next/dist/build/utils.js +1215 -0
- package/web/node_modules/next/dist/cli/next-test.js +170 -0
- package/web/node_modules/next/dist/client/add-base-path.js +24 -0
- package/web/node_modules/next/dist/client/app-call-server.js +34 -0
- package/web/node_modules/next/dist/client/app-find-source-map-url.js +39 -0
- package/web/node_modules/next/dist/client/assign-location.js +29 -0
- package/web/node_modules/next/dist/client/components/app-router-announcer.js +78 -0
- package/web/node_modules/next/dist/client/components/app-router-headers.js +138 -0
- package/web/node_modules/next/dist/client/components/app-router-instance.js +397 -0
- package/web/node_modules/next/dist/client/components/app-router-utils.js +62 -0
- package/web/node_modules/next/dist/client/components/app-router.js +514 -0
- package/web/node_modules/next/dist/client/components/builtin/default.js +35 -0
- package/web/node_modules/next/dist/client/components/builtin/error-styles.js +165 -0
- package/web/node_modules/next/dist/client/components/builtin/global-error.js +100 -0
- package/web/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +52 -0
- package/web/node_modules/next/dist/client/components/error-boundary.js +144 -0
- package/web/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
- package/web/node_modules/next/dist/client/components/errors/root-error-boundary.js +41 -0
- package/web/node_modules/next/dist/client/components/forbidden.js +48 -0
- package/web/node_modules/next/dist/client/components/handle-isr-error.js +30 -0
- package/web/node_modules/next/dist/client/components/hooks-server-context.js +42 -0
- package/web/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
- package/web/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
- package/web/node_modules/next/dist/client/components/is-next-router-error.js +23 -0
- package/web/node_modules/next/dist/client/components/links.js +299 -0
- package/web/node_modules/next/dist/client/components/match-segments.js +32 -0
- package/web/node_modules/next/dist/client/components/nav-failure-handler.js +61 -0
- package/web/node_modules/next/dist/client/components/navigation-devtools.js +126 -0
- package/web/node_modules/next/dist/client/components/navigation-untracked.js +67 -0
- package/web/node_modules/next/dist/client/components/navigation.js +225 -0
- package/web/node_modules/next/dist/client/components/navigation.react-server.js +75 -0
- package/web/node_modules/next/dist/client/components/not-found.js +42 -0
- package/web/node_modules/next/dist/client/components/readonly-url-search-params.js +41 -0
- package/web/node_modules/next/dist/client/components/redirect-boundary.js +107 -0
- package/web/node_modules/next/dist/client/components/redirect-error.js +43 -0
- package/web/node_modules/next/dist/client/components/redirect-status-code.js +24 -0
- package/web/node_modules/next/dist/client/components/redirect.js +91 -0
- package/web/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +201 -0
- package/web/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
- package/web/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +153 -0
- package/web/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +32 -0
- package/web/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +457 -0
- package/web/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +59 -0
- package/web/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +1341 -0
- package/web/node_modules/next/dist/client/components/router-reducer/reducers/committed-state.js +49 -0
- package/web/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +63 -0
- package/web/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
- package/web/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +23 -0
- package/web/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +56 -0
- package/web/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +83 -0
- package/web/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +62 -0
- package/web/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +320 -0
- package/web/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +58 -0
- package/web/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +70 -0
- package/web/node_modules/next/dist/client/components/router-reducer/router-reducer.js +66 -0
- package/web/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +60 -0
- package/web/node_modules/next/dist/client/components/segment-cache/bfcache.js +128 -0
- package/web/node_modules/next/dist/client/components/segment-cache/cache-key.js +28 -0
- package/web/node_modules/next/dist/client/components/segment-cache/cache-map.js +305 -0
- package/web/node_modules/next/dist/client/components/segment-cache/cache.js +1933 -0
- package/web/node_modules/next/dist/client/components/segment-cache/lru.js +152 -0
- package/web/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +194 -0
- package/web/node_modules/next/dist/client/components/segment-cache/navigation.js +597 -0
- package/web/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +543 -0
- package/web/node_modules/next/dist/client/components/segment-cache/prefetch.js +31 -0
- package/web/node_modules/next/dist/client/components/segment-cache/scheduler.js +1249 -0
- package/web/node_modules/next/dist/client/components/segment-cache/types.js +69 -0
- package/web/node_modules/next/dist/client/components/segment-cache/vary-path.js +278 -0
- package/web/node_modules/next/dist/client/components/static-generation-bailout.js +42 -0
- package/web/node_modules/next/dist/client/components/unauthorized.js +49 -0
- package/web/node_modules/next/dist/client/components/unrecognized-action-error.js +39 -0
- package/web/node_modules/next/dist/client/components/unresolved-thenable.js +23 -0
- package/web/node_modules/next/dist/client/components/unstable-rethrow.browser.js +28 -0
- package/web/node_modules/next/dist/client/components/unstable-rethrow.js +25 -0
- package/web/node_modules/next/dist/client/components/unstable-rethrow.server.js +32 -0
- package/web/node_modules/next/dist/client/components/use-action-queue.js +148 -0
- package/web/node_modules/next/dist/client/dev/debug-channel.js +72 -0
- package/web/node_modules/next/dist/client/flight-data-helpers.js +232 -0
- package/web/node_modules/next/dist/client/has-base-path.js +23 -0
- package/web/node_modules/next/dist/client/lib/console.js +177 -0
- package/web/node_modules/next/dist/client/lib/javascript-url.js +32 -0
- package/web/node_modules/next/dist/client/navigation-build-id.js +53 -0
- package/web/node_modules/next/dist/client/normalize-trailing-slash.js +36 -0
- package/web/node_modules/next/dist/client/remove-base-path.js +32 -0
- package/web/node_modules/next/dist/client/route-params.js +230 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
- package/web/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
- package/web/node_modules/next/dist/compiled/@hapi/accept/index.js +1 -0
- package/web/node_modules/next/dist/compiled/@hapi/accept/package.json +1 -0
- package/web/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
- package/web/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
- package/web/node_modules/next/dist/compiled/@napi-rs/triples/index.js +1 -0
- package/web/node_modules/next/dist/compiled/@napi-rs/triples/package.json +1 -0
- package/web/node_modules/next/dist/compiled/@opentelemetry/api/index.js +1 -0
- package/web/node_modules/next/dist/compiled/@opentelemetry/api/package.json +1 -0
- package/web/node_modules/next/dist/compiled/async-retry/index.js +1 -0
- package/web/node_modules/next/dist/compiled/async-retry/package.json +1 -0
- package/web/node_modules/next/dist/compiled/async-sema/index.js +1 -0
- package/web/node_modules/next/dist/compiled/async-sema/package.json +1 -0
- package/web/node_modules/next/dist/compiled/busboy/index.js +1 -0
- package/web/node_modules/next/dist/compiled/busboy/package.json +1 -0
- package/web/node_modules/next/dist/compiled/bytes/index.js +8 -0
- package/web/node_modules/next/dist/compiled/bytes/package.json +1 -0
- package/web/node_modules/next/dist/compiled/ci-info/index.js +1 -0
- package/web/node_modules/next/dist/compiled/ci-info/package.json +1 -0
- package/web/node_modules/next/dist/compiled/commander/index.js +1 -0
- package/web/node_modules/next/dist/compiled/commander/package.json +1 -0
- package/web/node_modules/next/dist/compiled/comment-json/index.js +7 -0
- package/web/node_modules/next/dist/compiled/comment-json/package.json +1 -0
- package/web/node_modules/next/dist/compiled/compression/index.js +58 -0
- package/web/node_modules/next/dist/compiled/compression/package.json +1 -0
- package/web/node_modules/next/dist/compiled/conf/index.js +15 -0
- package/web/node_modules/next/dist/compiled/conf/package.json +1 -0
- package/web/node_modules/next/dist/compiled/content-disposition/index.js +6 -0
- package/web/node_modules/next/dist/compiled/content-disposition/package.json +1 -0
- package/web/node_modules/next/dist/compiled/cookie/index.js +7 -0
- package/web/node_modules/next/dist/compiled/cookie/package.json +1 -0
- package/web/node_modules/next/dist/compiled/cross-spawn/index.js +1 -0
- package/web/node_modules/next/dist/compiled/cross-spawn/package.json +1 -0
- package/web/node_modules/next/dist/compiled/debug/index.js +1 -0
- package/web/node_modules/next/dist/compiled/debug/package.json +1 -0
- package/web/node_modules/next/dist/compiled/edge-runtime/index.js +1 -0
- package/web/node_modules/next/dist/compiled/edge-runtime/package.json +1 -0
- package/web/node_modules/next/dist/compiled/find-up/index.js +1 -0
- package/web/node_modules/next/dist/compiled/find-up/package.json +1 -0
- package/web/node_modules/next/dist/compiled/fresh/index.js +8 -0
- package/web/node_modules/next/dist/compiled/fresh/package.json +1 -0
- package/web/node_modules/next/dist/compiled/http-proxy/index.js +34 -0
- package/web/node_modules/next/dist/compiled/http-proxy/package.json +1 -0
- package/web/node_modules/next/dist/compiled/image-detector/detector.js +1 -0
- package/web/node_modules/next/dist/compiled/image-size/index.js +1 -0
- package/web/node_modules/next/dist/compiled/image-size/package.json +1 -0
- package/web/node_modules/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
- package/web/node_modules/next/dist/compiled/ipaddr.js/package.json +1 -0
- package/web/node_modules/next/dist/compiled/is-animated/index.js +1 -0
- package/web/node_modules/next/dist/compiled/is-animated/package.json +1 -0
- package/web/node_modules/next/dist/compiled/is-docker/index.js +1 -0
- package/web/node_modules/next/dist/compiled/is-docker/package.json +1 -0
- package/web/node_modules/next/dist/compiled/is-wsl/index.js +1 -0
- package/web/node_modules/next/dist/compiled/is-wsl/package.json +1 -0
- package/web/node_modules/next/dist/compiled/jsonwebtoken/index.js +11 -0
- package/web/node_modules/next/dist/compiled/jsonwebtoken/package.json +1 -0
- package/web/node_modules/next/dist/compiled/nanoid/index.cjs +1 -0
- package/web/node_modules/next/dist/compiled/nanoid/package.json +1 -0
- package/web/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +54 -0
- package/web/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +54 -0
- package/web/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +6 -0
- package/web/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
- package/web/node_modules/next/dist/compiled/p-limit/index.js +1 -0
- package/web/node_modules/next/dist/compiled/p-limit/package.json +1 -0
- package/web/node_modules/next/dist/compiled/p-queue/index.js +1 -0
- package/web/node_modules/next/dist/compiled/p-queue/package.json +1 -0
- package/web/node_modules/next/dist/compiled/path-browserify/index.js +1 -0
- package/web/node_modules/next/dist/compiled/path-browserify/package.json +1 -0
- package/web/node_modules/next/dist/compiled/path-to-regexp/index.js +1 -0
- package/web/node_modules/next/dist/compiled/path-to-regexp/package.json +1 -0
- package/web/node_modules/next/dist/compiled/picomatch/index.js +1 -0
- package/web/node_modules/next/dist/compiled/picomatch/package.json +1 -0
- package/web/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
- package/web/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
- package/web/node_modules/next/dist/compiled/react-is/index.js +7 -0
- package/web/node_modules/next/dist/compiled/react-is/package.json +26 -0
- package/web/node_modules/next/dist/compiled/regenerator-runtime/package.json +19 -0
- package/web/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
- package/web/node_modules/next/dist/compiled/semver/index.js +1 -0
- package/web/node_modules/next/dist/compiled/semver/package.json +1 -0
- package/web/node_modules/next/dist/compiled/send/index.js +70 -0
- package/web/node_modules/next/dist/compiled/send/package.json +1 -0
- package/web/node_modules/next/dist/compiled/source-map/package.json +1 -0
- package/web/node_modules/next/dist/compiled/source-map/source-map.js +1 -0
- package/web/node_modules/next/dist/compiled/stacktrace-parser/package.json +1 -0
- package/web/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
- package/web/node_modules/next/dist/compiled/string-hash/index.js +1 -0
- package/web/node_modules/next/dist/compiled/string-hash/package.json +1 -0
- package/web/node_modules/next/dist/compiled/strip-ansi/index.js +1 -0
- package/web/node_modules/next/dist/compiled/strip-ansi/package.json +1 -0
- package/web/node_modules/next/dist/compiled/superstruct/index.cjs +1 -0
- package/web/node_modules/next/dist/compiled/superstruct/package.json +1 -0
- package/web/node_modules/next/dist/compiled/tar/index.min.js +1 -0
- package/web/node_modules/next/dist/compiled/tar/package.json +1 -0
- package/web/node_modules/next/dist/compiled/text-table/index.js +1 -0
- package/web/node_modules/next/dist/compiled/text-table/package.json +1 -0
- package/web/node_modules/next/dist/compiled/watchpack/package.json +1 -0
- package/web/node_modules/next/dist/compiled/watchpack/watchpack.js +1 -0
- package/web/node_modules/next/dist/compiled/ws/index.js +1 -0
- package/web/node_modules/next/dist/compiled/ws/package.json +1 -0
- package/web/node_modules/next/dist/compiled/zod/index.cjs +1 -0
- package/web/node_modules/next/dist/compiled/zod/package.json +1 -0
- package/web/node_modules/next/dist/compiled/zod-validation-error/index.js +1 -0
- package/web/node_modules/next/dist/compiled/zod-validation-error/package.json +1 -0
- package/web/node_modules/next/dist/experimental/testmode/context.js +57 -0
- package/web/node_modules/next/dist/experimental/testmode/fetch.js +142 -0
- package/web/node_modules/next/dist/experimental/testmode/httpget.js +26 -0
- package/web/node_modules/next/dist/experimental/testmode/server-edge.js +32 -0
- package/web/node_modules/next/dist/experimental/testmode/server.js +62 -0
- package/web/node_modules/next/dist/export/helpers/create-incremental-cache.js +61 -0
- package/web/node_modules/next/dist/lib/batcher.js +65 -0
- package/web/node_modules/next/dist/lib/build-custom-route.js +46 -0
- package/web/node_modules/next/dist/lib/bundler.js +97 -0
- package/web/node_modules/next/dist/lib/client-and-server-references.js +54 -0
- package/web/node_modules/next/dist/lib/coalesced-function.js +39 -0
- package/web/node_modules/next/dist/lib/compile-error.js +14 -0
- package/web/node_modules/next/dist/lib/constants.js +420 -0
- package/web/node_modules/next/dist/lib/create-client-router-filter.js +67 -0
- package/web/node_modules/next/dist/lib/default-transpiled-packages.json +1 -0
- package/web/node_modules/next/dist/lib/detached-promise.js +32 -0
- package/web/node_modules/next/dist/lib/detect-typo.js +51 -0
- package/web/node_modules/next/dist/lib/download-swc.js +183 -0
- package/web/node_modules/next/dist/lib/error-telemetry-utils.js +42 -0
- package/web/node_modules/next/dist/lib/fallback.js +100 -0
- package/web/node_modules/next/dist/lib/fatal-error.js +14 -0
- package/web/node_modules/next/dist/lib/file-exists.js +53 -0
- package/web/node_modules/next/dist/lib/find-config.js +102 -0
- package/web/node_modules/next/dist/lib/find-pages-dir.js +65 -0
- package/web/node_modules/next/dist/lib/find-root.js +126 -0
- package/web/node_modules/next/dist/lib/format-cli-help-output.js +84 -0
- package/web/node_modules/next/dist/lib/format-dynamic-import-path.js +24 -0
- package/web/node_modules/next/dist/lib/format-server-error.js +75 -0
- package/web/node_modules/next/dist/lib/framework/boundary-components.js +62 -0
- package/web/node_modules/next/dist/lib/framework/boundary-constants.js +36 -0
- package/web/node_modules/next/dist/lib/fs/rename.js +87 -0
- package/web/node_modules/next/dist/lib/fs/write-atomic.js +28 -0
- package/web/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +52 -0
- package/web/node_modules/next/dist/lib/get-files-in-dir.js +33 -0
- package/web/node_modules/next/dist/lib/get-network-host.js +44 -0
- package/web/node_modules/next/dist/lib/get-package-version.js +118 -0
- package/web/node_modules/next/dist/lib/get-project-dir.js +51 -0
- package/web/node_modules/next/dist/lib/has-necessary-dependencies.js +49 -0
- package/web/node_modules/next/dist/lib/helpers/get-cache-directory.js +66 -0
- package/web/node_modules/next/dist/lib/helpers/get-npx-command.js +29 -0
- package/web/node_modules/next/dist/lib/helpers/get-online.js +50 -0
- package/web/node_modules/next/dist/lib/helpers/get-pkg-manager.js +63 -0
- package/web/node_modules/next/dist/lib/helpers/get-registry.js +45 -0
- package/web/node_modules/next/dist/lib/helpers/get-reserved-port.js +116 -0
- package/web/node_modules/next/dist/lib/helpers/install.js +83 -0
- package/web/node_modules/next/dist/lib/import-next-warning.js +50 -0
- package/web/node_modules/next/dist/lib/inline-static-env.js +112 -0
- package/web/node_modules/next/dist/lib/install-dependencies.js +40 -0
- package/web/node_modules/next/dist/lib/interop-default.js +16 -0
- package/web/node_modules/next/dist/lib/is-api-route.js +15 -0
- package/web/node_modules/next/dist/lib/is-app-page-route.js +15 -0
- package/web/node_modules/next/dist/lib/is-app-route-route.js +15 -0
- package/web/node_modules/next/dist/lib/is-edge-runtime.js +16 -0
- package/web/node_modules/next/dist/lib/is-error.js +78 -0
- package/web/node_modules/next/dist/lib/is-interception-route-rewrite.js +18 -0
- package/web/node_modules/next/dist/lib/is-internal-component.js +36 -0
- package/web/node_modules/next/dist/lib/is-serializable-props.js +106 -0
- package/web/node_modules/next/dist/lib/known-edge-safe-packages.json +1 -0
- package/web/node_modules/next/dist/lib/load-custom-routes.js +594 -0
- package/web/node_modules/next/dist/lib/memory/gc-observer.js +53 -0
- package/web/node_modules/next/dist/lib/memory/shutdown.js +29 -0
- package/web/node_modules/next/dist/lib/memory/startup.js +47 -0
- package/web/node_modules/next/dist/lib/memory/trace.js +109 -0
- package/web/node_modules/next/dist/lib/metadata/constants.js +40 -0
- package/web/node_modules/next/dist/lib/metadata/default-metadata.js +82 -0
- package/web/node_modules/next/dist/lib/metadata/generate/icon-mark.js +22 -0
- package/web/node_modules/next/dist/lib/metadata/generate/utils.js +52 -0
- package/web/node_modules/next/dist/lib/metadata/get-metadata-route.js +123 -0
- package/web/node_modules/next/dist/lib/metadata/is-metadata-route.js +221 -0
- package/web/node_modules/next/dist/lib/metadata/metadata-context.js +18 -0
- package/web/node_modules/next/dist/lib/metadata/metadata.js +1686 -0
- package/web/node_modules/next/dist/lib/metadata/resolve-metadata.js +884 -0
- package/web/node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
- package/web/node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
- package/web/node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
- package/web/node_modules/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
- package/web/node_modules/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
- package/web/node_modules/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
- package/web/node_modules/next/dist/lib/metadata/types/extra-types.js +9 -0
- package/web/node_modules/next/dist/lib/metadata/types/icons.js +6 -0
- package/web/node_modules/next/dist/lib/metadata/types/manifest-types.js +6 -0
- package/web/node_modules/next/dist/lib/metadata/types/metadata-interface.js +18 -0
- package/web/node_modules/next/dist/lib/metadata/types/metadata-types.js +10 -0
- package/web/node_modules/next/dist/lib/metadata/types/opengraph-types.js +6 -0
- package/web/node_modules/next/dist/lib/metadata/types/resolvers.js +6 -0
- package/web/node_modules/next/dist/lib/metadata/types/twitter-types.js +7 -0
- package/web/node_modules/next/dist/lib/mime-type.js +20 -0
- package/web/node_modules/next/dist/lib/mkcert.js +204 -0
- package/web/node_modules/next/dist/lib/multi-file-writer.js +75 -0
- package/web/node_modules/next/dist/lib/needs-experimental-react.js +16 -0
- package/web/node_modules/next/dist/lib/non-nullable.js +15 -0
- package/web/node_modules/next/dist/lib/normalize-path.js +21 -0
- package/web/node_modules/next/dist/lib/oxford-comma-list.js +15 -0
- package/web/node_modules/next/dist/lib/page-types.js +18 -0
- package/web/node_modules/next/dist/lib/patch-incorrect-lockfile.js +185 -0
- package/web/node_modules/next/dist/lib/pick.js +19 -0
- package/web/node_modules/next/dist/lib/picocolors.js +177 -0
- package/web/node_modules/next/dist/lib/pretty-bytes.js +74 -0
- package/web/node_modules/next/dist/lib/realpath.js +20 -0
- package/web/node_modules/next/dist/lib/recursive-copy.js +76 -0
- package/web/node_modules/next/dist/lib/recursive-delete.js +137 -0
- package/web/node_modules/next/dist/lib/recursive-readdir.js +124 -0
- package/web/node_modules/next/dist/lib/redirect-status.js +46 -0
- package/web/node_modules/next/dist/lib/require-instrumentation-client.js +26 -0
- package/web/node_modules/next/dist/lib/resolve-build-paths.js +154 -0
- package/web/node_modules/next/dist/lib/resolve-from.js +65 -0
- package/web/node_modules/next/dist/lib/route-pattern-normalizer.js +107 -0
- package/web/node_modules/next/dist/lib/scheduler.js +64 -0
- package/web/node_modules/next/dist/lib/semver-noop.js +18 -0
- package/web/node_modules/next/dist/lib/server-external-packages.jsonc +103 -0
- package/web/node_modules/next/dist/lib/setup-exception-listeners.js +11 -0
- package/web/node_modules/next/dist/lib/static-env.js +92 -0
- package/web/node_modules/next/dist/lib/try-to-parse-path.js +67 -0
- package/web/node_modules/next/dist/lib/turbopack-warning.js +185 -0
- package/web/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +243 -0
- package/web/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +73 -0
- package/web/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
- package/web/node_modules/next/dist/lib/typescript/missingDependencyError.js +27 -0
- package/web/node_modules/next/dist/lib/typescript/runTypeCheck.js +149 -0
- package/web/node_modules/next/dist/lib/typescript/type-paths.js +51 -0
- package/web/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +75 -0
- package/web/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +391 -0
- package/web/node_modules/next/dist/lib/url.js +75 -0
- package/web/node_modules/next/dist/lib/verify-partytown-setup.js +115 -0
- package/web/node_modules/next/dist/lib/verify-root-layout.js +165 -0
- package/web/node_modules/next/dist/lib/verify-typescript-setup.js +228 -0
- package/web/node_modules/next/dist/lib/wait.js +19 -0
- package/web/node_modules/next/dist/lib/with-promise-cache.js +24 -0
- package/web/node_modules/next/dist/lib/worker.js +234 -0
- package/web/node_modules/next/dist/server/ReactDOMServerPages.js +16 -0
- package/web/node_modules/next/dist/server/accept-header.js +132 -0
- package/web/node_modules/next/dist/server/after/after-context.js +140 -0
- package/web/node_modules/next/dist/server/after/after.js +26 -0
- package/web/node_modules/next/dist/server/after/awaiter.js +74 -0
- package/web/node_modules/next/dist/server/after/builtin-request-context.js +38 -0
- package/web/node_modules/next/dist/server/after/index.js +21 -0
- package/web/node_modules/next/dist/server/after/run-with-after.js +35 -0
- package/web/node_modules/next/dist/server/api-utils/get-cookie-parser.js +22 -0
- package/web/node_modules/next/dist/server/api-utils/index.js +201 -0
- package/web/node_modules/next/dist/server/api-utils/node/api-resolver.js +395 -0
- package/web/node_modules/next/dist/server/api-utils/node/parse-body.js +79 -0
- package/web/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +86 -0
- package/web/node_modules/next/dist/server/api-utils/web.js +17 -0
- package/web/node_modules/next/dist/server/app-render/action-async-storage-instance.js +14 -0
- package/web/node_modules/next/dist/server/app-render/action-async-storage.external.js +13 -0
- package/web/node_modules/next/dist/server/app-render/action-handler.js +1020 -0
- package/web/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
- package/web/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
- package/web/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +167 -0
- package/web/node_modules/next/dist/server/app-render/app-render-render-utils.js +76 -0
- package/web/node_modules/next/dist/server/app-render/app-render-scheduling.js +188 -0
- package/web/node_modules/next/dist/server/app-render/app-render.js +4469 -0
- package/web/node_modules/next/dist/server/app-render/async-local-storage.js +76 -0
- package/web/node_modules/next/dist/server/app-render/cache-signal.js +181 -0
- package/web/node_modules/next/dist/server/app-render/collect-segment-data.js +600 -0
- package/web/node_modules/next/dist/server/app-render/console-async-storage-instance.js +14 -0
- package/web/node_modules/next/dist/server/app-render/console-async-storage.external.js +13 -0
- package/web/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +33 -0
- package/web/node_modules/next/dist/server/app-render/create-component-tree.js +840 -0
- package/web/node_modules/next/dist/server/app-render/create-error-handler.js +189 -0
- package/web/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +102 -0
- package/web/node_modules/next/dist/server/app-render/csrf-protection.js +86 -0
- package/web/node_modules/next/dist/server/app-render/debug-channel-server.js +30 -0
- package/web/node_modules/next/dist/server/app-render/debug-channel-server.web.js +71 -0
- package/web/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
- package/web/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
- package/web/node_modules/next/dist/server/app-render/dynamic-rendering.js +1144 -0
- package/web/node_modules/next/dist/server/app-render/encryption-utils-server.js +114 -0
- package/web/node_modules/next/dist/server/app-render/encryption-utils.js +93 -0
- package/web/node_modules/next/dist/server/app-render/encryption.js +259 -0
- package/web/node_modules/next/dist/server/app-render/entry-base.js +256 -0
- package/web/node_modules/next/dist/server/app-render/flight-render-result.js +28 -0
- package/web/node_modules/next/dist/server/app-render/get-asset-query-string.js +29 -0
- package/web/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +49 -0
- package/web/node_modules/next/dist/server/app-render/get-layer-assets.js +65 -0
- package/web/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
- package/web/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +44 -0
- package/web/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
- package/web/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
- package/web/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +13 -0
- package/web/node_modules/next/dist/server/app-render/instant-validation/boundary-impl.js +103 -0
- package/web/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +18 -0
- package/web/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +181 -0
- package/web/node_modules/next/dist/server/app-render/instant-validation/instant-samples-client.js +128 -0
- package/web/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +432 -0
- package/web/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +33 -0
- package/web/node_modules/next/dist/server/app-render/instant-validation/instant-validation.js +713 -0
- package/web/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +96 -0
- package/web/node_modules/next/dist/server/app-render/interop-default.js +17 -0
- package/web/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +92 -0
- package/web/node_modules/next/dist/server/app-render/manifests-singleton.js +264 -0
- package/web/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +28 -0
- package/web/node_modules/next/dist/server/app-render/module-loading/track-dynamic-import.js +57 -0
- package/web/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
- package/web/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +66 -0
- package/web/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
- package/web/node_modules/next/dist/server/app-render/postponed-state.js +157 -0
- package/web/node_modules/next/dist/server/app-render/prospective-render-utils.js +74 -0
- package/web/node_modules/next/dist/server/app-render/react-large-shell-error.js +17 -0
- package/web/node_modules/next/dist/server/app-render/react-server.node.js +39 -0
- package/web/node_modules/next/dist/server/app-render/render-css-resource.js +52 -0
- package/web/node_modules/next/dist/server/app-render/required-scripts.js +76 -0
- package/web/node_modules/next/dist/server/app-render/rsc/postpone.js +18 -0
- package/web/node_modules/next/dist/server/app-render/rsc/preloads.js +74 -0
- package/web/node_modules/next/dist/server/app-render/rsc/taint.js +79 -0
- package/web/node_modules/next/dist/server/app-render/segment-explorer-path.js +128 -0
- package/web/node_modules/next/dist/server/app-render/server-inserted-html.js +77 -0
- package/web/node_modules/next/dist/server/app-render/staged-rendering.js +343 -0
- package/web/node_modules/next/dist/server/app-render/stale-time.js +111 -0
- package/web/node_modules/next/dist/server/app-render/stream-ops.js +106 -0
- package/web/node_modules/next/dist/server/app-render/stream-ops.web.js +163 -0
- package/web/node_modules/next/dist/server/app-render/strip-flight-headers.js +18 -0
- package/web/node_modules/next/dist/server/app-render/types.js +65 -0
- package/web/node_modules/next/dist/server/app-render/use-flight-response.js +214 -0
- package/web/node_modules/next/dist/server/app-render/vary-params.js +336 -0
- package/web/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +232 -0
- package/web/node_modules/next/dist/server/app-render/work-async-storage-instance.js +14 -0
- package/web/node_modules/next/dist/server/app-render/work-async-storage.external.js +13 -0
- package/web/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
- package/web/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +280 -0
- package/web/node_modules/next/dist/server/async-storage/draft-mode-provider.js +62 -0
- package/web/node_modules/next/dist/server/async-storage/request-store.js +144 -0
- package/web/node_modules/next/dist/server/async-storage/with-store.js +6 -0
- package/web/node_modules/next/dist/server/async-storage/work-store.js +91 -0
- package/web/node_modules/next/dist/server/base-http/helpers.js +36 -0
- package/web/node_modules/next/dist/server/base-http/index.js +54 -0
- package/web/node_modules/next/dist/server/base-http/node.js +147 -0
- package/web/node_modules/next/dist/server/base-http/web.js +124 -0
- package/web/node_modules/next/dist/server/base-server.js +1874 -0
- package/web/node_modules/next/dist/server/body-streams.js +114 -0
- package/web/node_modules/next/dist/server/cache-dir.js +26 -0
- package/web/node_modules/next/dist/server/capsize-font-metrics.json +181516 -0
- package/web/node_modules/next/dist/server/ci-info.js +41 -0
- package/web/node_modules/next/dist/server/client-component-renderer-logger.js +70 -0
- package/web/node_modules/next/dist/server/config-schema.js +717 -0
- package/web/node_modules/next/dist/server/config-shared.js +369 -0
- package/web/node_modules/next/dist/server/config-utils.js +185 -0
- package/web/node_modules/next/dist/server/config.js +1545 -0
- package/web/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
- package/web/node_modules/next/dist/server/crypto-utils.js +70 -0
- package/web/node_modules/next/dist/server/dev/browser-logs/file-logger.js +186 -0
- package/web/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +558 -0
- package/web/node_modules/next/dist/server/dev/browser-logs/source-map.js +222 -0
- package/web/node_modules/next/dist/server/dev/debug-channel.js +87 -0
- package/web/node_modules/next/dist/server/dev/dev-indicator-server-state.js +15 -0
- package/web/node_modules/next/dist/server/dev/get-source-map-from-file.js +100 -0
- package/web/node_modules/next/dist/server/dev/hot-middleware.js +274 -0
- package/web/node_modules/next/dist/server/dev/hot-reloader-rspack.js +171 -0
- package/web/node_modules/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
- package/web/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1478 -0
- package/web/node_modules/next/dist/server/dev/hot-reloader-types.js +58 -0
- package/web/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1386 -0
- package/web/node_modules/next/dist/server/dev/log-requests.js +149 -0
- package/web/node_modules/next/dist/server/dev/messages.js +74 -0
- package/web/node_modules/next/dist/server/dev/middleware-turbopack.js +403 -0
- package/web/node_modules/next/dist/server/dev/middleware-webpack.js +483 -0
- package/web/node_modules/next/dist/server/dev/node-stack-frames.js +72 -0
- package/web/node_modules/next/dist/server/dev/on-demand-entry-handler.js +773 -0
- package/web/node_modules/next/dist/server/dev/parse-version-info.js +108 -0
- package/web/node_modules/next/dist/server/dev/require-cache.js +79 -0
- package/web/node_modules/next/dist/server/dev/serialized-errors.js +67 -0
- package/web/node_modules/next/dist/server/dev/server-action-logger.js +37 -0
- package/web/node_modules/next/dist/server/dev/static-paths-worker.js +104 -0
- package/web/node_modules/next/dist/server/dev/turbopack-utils.js +687 -0
- package/web/node_modules/next/dist/server/dynamic-rendering-utils.js +108 -0
- package/web/node_modules/next/dist/server/font-utils.js +43 -0
- package/web/node_modules/next/dist/server/get-app-route-from-entrypoint.js +30 -0
- package/web/node_modules/next/dist/server/get-page-files.js +23 -0
- package/web/node_modules/next/dist/server/get-route-from-entrypoint.js +35 -0
- package/web/node_modules/next/dist/server/htmlescape.js +37 -0
- package/web/node_modules/next/dist/server/image-optimizer.js +1220 -0
- package/web/node_modules/next/dist/server/instrumentation/types.js +6 -0
- package/web/node_modules/next/dist/server/instrumentation/utils.js +21 -0
- package/web/node_modules/next/dist/server/internal-utils.js +39 -0
- package/web/node_modules/next/dist/server/is-private-ip.js +36 -0
- package/web/node_modules/next/dist/server/lib/app-dir-module.js +59 -0
- package/web/node_modules/next/dist/server/lib/app-info-log.js +132 -0
- package/web/node_modules/next/dist/server/lib/async-callback-set.js +29 -0
- package/web/node_modules/next/dist/server/lib/cache-control.js +22 -0
- package/web/node_modules/next/dist/server/lib/cache-handlers/default.external.js +18 -0
- package/web/node_modules/next/dist/server/lib/cache-handlers/default.js +160 -0
- package/web/node_modules/next/dist/server/lib/cache-handlers/types.js +8 -0
- package/web/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
- package/web/node_modules/next/dist/server/lib/clone-response.js +77 -0
- package/web/node_modules/next/dist/server/lib/cpu-profile.js +59 -0
- package/web/node_modules/next/dist/server/lib/decode-query-path-parameter.js +26 -0
- package/web/node_modules/next/dist/server/lib/dedupe-fetch.js +163 -0
- package/web/node_modules/next/dist/server/lib/dev-bundler-service.js +95 -0
- package/web/node_modules/next/dist/server/lib/disk-lru-cache.external.js +57 -0
- package/web/node_modules/next/dist/server/lib/etag.js +56 -0
- package/web/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
- package/web/node_modules/next/dist/server/lib/experimental/ppr.js +47 -0
- package/web/node_modules/next/dist/server/lib/find-page-file.js +147 -0
- package/web/node_modules/next/dist/server/lib/fix-mojibake.js +25 -0
- package/web/node_modules/next/dist/server/lib/format-hostname.js +16 -0
- package/web/node_modules/next/dist/server/lib/i18n-provider.js +129 -0
- package/web/node_modules/next/dist/server/lib/implicit-tags.js +77 -0
- package/web/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +335 -0
- package/web/node_modules/next/dist/server/lib/incremental-cache/index.js +501 -0
- package/web/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +57 -0
- package/web/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
- package/web/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
- package/web/node_modules/next/dist/server/lib/install-code-frame.js +22 -0
- package/web/node_modules/next/dist/server/lib/is-ipv6.js +41 -0
- package/web/node_modules/next/dist/server/lib/lazy-result.js +46 -0
- package/web/node_modules/next/dist/server/lib/lru-cache.js +191 -0
- package/web/node_modules/next/dist/server/lib/match-next-data-pathname.js +18 -0
- package/web/node_modules/next/dist/server/lib/mock-request.js +416 -0
- package/web/node_modules/next/dist/server/lib/module-loader/module-loader.js +8 -0
- package/web/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
- package/web/node_modules/next/dist/server/lib/module-loader/route-module-loader.js +26 -0
- package/web/node_modules/next/dist/server/lib/node-fs-methods.js +28 -0
- package/web/node_modules/next/dist/server/lib/parse-stack.js +46 -0
- package/web/node_modules/next/dist/server/lib/patch-fetch.js +978 -0
- package/web/node_modules/next/dist/server/lib/patch-set-header.js +38 -0
- package/web/node_modules/next/dist/server/lib/postponed-request-body.js +64 -0
- package/web/node_modules/next/dist/server/lib/render-server.js +155 -0
- package/web/node_modules/next/dist/server/lib/router-server.js +683 -0
- package/web/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +110 -0
- package/web/node_modules/next/dist/server/lib/router-utils/build-data-route.js +48 -0
- package/web/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
- package/web/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +211 -0
- package/web/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
- package/web/node_modules/next/dist/server/lib/router-utils/filesystem.js +591 -0
- package/web/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
- package/web/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +96 -0
- package/web/node_modules/next/dist/server/lib/router-utils/is-postpone.js +16 -0
- package/web/node_modules/next/dist/server/lib/router-utils/proxy-request.js +118 -0
- package/web/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +629 -0
- package/web/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +286 -0
- package/web/node_modules/next/dist/server/lib/router-utils/router-server-context.js +26 -0
- package/web/node_modules/next/dist/server/lib/router-utils/typegen.js +858 -0
- package/web/node_modules/next/dist/server/lib/router-utils/types.js +6 -0
- package/web/node_modules/next/dist/server/lib/server-action-request-meta.js +53 -0
- package/web/node_modules/next/dist/server/lib/server-ipc/utils.js +81 -0
- package/web/node_modules/next/dist/server/lib/source-maps.js +196 -0
- package/web/node_modules/next/dist/server/lib/start-server.js +494 -0
- package/web/node_modules/next/dist/server/lib/streaming-metadata.js +38 -0
- package/web/node_modules/next/dist/server/lib/to-route.js +37 -0
- package/web/node_modules/next/dist/server/lib/trace/constants.js +203 -0
- package/web/node_modules/next/dist/server/lib/trace/tracer.js +280 -0
- package/web/node_modules/next/dist/server/lib/trace/utils.js +16 -0
- package/web/node_modules/next/dist/server/lib/types.js +6 -0
- package/web/node_modules/next/dist/server/lib/utils.js +278 -0
- package/web/node_modules/next/dist/server/lib/worker-utils.js +36 -0
- package/web/node_modules/next/dist/server/load-components.js +179 -0
- package/web/node_modules/next/dist/server/load-default-error-components.js +41 -0
- package/web/node_modules/next/dist/server/load-manifest.external.js +117 -0
- package/web/node_modules/next/dist/server/match-bundle.js +25 -0
- package/web/node_modules/next/dist/server/mcp/get-mcp-middleware.js +49 -0
- package/web/node_modules/next/dist/server/mcp/get-or-create-mcp-server.js +41 -0
- package/web/node_modules/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
- package/web/node_modules/next/dist/server/mcp/tools/get-errors.js +114 -0
- package/web/node_modules/next/dist/server/mcp/tools/get-logs.js +67 -0
- package/web/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +188 -0
- package/web/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +59 -0
- package/web/node_modules/next/dist/server/mcp/tools/get-routes.js +136 -0
- package/web/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +121 -0
- package/web/node_modules/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
- package/web/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +90 -0
- package/web/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +137 -0
- package/web/node_modules/next/dist/server/next-server.js +1429 -0
- package/web/node_modules/next/dist/server/next-typescript.js +13 -0
- package/web/node_modules/next/dist/server/next.js +455 -0
- package/web/node_modules/next/dist/server/node-environment-baseline.js +25 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +301 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/console-exit.js +49 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/console-file.js +56 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/date.js +52 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +577 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +33 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/io-utils.js +195 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +91 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/random.js +28 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +508 -0
- package/web/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
- package/web/node_modules/next/dist/server/node-environment.js +19 -0
- package/web/node_modules/next/dist/server/node-polyfill-crypto.js +21 -0
- package/web/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
- package/web/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
- package/web/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
- package/web/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
- package/web/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
- package/web/node_modules/next/dist/server/normalizers/built/app/index.js +42 -0
- package/web/node_modules/next/dist/server/normalizers/built/pages/index.js +44 -0
- package/web/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
- package/web/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
- package/web/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
- package/web/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
- package/web/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
- package/web/node_modules/next/dist/server/normalizers/normalizer.js +6 -0
- package/web/node_modules/next/dist/server/normalizers/normalizers.js +23 -0
- package/web/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
- package/web/node_modules/next/dist/server/normalizers/request/base-path.js +25 -0
- package/web/node_modules/next/dist/server/normalizers/request/next-data.js +38 -0
- package/web/node_modules/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
- package/web/node_modules/next/dist/server/normalizers/request/prefix.js +39 -0
- package/web/node_modules/next/dist/server/normalizers/request/rsc.js +19 -0
- package/web/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +33 -0
- package/web/node_modules/next/dist/server/normalizers/request/suffix.js +27 -0
- package/web/node_modules/next/dist/server/normalizers/underscore-normalizer.js +17 -0
- package/web/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
- package/web/node_modules/next/dist/server/og/image-response.js +53 -0
- package/web/node_modules/next/dist/server/patch-error-inspect.js +453 -0
- package/web/node_modules/next/dist/server/pipe-readable.js +140 -0
- package/web/node_modules/next/dist/server/post-process.js +39 -0
- package/web/node_modules/next/dist/server/render-result.js +204 -0
- package/web/node_modules/next/dist/server/render.js +1140 -0
- package/web/node_modules/next/dist/server/request/connection.js +133 -0
- package/web/node_modules/next/dist/server/request/cookies.js +235 -0
- package/web/node_modules/next/dist/server/request/draft-mode.js +230 -0
- package/web/node_modules/next/dist/server/request/fallback-params.js +69 -0
- package/web/node_modules/next/dist/server/request/headers.js +229 -0
- package/web/node_modules/next/dist/server/request/params.js +527 -0
- package/web/node_modules/next/dist/server/request/pathname.js +119 -0
- package/web/node_modules/next/dist/server/request/root-params.js +194 -0
- package/web/node_modules/next/dist/server/request/search-params.js +526 -0
- package/web/node_modules/next/dist/server/request/utils.js +51 -0
- package/web/node_modules/next/dist/server/request-meta.js +55 -0
- package/web/node_modules/next/dist/server/require-hook.js +82 -0
- package/web/node_modules/next/dist/server/require.js +109 -0
- package/web/node_modules/next/dist/server/response-cache/index.js +311 -0
- package/web/node_modules/next/dist/server/response-cache/types.js +41 -0
- package/web/node_modules/next/dist/server/response-cache/utils.js +104 -0
- package/web/node_modules/next/dist/server/response-cache/web.js +101 -0
- package/web/node_modules/next/dist/server/resume-data-cache/cache-store.js +96 -0
- package/web/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +124 -0
- package/web/node_modules/next/dist/server/revalidation-utils.js +157 -0
- package/web/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
- package/web/node_modules/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
- package/web/node_modules/next/dist/server/route-definitions/locale-route-definition.js +6 -0
- package/web/node_modules/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
- package/web/node_modules/next/dist/server/route-definitions/pages-route-definition.js +6 -0
- package/web/node_modules/next/dist/server/route-definitions/route-definition.js +6 -0
- package/web/node_modules/next/dist/server/route-kind.js +32 -0
- package/web/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
- package/web/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +120 -0
- package/web/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.js +6 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +91 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +112 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +6 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +6 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
- package/web/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.js +6 -0
- package/web/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
- package/web/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
- package/web/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
- package/web/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
- package/web/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
- package/web/node_modules/next/dist/server/route-matchers/route-matcher.js +54 -0
- package/web/node_modules/next/dist/server/route-matches/app-page-route-match.js +6 -0
- package/web/node_modules/next/dist/server/route-matches/app-route-route-match.js +6 -0
- package/web/node_modules/next/dist/server/route-matches/locale-route-match.js +6 -0
- package/web/node_modules/next/dist/server/route-matches/pages-api-route-match.js +16 -0
- package/web/node_modules/next/dist/server/route-matches/pages-route-match.js +6 -0
- package/web/node_modules/next/dist/server/route-matches/route-match.js +6 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +51 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/module.js +162 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/module.render.js +24 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/normalize-request-url.js +25 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +85 -0
- package/web/node_modules/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
- package/web/node_modules/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
- package/web/node_modules/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
- package/web/node_modules/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
- package/web/node_modules/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
- package/web/node_modules/next/dist/server/route-modules/app-route/module.js +899 -0
- package/web/node_modules/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
- package/web/node_modules/next/dist/server/route-modules/checks.js +45 -0
- package/web/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
- package/web/node_modules/next/dist/server/route-modules/pages/module.compiled.js +20 -0
- package/web/node_modules/next/dist/server/route-modules/pages/module.js +92 -0
- package/web/node_modules/next/dist/server/route-modules/pages/module.render.js +24 -0
- package/web/node_modules/next/dist/server/route-modules/pages/pages-handler.js +545 -0
- package/web/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
- package/web/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
- package/web/node_modules/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
- package/web/node_modules/next/dist/server/route-modules/pages-api/module.js +58 -0
- package/web/node_modules/next/dist/server/route-modules/route-module.js +650 -0
- package/web/node_modules/next/dist/server/runtime-reacts.external.js +46 -0
- package/web/node_modules/next/dist/server/send-payload.js +88 -0
- package/web/node_modules/next/dist/server/send-response.js +70 -0
- package/web/node_modules/next/dist/server/serve-static.js +66 -0
- package/web/node_modules/next/dist/server/server-route-utils.js +30 -0
- package/web/node_modules/next/dist/server/server-utils.js +323 -0
- package/web/node_modules/next/dist/server/setup-http-agent-env.js +31 -0
- package/web/node_modules/next/dist/server/stream-utils/encoded-tags.js +122 -0
- package/web/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +918 -0
- package/web/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +74 -0
- package/web/node_modules/next/dist/server/typescript/constant.js +98 -0
- package/web/node_modules/next/dist/server/typescript/index.js +199 -0
- package/web/node_modules/next/dist/server/typescript/rules/client-boundary.js +97 -0
- package/web/node_modules/next/dist/server/typescript/rules/config.js +512 -0
- package/web/node_modules/next/dist/server/typescript/rules/entry.js +149 -0
- package/web/node_modules/next/dist/server/typescript/rules/error.js +38 -0
- package/web/node_modules/next/dist/server/typescript/rules/metadata.js +234 -0
- package/web/node_modules/next/dist/server/typescript/rules/server-boundary.js +115 -0
- package/web/node_modules/next/dist/server/typescript/rules/server.js +79 -0
- package/web/node_modules/next/dist/server/typescript/utils.js +212 -0
- package/web/node_modules/next/dist/server/use-cache/cache-life.js +163 -0
- package/web/node_modules/next/dist/server/use-cache/cache-tag.js +52 -0
- package/web/node_modules/next/dist/server/use-cache/constants.js +28 -0
- package/web/node_modules/next/dist/server/use-cache/handlers.js +121 -0
- package/web/node_modules/next/dist/server/use-cache/use-cache-errors.js +36 -0
- package/web/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1588 -0
- package/web/node_modules/next/dist/server/utils.js +73 -0
- package/web/node_modules/next/dist/server/web/adapter.js +392 -0
- package/web/node_modules/next/dist/server/web/edge-route-module-wrapper.js +123 -0
- package/web/node_modules/next/dist/server/web/error.js +54 -0
- package/web/node_modules/next/dist/server/web/exports/index.js +56 -0
- package/web/node_modules/next/dist/server/web/get-edge-preview-props.js +23 -0
- package/web/node_modules/next/dist/server/web/globals.js +128 -0
- package/web/node_modules/next/dist/server/web/http.js +39 -0
- package/web/node_modules/next/dist/server/web/internal-edge-wait-until.js +64 -0
- package/web/node_modules/next/dist/server/web/next-url.js +199 -0
- package/web/node_modules/next/dist/server/web/sandbox/context.js +462 -0
- package/web/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
- package/web/node_modules/next/dist/server/web/sandbox/index.js +28 -0
- package/web/node_modules/next/dist/server/web/sandbox/resource-managers.js +88 -0
- package/web/node_modules/next/dist/server/web/sandbox/sandbox.js +137 -0
- package/web/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +192 -0
- package/web/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
- package/web/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
- package/web/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +211 -0
- package/web/node_modules/next/dist/server/web/spec-extension/cookies.js +29 -0
- package/web/node_modules/next/dist/server/web/spec-extension/fetch-event.js +98 -0
- package/web/node_modules/next/dist/server/web/spec-extension/image-response.js +22 -0
- package/web/node_modules/next/dist/server/web/spec-extension/request.js +99 -0
- package/web/node_modules/next/dist/server/web/spec-extension/response.js +136 -0
- package/web/node_modules/next/dist/server/web/spec-extension/revalidate.js +214 -0
- package/web/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +289 -0
- package/web/node_modules/next/dist/server/web/spec-extension/unstable-no-store.js +51 -0
- package/web/node_modules/next/dist/server/web/spec-extension/url-pattern.js +14 -0
- package/web/node_modules/next/dist/server/web/spec-extension/user-agent.js +46 -0
- package/web/node_modules/next/dist/server/web/types.js +6 -0
- package/web/node_modules/next/dist/server/web/utils.js +151 -0
- package/web/node_modules/next/dist/server/web/web-on-close.js +87 -0
- package/web/node_modules/next/dist/shared/lib/action-revalidation-kind.js +31 -0
- package/web/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
- package/web/node_modules/next/dist/shared/lib/app-router-types.js +46 -0
- package/web/node_modules/next/dist/shared/lib/constants.js +448 -0
- package/web/node_modules/next/dist/shared/lib/deep-freeze.js +30 -0
- package/web/node_modules/next/dist/shared/lib/deployment-id.js +63 -0
- package/web/node_modules/next/dist/shared/lib/dset.js +34 -0
- package/web/node_modules/next/dist/shared/lib/encode-uri-path.js +15 -0
- package/web/node_modules/next/dist/shared/lib/entry-constants.js +36 -0
- package/web/node_modules/next/dist/shared/lib/error-source.js +36 -0
- package/web/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +39 -0
- package/web/node_modules/next/dist/shared/lib/errors/code-frame.js +20 -0
- package/web/node_modules/next/dist/shared/lib/errors/constants.js +19 -0
- package/web/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +24 -0
- package/web/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +20 -0
- package/web/node_modules/next/dist/shared/lib/escape-regexp.js +22 -0
- package/web/node_modules/next/dist/shared/lib/get-hostname.js +23 -0
- package/web/node_modules/next/dist/shared/lib/hash.js +42 -0
- package/web/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
- package/web/node_modules/next/dist/shared/lib/head.js +163 -0
- package/web/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
- package/web/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
- package/web/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
- package/web/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
- package/web/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
- package/web/node_modules/next/dist/shared/lib/image-blur-svg.js +22 -0
- package/web/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
- package/web/node_modules/next/dist/shared/lib/image-config.js +77 -0
- package/web/node_modules/next/dist/shared/lib/invariant-error.js +18 -0
- package/web/node_modules/next/dist/shared/lib/is-plain-object.js +42 -0
- package/web/node_modules/next/dist/shared/lib/is-thenable.js +20 -0
- package/web/node_modules/next/dist/shared/lib/isomorphic/path.js +14 -0
- package/web/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
- package/web/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
- package/web/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
- package/web/node_modules/next/dist/shared/lib/match-local-pattern.js +46 -0
- package/web/node_modules/next/dist/shared/lib/match-remote-pattern.js +63 -0
- package/web/node_modules/next/dist/shared/lib/modern-browserslist-target.js +15 -0
- package/web/node_modules/next/dist/shared/lib/no-fallback-error.external.js +18 -0
- package/web/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
- package/web/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
- package/web/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
- package/web/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
- package/web/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
- package/web/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
- package/web/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
- package/web/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
- package/web/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
- package/web/node_modules/next/dist/shared/lib/promise-with-resolvers.js +26 -0
- package/web/node_modules/next/dist/shared/lib/router/adapters.js +136 -0
- package/web/node_modules/next/dist/shared/lib/router/routes/app.js +122 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/add-locale.js +28 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/app-paths.js +62 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +24 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/format-url.js +111 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +174 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/html-bots.js +17 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/index.js +30 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +108 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/is-bot.js +57 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +30 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/parse-path.js +33 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +43 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/parse-url.js +38 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/path-match.js +49 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +292 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/querystring.js +79 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +21 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +45 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/route-regex.js +256 -0
- package/web/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +244 -0
- package/web/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
- package/web/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +99 -0
- package/web/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +32 -0
- package/web/node_modules/next/dist/shared/lib/segment.js +102 -0
- package/web/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
- package/web/node_modules/next/dist/shared/lib/server-reference-info.js +56 -0
- package/web/node_modules/next/dist/shared/lib/side-effect.js +63 -0
- package/web/node_modules/next/dist/shared/lib/size-limit.js +40 -0
- package/web/node_modules/next/dist/shared/lib/turbopack/internal-error.js +53 -0
- package/web/node_modules/next/dist/shared/lib/utils/reflect-utils.js +69 -0
- package/web/node_modules/next/dist/shared/lib/utils/warn-once.js +22 -0
- package/web/node_modules/next/dist/shared/lib/utils.js +207 -0
- package/web/node_modules/next/dist/shared/lib/zod.js +101 -0
- package/web/node_modules/next/dist/telemetry/anonymous-meta.js +89 -0
- package/web/node_modules/next/dist/telemetry/detached-flush.js +56 -0
- package/web/node_modules/next/dist/telemetry/events/build.js +174 -0
- package/web/node_modules/next/dist/telemetry/events/index.js +41 -0
- package/web/node_modules/next/dist/telemetry/events/plugins.js +51 -0
- package/web/node_modules/next/dist/telemetry/events/swc-load-failure.js +55 -0
- package/web/node_modules/next/dist/telemetry/events/version.js +66 -0
- package/web/node_modules/next/dist/telemetry/flush-telemetry.js +19 -0
- package/web/node_modules/next/dist/telemetry/post-telemetry-payload.js +48 -0
- package/web/node_modules/next/dist/telemetry/project-id.js +48 -0
- package/web/node_modules/next/dist/telemetry/storage.js +301 -0
- package/web/node_modules/next/dist/trace/index.js +58 -0
- package/web/node_modules/next/dist/trace/report/index.js +37 -0
- package/web/node_modules/next/dist/trace/report/to-json-build.js +40 -0
- package/web/node_modules/next/dist/trace/report/to-json.js +165 -0
- package/web/node_modules/next/dist/trace/report/to-telemetry.js +36 -0
- package/web/node_modules/next/dist/trace/shared.js +39 -0
- package/web/node_modules/next/dist/trace/trace.js +211 -0
- package/web/node_modules/next/package.json +378 -0
- package/web/node_modules/os-paths/package.json +130 -0
- package/web/node_modules/os-paths/src/lib/index.js +68 -0
- package/web/node_modules/picocolors/package.json +25 -0
- package/web/node_modules/picocolors/picocolors.js +75 -0
- package/web/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
- package/web/node_modules/react/cjs/react-jsx-dev-runtime.production.js +14 -0
- package/web/node_modules/react/cjs/react-jsx-runtime.production.js +34 -0
- package/web/node_modules/react/cjs/react.development.js +1284 -0
- package/web/node_modules/react/cjs/react.production.js +542 -0
- package/web/node_modules/react/compiler-runtime.js +14 -0
- package/web/node_modules/react/index.js +7 -0
- package/web/node_modules/react/jsx-dev-runtime.js +7 -0
- package/web/node_modules/react/jsx-runtime.js +7 -0
- package/web/node_modules/react/package.json +51 -0
- package/web/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +6603 -0
- package/web/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +6692 -0
- package/web/node_modules/react-dom/cjs/react-dom-server.browser.production.js +7410 -0
- package/web/node_modules/react-dom/cjs/react-dom-server.edge.production.js +7512 -0
- package/web/node_modules/react-dom/cjs/react-dom-server.node.production.js +7707 -0
- package/web/node_modules/react-dom/cjs/react-dom.production.js +210 -0
- package/web/node_modules/react-dom/index.js +38 -0
- package/web/node_modules/react-dom/package.json +117 -0
- package/web/node_modules/react-dom/server.browser.js +16 -0
- package/web/node_modules/react-dom/server.edge.js +17 -0
- package/web/node_modules/react-dom/server.node.js +18 -0
- package/web/node_modules/react-dom/static.node.js +14 -0
- package/web/node_modules/retry/index.js +1 -0
- package/web/node_modules/retry/lib/retry.js +100 -0
- package/web/node_modules/retry/lib/retry_operation.js +162 -0
- package/web/node_modules/retry/package.json +36 -0
- package/web/node_modules/semver/classes/comparator.js +143 -0
- package/web/node_modules/semver/classes/range.js +557 -0
- package/web/node_modules/semver/classes/semver.js +333 -0
- package/web/node_modules/semver/functions/cmp.js +54 -0
- package/web/node_modules/semver/functions/coerce.js +62 -0
- package/web/node_modules/semver/functions/compare.js +7 -0
- package/web/node_modules/semver/functions/eq.js +5 -0
- package/web/node_modules/semver/functions/gt.js +5 -0
- package/web/node_modules/semver/functions/gte.js +5 -0
- package/web/node_modules/semver/functions/lt.js +5 -0
- package/web/node_modules/semver/functions/lte.js +5 -0
- package/web/node_modules/semver/functions/neq.js +5 -0
- package/web/node_modules/semver/functions/parse.js +18 -0
- package/web/node_modules/semver/functions/satisfies.js +12 -0
- package/web/node_modules/semver/internal/constants.js +37 -0
- package/web/node_modules/semver/internal/debug.js +11 -0
- package/web/node_modules/semver/internal/identifiers.js +29 -0
- package/web/node_modules/semver/internal/lrucache.js +42 -0
- package/web/node_modules/semver/internal/parse-options.js +17 -0
- package/web/node_modules/semver/internal/re.js +223 -0
- package/web/node_modules/semver/package.json +78 -0
- package/web/node_modules/sharp/lib/channel.js +177 -0
- package/web/node_modules/sharp/lib/colour.js +195 -0
- package/web/node_modules/sharp/lib/composite.js +212 -0
- package/web/node_modules/sharp/lib/constructor.js +499 -0
- package/web/node_modules/sharp/lib/index.js +16 -0
- package/web/node_modules/sharp/lib/input.js +809 -0
- package/web/node_modules/sharp/lib/is.js +143 -0
- package/web/node_modules/sharp/lib/libvips.js +207 -0
- package/web/node_modules/sharp/lib/operation.js +1016 -0
- package/web/node_modules/sharp/lib/output.js +1666 -0
- package/web/node_modules/sharp/lib/resize.js +595 -0
- package/web/node_modules/sharp/lib/sharp.js +121 -0
- package/web/node_modules/sharp/lib/utility.js +291 -0
- package/web/node_modules/sharp/package.json +202 -0
- package/web/node_modules/streamx/index.js +1232 -0
- package/web/node_modules/streamx/package.json +36 -0
- package/web/node_modules/styled-jsx/dist/index/index.js +499 -0
- package/web/node_modules/styled-jsx/index.js +1 -0
- package/web/node_modules/styled-jsx/package.json +132 -0
- package/web/node_modules/styled-jsx/style.js +1 -0
- package/web/node_modules/tar-stream/constants.js +14 -0
- package/web/node_modules/tar-stream/extract.js +406 -0
- package/web/node_modules/tar-stream/headers.js +321 -0
- package/web/node_modules/tar-stream/index.js +2 -0
- package/web/node_modules/tar-stream/pack.js +287 -0
- package/web/node_modules/tar-stream/package.json +35 -0
- package/web/node_modules/text-decoder/index.js +64 -0
- package/web/node_modules/text-decoder/lib/pass-through-decoder.js +19 -0
- package/web/node_modules/text-decoder/lib/utf8-decoder.js +185 -0
- package/web/node_modules/text-decoder/package.json +39 -0
- package/web/node_modules/undici/index.js +234 -0
- package/web/node_modules/undici/lib/api/abort-signal.js +59 -0
- package/web/node_modules/undici/lib/api/api-connect.js +110 -0
- package/web/node_modules/undici/lib/api/api-pipeline.js +252 -0
- package/web/node_modules/undici/lib/api/api-request.js +214 -0
- package/web/node_modules/undici/lib/api/api-stream.js +209 -0
- package/web/node_modules/undici/lib/api/api-upgrade.js +111 -0
- package/web/node_modules/undici/lib/api/index.js +7 -0
- package/web/node_modules/undici/lib/api/readable.js +580 -0
- package/web/node_modules/undici/lib/cache/memory-cache-store.js +234 -0
- package/web/node_modules/undici/lib/cache/sqlite-cache-store.js +461 -0
- package/web/node_modules/undici/lib/core/connect.js +137 -0
- package/web/node_modules/undici/lib/core/constants.js +143 -0
- package/web/node_modules/undici/lib/core/diagnostics.js +225 -0
- package/web/node_modules/undici/lib/core/errors.js +477 -0
- package/web/node_modules/undici/lib/core/request.js +430 -0
- package/web/node_modules/undici/lib/core/socks5-client.js +407 -0
- package/web/node_modules/undici/lib/core/socks5-utils.js +203 -0
- package/web/node_modules/undici/lib/core/symbols.js +75 -0
- package/web/node_modules/undici/lib/core/tree.js +160 -0
- package/web/node_modules/undici/lib/core/util.js +972 -0
- package/web/node_modules/undici/lib/dispatcher/agent.js +158 -0
- package/web/node_modules/undici/lib/dispatcher/balanced-pool.js +219 -0
- package/web/node_modules/undici/lib/dispatcher/client-h1.js +1610 -0
- package/web/node_modules/undici/lib/dispatcher/client-h2.js +995 -0
- package/web/node_modules/undici/lib/dispatcher/client.js +654 -0
- package/web/node_modules/undici/lib/dispatcher/dispatcher-base.js +165 -0
- package/web/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
- package/web/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
- package/web/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
- package/web/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
- package/web/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
- package/web/node_modules/undici/lib/dispatcher/pool.js +118 -0
- package/web/node_modules/undici/lib/dispatcher/proxy-agent.js +318 -0
- package/web/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
- package/web/node_modules/undici/lib/dispatcher/round-robin-pool.js +137 -0
- package/web/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +249 -0
- package/web/node_modules/undici/lib/encoding/index.js +33 -0
- package/web/node_modules/undici/lib/global.js +50 -0
- package/web/node_modules/undici/lib/handler/cache-handler.js +569 -0
- package/web/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
- package/web/node_modules/undici/lib/handler/decorator-handler.js +67 -0
- package/web/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
- package/web/node_modules/undici/lib/handler/redirect-handler.js +238 -0
- package/web/node_modules/undici/lib/handler/retry-handler.js +394 -0
- package/web/node_modules/undici/lib/handler/unwrap-handler.js +100 -0
- package/web/node_modules/undici/lib/handler/wrap-handler.js +105 -0
- package/web/node_modules/undici/lib/interceptor/cache.js +495 -0
- package/web/node_modules/undici/lib/interceptor/decompress.js +259 -0
- package/web/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
- package/web/node_modules/undici/lib/interceptor/dns.js +571 -0
- package/web/node_modules/undici/lib/interceptor/dump.js +112 -0
- package/web/node_modules/undici/lib/interceptor/redirect.js +21 -0
- package/web/node_modules/undici/lib/interceptor/response-error.js +95 -0
- package/web/node_modules/undici/lib/interceptor/retry.js +19 -0
- package/web/node_modules/undici/lib/llhttp/constants.js +531 -0
- package/web/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
- package/web/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
- package/web/node_modules/undici/lib/llhttp/utils.js +12 -0
- package/web/node_modules/undici/lib/mock/mock-agent.js +232 -0
- package/web/node_modules/undici/lib/mock/mock-call-history.js +248 -0
- package/web/node_modules/undici/lib/mock/mock-client.js +68 -0
- package/web/node_modules/undici/lib/mock/mock-errors.js +29 -0
- package/web/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
- package/web/node_modules/undici/lib/mock/mock-pool.js +68 -0
- package/web/node_modules/undici/lib/mock/mock-symbols.js +31 -0
- package/web/node_modules/undici/lib/mock/mock-utils.js +480 -0
- package/web/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
- package/web/node_modules/undici/lib/mock/snapshot-agent.js +353 -0
- package/web/node_modules/undici/lib/mock/snapshot-recorder.js +588 -0
- package/web/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
- package/web/node_modules/undici/lib/util/cache.js +407 -0
- package/web/node_modules/undici/lib/util/date.js +653 -0
- package/web/node_modules/undici/lib/util/promise.js +28 -0
- package/web/node_modules/undici/lib/util/runtime-features.js +124 -0
- package/web/node_modules/undici/lib/util/stats.js +32 -0
- package/web/node_modules/undici/lib/util/timers.js +425 -0
- package/web/node_modules/undici/lib/web/cache/cache.js +864 -0
- package/web/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
- package/web/node_modules/undici/lib/web/cache/util.js +45 -0
- package/web/node_modules/undici/lib/web/cookies/constants.js +12 -0
- package/web/node_modules/undici/lib/web/cookies/index.js +199 -0
- package/web/node_modules/undici/lib/web/cookies/parse.js +322 -0
- package/web/node_modules/undici/lib/web/cookies/util.js +282 -0
- package/web/node_modules/undici/lib/web/eventsource/eventsource-stream.js +399 -0
- package/web/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
- package/web/node_modules/undici/lib/web/eventsource/util.js +29 -0
- package/web/node_modules/undici/lib/web/fetch/body.js +509 -0
- package/web/node_modules/undici/lib/web/fetch/constants.js +131 -0
- package/web/node_modules/undici/lib/web/fetch/data-url.js +596 -0
- package/web/node_modules/undici/lib/web/fetch/formdata-parser.js +575 -0
- package/web/node_modules/undici/lib/web/fetch/formdata.js +259 -0
- package/web/node_modules/undici/lib/web/fetch/global.js +40 -0
- package/web/node_modules/undici/lib/web/fetch/headers.js +719 -0
- package/web/node_modules/undici/lib/web/fetch/index.js +2381 -0
- package/web/node_modules/undici/lib/web/fetch/request.js +1115 -0
- package/web/node_modules/undici/lib/web/fetch/response.js +641 -0
- package/web/node_modules/undici/lib/web/fetch/util.js +1520 -0
- package/web/node_modules/undici/lib/web/infra/index.js +229 -0
- package/web/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
- package/web/node_modules/undici/lib/web/webidl/index.js +1006 -0
- package/web/node_modules/undici/lib/web/websocket/connection.js +329 -0
- package/web/node_modules/undici/lib/web/websocket/constants.js +126 -0
- package/web/node_modules/undici/lib/web/websocket/events.js +331 -0
- package/web/node_modules/undici/lib/web/websocket/frame.js +133 -0
- package/web/node_modules/undici/lib/web/websocket/permessage-deflate.js +118 -0
- package/web/node_modules/undici/lib/web/websocket/receiver.js +450 -0
- package/web/node_modules/undici/lib/web/websocket/sender.js +109 -0
- package/web/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
- package/web/node_modules/undici/lib/web/websocket/stream/websocketstream.js +497 -0
- package/web/node_modules/undici/lib/web/websocket/util.js +347 -0
- package/web/node_modules/undici/lib/web/websocket/websocket.js +739 -0
- package/web/node_modules/undici/package.json +152 -0
- package/web/node_modules/xdg-app-paths/index.js +187 -0
- package/web/node_modules/xdg-app-paths/license +10 -0
- package/web/node_modules/xdg-app-paths/package.json +56 -0
- package/web/node_modules/xdg-app-paths/readme.md +250 -0
- package/web/node_modules/xdg-portable/package.json +139 -0
- package/web/node_modules/xdg-portable/src/lib/index.js +127 -0
- package/web/node_modules/zod/package.json +135 -0
- package/web/package.json +31 -0
- package/web/public/.nojekyll +0 -0
- package/web/public/favicon.png +0 -0
- package/web/public/logo.png +0 -0
- package/web/server.js +38 -0
|
@@ -0,0 +1,1610 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
/* global WebAssembly */
|
|
4
|
+
|
|
5
|
+
const assert = require('node:assert')
|
|
6
|
+
const util = require('../core/util.js')
|
|
7
|
+
const { channels } = require('../core/diagnostics.js')
|
|
8
|
+
const timers = require('../util/timers.js')
|
|
9
|
+
const {
|
|
10
|
+
RequestContentLengthMismatchError,
|
|
11
|
+
ResponseContentLengthMismatchError,
|
|
12
|
+
RequestAbortedError,
|
|
13
|
+
HeadersTimeoutError,
|
|
14
|
+
HeadersOverflowError,
|
|
15
|
+
SocketError,
|
|
16
|
+
InformationalError,
|
|
17
|
+
BodyTimeoutError,
|
|
18
|
+
HTTPParserError,
|
|
19
|
+
ResponseExceededMaxSizeError
|
|
20
|
+
} = require('../core/errors.js')
|
|
21
|
+
const {
|
|
22
|
+
kUrl,
|
|
23
|
+
kReset,
|
|
24
|
+
kClient,
|
|
25
|
+
kParser,
|
|
26
|
+
kBlocking,
|
|
27
|
+
kRunning,
|
|
28
|
+
kPending,
|
|
29
|
+
kSize,
|
|
30
|
+
kWriting,
|
|
31
|
+
kQueue,
|
|
32
|
+
kNoRef,
|
|
33
|
+
kKeepAliveDefaultTimeout,
|
|
34
|
+
kHostHeader,
|
|
35
|
+
kPendingIdx,
|
|
36
|
+
kRunningIdx,
|
|
37
|
+
kError,
|
|
38
|
+
kPipelining,
|
|
39
|
+
kSocket,
|
|
40
|
+
kKeepAliveTimeoutValue,
|
|
41
|
+
kMaxHeadersSize,
|
|
42
|
+
kKeepAliveMaxTimeout,
|
|
43
|
+
kKeepAliveTimeoutThreshold,
|
|
44
|
+
kHeadersTimeout,
|
|
45
|
+
kBodyTimeout,
|
|
46
|
+
kStrictContentLength,
|
|
47
|
+
kMaxRequests,
|
|
48
|
+
kCounter,
|
|
49
|
+
kMaxResponseSize,
|
|
50
|
+
kOnError,
|
|
51
|
+
kResume,
|
|
52
|
+
kHTTPContext,
|
|
53
|
+
kClosed
|
|
54
|
+
} = require('../core/symbols.js')
|
|
55
|
+
|
|
56
|
+
const constants = require('../llhttp/constants.js')
|
|
57
|
+
const EMPTY_BUF = Buffer.alloc(0)
|
|
58
|
+
const FastBuffer = Buffer[Symbol.species]
|
|
59
|
+
const removeAllListeners = util.removeAllListeners
|
|
60
|
+
|
|
61
|
+
let extractBody
|
|
62
|
+
|
|
63
|
+
function lazyllhttp () {
|
|
64
|
+
const llhttpWasmData = process.env.JEST_WORKER_ID ? require('../llhttp/llhttp-wasm.js') : undefined
|
|
65
|
+
|
|
66
|
+
let mod
|
|
67
|
+
|
|
68
|
+
// We disable wasm SIMD on ppc64 as it seems to be broken on Power 9 architectures.
|
|
69
|
+
let useWasmSIMD = process.arch !== 'ppc64'
|
|
70
|
+
// The Env Variable UNDICI_NO_WASM_SIMD allows explicitly overriding the default behavior
|
|
71
|
+
if (process.env.UNDICI_NO_WASM_SIMD === '1') {
|
|
72
|
+
useWasmSIMD = true
|
|
73
|
+
} else if (process.env.UNDICI_NO_WASM_SIMD === '0') {
|
|
74
|
+
useWasmSIMD = false
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (useWasmSIMD) {
|
|
78
|
+
try {
|
|
79
|
+
mod = new WebAssembly.Module(require('../llhttp/llhttp_simd-wasm.js'))
|
|
80
|
+
} catch {
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (!mod) {
|
|
85
|
+
// We could check if the error was caused by the simd option not
|
|
86
|
+
// being enabled, but the occurring of this other error
|
|
87
|
+
// * https://github.com/emscripten-core/emscripten/issues/11495
|
|
88
|
+
// got me to remove that check to avoid breaking Node 12.
|
|
89
|
+
mod = new WebAssembly.Module(llhttpWasmData || require('../llhttp/llhttp-wasm.js'))
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return new WebAssembly.Instance(mod, {
|
|
93
|
+
env: {
|
|
94
|
+
/**
|
|
95
|
+
* @param {number} p
|
|
96
|
+
* @param {number} at
|
|
97
|
+
* @param {number} len
|
|
98
|
+
* @returns {number}
|
|
99
|
+
*/
|
|
100
|
+
wasm_on_url: (p, at, len) => {
|
|
101
|
+
return 0
|
|
102
|
+
},
|
|
103
|
+
/**
|
|
104
|
+
* @param {number} p
|
|
105
|
+
* @param {number} at
|
|
106
|
+
* @param {number} len
|
|
107
|
+
* @returns {number}
|
|
108
|
+
*/
|
|
109
|
+
wasm_on_status: (p, at, len) => {
|
|
110
|
+
assert(currentParser.ptr === p)
|
|
111
|
+
const start = at - currentBufferPtr + currentBufferRef.byteOffset
|
|
112
|
+
return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len))
|
|
113
|
+
},
|
|
114
|
+
/**
|
|
115
|
+
* @param {number} p
|
|
116
|
+
* @returns {number}
|
|
117
|
+
*/
|
|
118
|
+
wasm_on_message_begin: (p) => {
|
|
119
|
+
assert(currentParser.ptr === p)
|
|
120
|
+
return currentParser.onMessageBegin()
|
|
121
|
+
},
|
|
122
|
+
/**
|
|
123
|
+
* @param {number} p
|
|
124
|
+
* @param {number} at
|
|
125
|
+
* @param {number} len
|
|
126
|
+
* @returns {number}
|
|
127
|
+
*/
|
|
128
|
+
wasm_on_header_field: (p, at, len) => {
|
|
129
|
+
assert(currentParser.ptr === p)
|
|
130
|
+
const start = at - currentBufferPtr + currentBufferRef.byteOffset
|
|
131
|
+
return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len))
|
|
132
|
+
},
|
|
133
|
+
/**
|
|
134
|
+
* @param {number} p
|
|
135
|
+
* @param {number} at
|
|
136
|
+
* @param {number} len
|
|
137
|
+
* @returns {number}
|
|
138
|
+
*/
|
|
139
|
+
wasm_on_header_value: (p, at, len) => {
|
|
140
|
+
assert(currentParser.ptr === p)
|
|
141
|
+
const start = at - currentBufferPtr + currentBufferRef.byteOffset
|
|
142
|
+
return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len))
|
|
143
|
+
},
|
|
144
|
+
/**
|
|
145
|
+
* @param {number} p
|
|
146
|
+
* @param {number} statusCode
|
|
147
|
+
* @param {0|1} upgrade
|
|
148
|
+
* @param {0|1} shouldKeepAlive
|
|
149
|
+
* @returns {number}
|
|
150
|
+
*/
|
|
151
|
+
wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
|
|
152
|
+
assert(currentParser.ptr === p)
|
|
153
|
+
return currentParser.onHeadersComplete(statusCode, upgrade === 1, shouldKeepAlive === 1)
|
|
154
|
+
},
|
|
155
|
+
/**
|
|
156
|
+
* @param {number} p
|
|
157
|
+
* @param {number} at
|
|
158
|
+
* @param {number} len
|
|
159
|
+
* @returns {number}
|
|
160
|
+
*/
|
|
161
|
+
wasm_on_body: (p, at, len) => {
|
|
162
|
+
assert(currentParser.ptr === p)
|
|
163
|
+
const start = at - currentBufferPtr + currentBufferRef.byteOffset
|
|
164
|
+
return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len))
|
|
165
|
+
},
|
|
166
|
+
/**
|
|
167
|
+
* @param {number} p
|
|
168
|
+
* @returns {number}
|
|
169
|
+
*/
|
|
170
|
+
wasm_on_message_complete: (p) => {
|
|
171
|
+
assert(currentParser.ptr === p)
|
|
172
|
+
return currentParser.onMessageComplete()
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
}
|
|
176
|
+
})
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
let llhttpInstance = null
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* @type {Parser|null}
|
|
183
|
+
*/
|
|
184
|
+
let currentParser = null
|
|
185
|
+
let currentBufferRef = null
|
|
186
|
+
/**
|
|
187
|
+
* @type {number}
|
|
188
|
+
*/
|
|
189
|
+
let currentBufferSize = 0
|
|
190
|
+
let currentBufferPtr = null
|
|
191
|
+
|
|
192
|
+
const USE_NATIVE_TIMER = 0
|
|
193
|
+
const USE_FAST_TIMER = 1
|
|
194
|
+
|
|
195
|
+
// Use fast timers for headers and body to take eventual event loop
|
|
196
|
+
// latency into account.
|
|
197
|
+
const TIMEOUT_HEADERS = 2 | USE_FAST_TIMER
|
|
198
|
+
const TIMEOUT_BODY = 4 | USE_FAST_TIMER
|
|
199
|
+
|
|
200
|
+
// Use native timers to ignore event loop latency for keep-alive
|
|
201
|
+
// handling.
|
|
202
|
+
const TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER
|
|
203
|
+
|
|
204
|
+
class Parser {
|
|
205
|
+
/**
|
|
206
|
+
* @param {import('./client.js')} client
|
|
207
|
+
* @param {import('net').Socket} socket
|
|
208
|
+
* @param {*} llhttp
|
|
209
|
+
*/
|
|
210
|
+
constructor (client, socket, { exports }) {
|
|
211
|
+
this.llhttp = exports
|
|
212
|
+
this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE)
|
|
213
|
+
this.client = client
|
|
214
|
+
/**
|
|
215
|
+
* @type {import('net').Socket}
|
|
216
|
+
*/
|
|
217
|
+
this.socket = socket
|
|
218
|
+
this.timeout = null
|
|
219
|
+
this.timeoutValue = null
|
|
220
|
+
this.timeoutType = null
|
|
221
|
+
this.statusCode = 0
|
|
222
|
+
this.statusText = ''
|
|
223
|
+
this.upgrade = false
|
|
224
|
+
this.headers = []
|
|
225
|
+
this.headersSize = 0
|
|
226
|
+
this.headersMaxSize = client[kMaxHeadersSize]
|
|
227
|
+
this.shouldKeepAlive = false
|
|
228
|
+
this.paused = false
|
|
229
|
+
this.resume = this.resume.bind(this)
|
|
230
|
+
|
|
231
|
+
this.bytesRead = 0
|
|
232
|
+
|
|
233
|
+
this.keepAlive = ''
|
|
234
|
+
this.contentLength = ''
|
|
235
|
+
this.connection = ''
|
|
236
|
+
this.maxResponseSize = client[kMaxResponseSize]
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
setTimeout (delay, type) {
|
|
240
|
+
// If the existing timer and the new timer are of different timer type
|
|
241
|
+
// (fast or native) or have different delay, we need to clear the existing
|
|
242
|
+
// timer and set a new one.
|
|
243
|
+
if (
|
|
244
|
+
delay !== this.timeoutValue ||
|
|
245
|
+
(type & USE_FAST_TIMER) ^ (this.timeoutType & USE_FAST_TIMER)
|
|
246
|
+
) {
|
|
247
|
+
// If a timeout is already set, clear it with clearTimeout of the fast
|
|
248
|
+
// timer implementation, as it can clear fast and native timers.
|
|
249
|
+
if (this.timeout) {
|
|
250
|
+
timers.clearTimeout(this.timeout)
|
|
251
|
+
this.timeout = null
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
if (delay) {
|
|
255
|
+
if (type & USE_FAST_TIMER) {
|
|
256
|
+
this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this))
|
|
257
|
+
} else {
|
|
258
|
+
this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this))
|
|
259
|
+
this.timeout?.unref()
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
this.timeoutValue = delay
|
|
264
|
+
} else if (this.timeout) {
|
|
265
|
+
if (this.timeout.refresh) {
|
|
266
|
+
this.timeout.refresh()
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
this.timeoutType = type
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
resume () {
|
|
274
|
+
if (this.socket.destroyed || !this.paused) {
|
|
275
|
+
return
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
assert(this.ptr != null)
|
|
279
|
+
assert(currentParser === null)
|
|
280
|
+
|
|
281
|
+
this.llhttp.llhttp_resume(this.ptr)
|
|
282
|
+
|
|
283
|
+
assert(this.timeoutType === TIMEOUT_BODY)
|
|
284
|
+
if (this.timeout) {
|
|
285
|
+
if (this.timeout.refresh) {
|
|
286
|
+
this.timeout.refresh()
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
this.paused = false
|
|
291
|
+
this.execute(this.socket.read() || EMPTY_BUF) // Flush parser.
|
|
292
|
+
this.readMore()
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
readMore () {
|
|
296
|
+
while (!this.paused && this.ptr) {
|
|
297
|
+
const chunk = this.socket.read()
|
|
298
|
+
if (chunk === null) {
|
|
299
|
+
break
|
|
300
|
+
}
|
|
301
|
+
this.execute(chunk)
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* @param {Buffer} chunk
|
|
307
|
+
*/
|
|
308
|
+
execute (chunk) {
|
|
309
|
+
assert(currentParser === null)
|
|
310
|
+
assert(this.ptr != null)
|
|
311
|
+
assert(!this.paused)
|
|
312
|
+
|
|
313
|
+
const { socket, llhttp } = this
|
|
314
|
+
|
|
315
|
+
// Allocate a new buffer if the current buffer is too small.
|
|
316
|
+
if (chunk.length > currentBufferSize) {
|
|
317
|
+
if (currentBufferPtr) {
|
|
318
|
+
llhttp.free(currentBufferPtr)
|
|
319
|
+
}
|
|
320
|
+
// Allocate a buffer that is a multiple of 4096 bytes.
|
|
321
|
+
currentBufferSize = Math.ceil(chunk.length / 4096) * 4096
|
|
322
|
+
currentBufferPtr = llhttp.malloc(currentBufferSize)
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(chunk)
|
|
326
|
+
|
|
327
|
+
// Call `execute` on the wasm parser.
|
|
328
|
+
// We pass the `llhttp_parser` pointer address, the pointer address of buffer view data,
|
|
329
|
+
// and finally the length of bytes to parse.
|
|
330
|
+
// The return value is an error code or `constants.ERROR.OK`.
|
|
331
|
+
try {
|
|
332
|
+
let ret
|
|
333
|
+
|
|
334
|
+
try {
|
|
335
|
+
currentBufferRef = chunk
|
|
336
|
+
currentParser = this
|
|
337
|
+
ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, chunk.length)
|
|
338
|
+
} finally {
|
|
339
|
+
currentParser = null
|
|
340
|
+
currentBufferRef = null
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
if (ret !== constants.ERROR.OK) {
|
|
344
|
+
const data = chunk.subarray(llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr)
|
|
345
|
+
|
|
346
|
+
if (ret === constants.ERROR.PAUSED_UPGRADE) {
|
|
347
|
+
this.onUpgrade(data)
|
|
348
|
+
} else if (ret === constants.ERROR.PAUSED) {
|
|
349
|
+
this.paused = true
|
|
350
|
+
socket.unshift(data)
|
|
351
|
+
} else {
|
|
352
|
+
const ptr = llhttp.llhttp_get_error_reason(this.ptr)
|
|
353
|
+
let message = ''
|
|
354
|
+
if (ptr) {
|
|
355
|
+
const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0)
|
|
356
|
+
message =
|
|
357
|
+
'Response does not match the HTTP/1.1 protocol (' +
|
|
358
|
+
Buffer.from(llhttp.memory.buffer, ptr, len).toString() +
|
|
359
|
+
')'
|
|
360
|
+
}
|
|
361
|
+
throw new HTTPParserError(message, constants.ERROR[ret], data)
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
} catch (err) {
|
|
365
|
+
util.destroy(socket, err)
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
destroy () {
|
|
370
|
+
assert(currentParser === null)
|
|
371
|
+
assert(this.ptr != null)
|
|
372
|
+
|
|
373
|
+
this.llhttp.llhttp_free(this.ptr)
|
|
374
|
+
this.ptr = null
|
|
375
|
+
|
|
376
|
+
this.timeout && timers.clearTimeout(this.timeout)
|
|
377
|
+
this.timeout = null
|
|
378
|
+
this.timeoutValue = null
|
|
379
|
+
this.timeoutType = null
|
|
380
|
+
|
|
381
|
+
this.paused = false
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* @param {Buffer} buf
|
|
386
|
+
* @returns {0}
|
|
387
|
+
*/
|
|
388
|
+
onStatus (buf) {
|
|
389
|
+
this.statusText = buf.toString()
|
|
390
|
+
return 0
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* @returns {0|-1}
|
|
395
|
+
*/
|
|
396
|
+
onMessageBegin () {
|
|
397
|
+
const { socket, client } = this
|
|
398
|
+
|
|
399
|
+
if (socket.destroyed) {
|
|
400
|
+
return -1
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
const request = client[kQueue][client[kRunningIdx]]
|
|
404
|
+
if (!request) {
|
|
405
|
+
return -1
|
|
406
|
+
}
|
|
407
|
+
request.onResponseStarted()
|
|
408
|
+
|
|
409
|
+
return 0
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* @param {Buffer} buf
|
|
414
|
+
* @returns {number}
|
|
415
|
+
*/
|
|
416
|
+
onHeaderField (buf) {
|
|
417
|
+
const len = this.headers.length
|
|
418
|
+
|
|
419
|
+
if ((len & 1) === 0) {
|
|
420
|
+
this.headers.push(buf)
|
|
421
|
+
} else {
|
|
422
|
+
this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
this.trackHeader(buf.length)
|
|
426
|
+
|
|
427
|
+
return 0
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* @param {Buffer} buf
|
|
432
|
+
* @returns {number}
|
|
433
|
+
*/
|
|
434
|
+
onHeaderValue (buf) {
|
|
435
|
+
let len = this.headers.length
|
|
436
|
+
|
|
437
|
+
if ((len & 1) === 1) {
|
|
438
|
+
this.headers.push(buf)
|
|
439
|
+
len += 1
|
|
440
|
+
} else {
|
|
441
|
+
this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
const key = this.headers[len - 2]
|
|
445
|
+
if (key.length === 10) {
|
|
446
|
+
const headerName = util.bufferToLowerCasedHeaderName(key)
|
|
447
|
+
if (headerName === 'keep-alive') {
|
|
448
|
+
this.keepAlive += buf.toString()
|
|
449
|
+
} else if (headerName === 'connection') {
|
|
450
|
+
this.connection += buf.toString()
|
|
451
|
+
}
|
|
452
|
+
} else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === 'content-length') {
|
|
453
|
+
this.contentLength += buf.toString()
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
this.trackHeader(buf.length)
|
|
457
|
+
|
|
458
|
+
return 0
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* @param {number} len
|
|
463
|
+
*/
|
|
464
|
+
trackHeader (len) {
|
|
465
|
+
this.headersSize += len
|
|
466
|
+
if (this.headersSize >= this.headersMaxSize) {
|
|
467
|
+
util.destroy(this.socket, new HeadersOverflowError())
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* @param {Buffer} head
|
|
473
|
+
*/
|
|
474
|
+
onUpgrade (head) {
|
|
475
|
+
const { upgrade, client, socket, headers, statusCode } = this
|
|
476
|
+
|
|
477
|
+
assert(upgrade)
|
|
478
|
+
assert(client[kSocket] === socket)
|
|
479
|
+
assert(!socket.destroyed)
|
|
480
|
+
assert(!this.paused)
|
|
481
|
+
assert((headers.length & 1) === 0)
|
|
482
|
+
|
|
483
|
+
const request = client[kQueue][client[kRunningIdx]]
|
|
484
|
+
assert(request)
|
|
485
|
+
assert(request.upgrade || request.method === 'CONNECT')
|
|
486
|
+
|
|
487
|
+
this.statusCode = 0
|
|
488
|
+
this.statusText = ''
|
|
489
|
+
this.shouldKeepAlive = false
|
|
490
|
+
|
|
491
|
+
this.headers = []
|
|
492
|
+
this.headersSize = 0
|
|
493
|
+
|
|
494
|
+
socket.unshift(head)
|
|
495
|
+
|
|
496
|
+
socket[kParser].destroy()
|
|
497
|
+
socket[kParser] = null
|
|
498
|
+
|
|
499
|
+
socket[kClient] = null
|
|
500
|
+
socket[kError] = null
|
|
501
|
+
|
|
502
|
+
removeAllListeners(socket)
|
|
503
|
+
|
|
504
|
+
client[kSocket] = null
|
|
505
|
+
client[kHTTPContext] = null // TODO (fix): This is hacky...
|
|
506
|
+
client[kQueue][client[kRunningIdx]++] = null
|
|
507
|
+
client.emit('disconnect', client[kUrl], [client], new InformationalError('upgrade'))
|
|
508
|
+
|
|
509
|
+
try {
|
|
510
|
+
request.onUpgrade(statusCode, headers, socket)
|
|
511
|
+
} catch (err) {
|
|
512
|
+
util.destroy(socket, err)
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
client[kResume]()
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
/**
|
|
519
|
+
* @param {number} statusCode
|
|
520
|
+
* @param {boolean} upgrade
|
|
521
|
+
* @param {boolean} shouldKeepAlive
|
|
522
|
+
* @returns {number}
|
|
523
|
+
*/
|
|
524
|
+
onHeadersComplete (statusCode, upgrade, shouldKeepAlive) {
|
|
525
|
+
const { client, socket, headers, statusText } = this
|
|
526
|
+
|
|
527
|
+
if (socket.destroyed) {
|
|
528
|
+
return -1
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
const request = client[kQueue][client[kRunningIdx]]
|
|
532
|
+
|
|
533
|
+
if (!request) {
|
|
534
|
+
return -1
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
assert(!this.upgrade)
|
|
538
|
+
assert(this.statusCode < 200)
|
|
539
|
+
|
|
540
|
+
if (statusCode === 100) {
|
|
541
|
+
util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket)))
|
|
542
|
+
return -1
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
/* this can only happen if server is misbehaving */
|
|
546
|
+
if (upgrade && !request.upgrade) {
|
|
547
|
+
util.destroy(socket, new SocketError('bad upgrade', util.getSocketInfo(socket)))
|
|
548
|
+
return -1
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
assert(this.timeoutType === TIMEOUT_HEADERS)
|
|
552
|
+
|
|
553
|
+
this.statusCode = statusCode
|
|
554
|
+
this.shouldKeepAlive = (
|
|
555
|
+
shouldKeepAlive ||
|
|
556
|
+
// Override llhttp value which does not allow keepAlive for HEAD.
|
|
557
|
+
(request.method === 'HEAD' && !socket[kReset] && this.connection.toLowerCase() === 'keep-alive')
|
|
558
|
+
)
|
|
559
|
+
|
|
560
|
+
if (this.statusCode >= 200) {
|
|
561
|
+
const bodyTimeout = request.bodyTimeout != null
|
|
562
|
+
? request.bodyTimeout
|
|
563
|
+
: client[kBodyTimeout]
|
|
564
|
+
this.setTimeout(bodyTimeout, TIMEOUT_BODY)
|
|
565
|
+
} else if (this.timeout) {
|
|
566
|
+
if (this.timeout.refresh) {
|
|
567
|
+
this.timeout.refresh()
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
if (request.method === 'CONNECT') {
|
|
572
|
+
assert(client[kRunning] === 1)
|
|
573
|
+
this.upgrade = true
|
|
574
|
+
return 2
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
if (upgrade) {
|
|
578
|
+
assert(client[kRunning] === 1)
|
|
579
|
+
this.upgrade = true
|
|
580
|
+
return 2
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
assert((this.headers.length & 1) === 0)
|
|
584
|
+
this.headers = []
|
|
585
|
+
this.headersSize = 0
|
|
586
|
+
|
|
587
|
+
if (this.shouldKeepAlive && client[kPipelining]) {
|
|
588
|
+
const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null
|
|
589
|
+
|
|
590
|
+
if (keepAliveTimeout != null) {
|
|
591
|
+
const timeout = Math.min(
|
|
592
|
+
keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
|
|
593
|
+
client[kKeepAliveMaxTimeout]
|
|
594
|
+
)
|
|
595
|
+
if (timeout <= 0) {
|
|
596
|
+
socket[kReset] = true
|
|
597
|
+
} else {
|
|
598
|
+
client[kKeepAliveTimeoutValue] = timeout
|
|
599
|
+
}
|
|
600
|
+
} else {
|
|
601
|
+
client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]
|
|
602
|
+
}
|
|
603
|
+
} else {
|
|
604
|
+
// Stop more requests from being dispatched.
|
|
605
|
+
socket[kReset] = true
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false
|
|
609
|
+
|
|
610
|
+
if (request.aborted) {
|
|
611
|
+
return -1
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
if (request.method === 'HEAD') {
|
|
615
|
+
return 1
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
if (statusCode < 200) {
|
|
619
|
+
return 1
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
if (socket[kBlocking]) {
|
|
623
|
+
socket[kBlocking] = false
|
|
624
|
+
client[kResume]()
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
return pause ? constants.ERROR.PAUSED : 0
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
/**
|
|
631
|
+
* @param {Buffer} buf
|
|
632
|
+
* @returns {number}
|
|
633
|
+
*/
|
|
634
|
+
onBody (buf) {
|
|
635
|
+
const { client, socket, statusCode, maxResponseSize } = this
|
|
636
|
+
|
|
637
|
+
if (socket.destroyed) {
|
|
638
|
+
return -1
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
const request = client[kQueue][client[kRunningIdx]]
|
|
642
|
+
assert(request)
|
|
643
|
+
|
|
644
|
+
assert(this.timeoutType === TIMEOUT_BODY)
|
|
645
|
+
if (this.timeout) {
|
|
646
|
+
if (this.timeout.refresh) {
|
|
647
|
+
this.timeout.refresh()
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
assert(statusCode >= 200)
|
|
652
|
+
|
|
653
|
+
if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
|
|
654
|
+
util.destroy(socket, new ResponseExceededMaxSizeError())
|
|
655
|
+
return -1
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
this.bytesRead += buf.length
|
|
659
|
+
|
|
660
|
+
if (request.onData(buf) === false) {
|
|
661
|
+
return constants.ERROR.PAUSED
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
return 0
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
/**
|
|
668
|
+
* @returns {number}
|
|
669
|
+
*/
|
|
670
|
+
onMessageComplete () {
|
|
671
|
+
const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this
|
|
672
|
+
|
|
673
|
+
if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
|
|
674
|
+
return -1
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
if (upgrade) {
|
|
678
|
+
return 0
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
assert(statusCode >= 100)
|
|
682
|
+
assert((this.headers.length & 1) === 0)
|
|
683
|
+
|
|
684
|
+
const request = client[kQueue][client[kRunningIdx]]
|
|
685
|
+
assert(request)
|
|
686
|
+
|
|
687
|
+
this.statusCode = 0
|
|
688
|
+
this.statusText = ''
|
|
689
|
+
this.bytesRead = 0
|
|
690
|
+
this.contentLength = ''
|
|
691
|
+
this.keepAlive = ''
|
|
692
|
+
this.connection = ''
|
|
693
|
+
|
|
694
|
+
this.headers = []
|
|
695
|
+
this.headersSize = 0
|
|
696
|
+
|
|
697
|
+
if (statusCode < 200) {
|
|
698
|
+
return 0
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
if (request.method !== 'HEAD' && contentLength && bytesRead !== parseInt(contentLength, 10)) {
|
|
702
|
+
util.destroy(socket, new ResponseContentLengthMismatchError())
|
|
703
|
+
return -1
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
request.onComplete(headers)
|
|
707
|
+
|
|
708
|
+
client[kQueue][client[kRunningIdx]++] = null
|
|
709
|
+
|
|
710
|
+
if (socket[kWriting]) {
|
|
711
|
+
assert(client[kRunning] === 0)
|
|
712
|
+
// Response completed before request.
|
|
713
|
+
util.destroy(socket, new InformationalError('reset'))
|
|
714
|
+
return constants.ERROR.PAUSED
|
|
715
|
+
} else if (!shouldKeepAlive) {
|
|
716
|
+
util.destroy(socket, new InformationalError('reset'))
|
|
717
|
+
return constants.ERROR.PAUSED
|
|
718
|
+
} else if (socket[kReset] && client[kRunning] === 0) {
|
|
719
|
+
// Destroy socket once all requests have completed.
|
|
720
|
+
// The request at the tail of the pipeline is the one
|
|
721
|
+
// that requested reset and no further requests should
|
|
722
|
+
// have been queued since then.
|
|
723
|
+
util.destroy(socket, new InformationalError('reset'))
|
|
724
|
+
return constants.ERROR.PAUSED
|
|
725
|
+
} else if (client[kPipelining] == null || client[kPipelining] === 1) {
|
|
726
|
+
// We must wait a full event loop cycle to reuse this socket to make sure
|
|
727
|
+
// that non-spec compliant servers are not closing the connection even if they
|
|
728
|
+
// said they won't.
|
|
729
|
+
setImmediate(client[kResume])
|
|
730
|
+
} else {
|
|
731
|
+
client[kResume]()
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
return 0
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
function onParserTimeout (parserWeakRef) {
|
|
739
|
+
const parser = parserWeakRef.deref()
|
|
740
|
+
if (!parser) {
|
|
741
|
+
return
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
const { socket, timeoutType, client, paused } = parser
|
|
745
|
+
|
|
746
|
+
if (timeoutType === TIMEOUT_HEADERS) {
|
|
747
|
+
if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
|
|
748
|
+
assert(!paused, 'cannot be paused while waiting for headers')
|
|
749
|
+
util.destroy(socket, new HeadersTimeoutError())
|
|
750
|
+
}
|
|
751
|
+
} else if (timeoutType === TIMEOUT_BODY) {
|
|
752
|
+
if (!paused) {
|
|
753
|
+
util.destroy(socket, new BodyTimeoutError())
|
|
754
|
+
}
|
|
755
|
+
} else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
|
|
756
|
+
assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue])
|
|
757
|
+
util.destroy(socket, new InformationalError('socket idle timeout'))
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
/**
|
|
762
|
+
* @param {import ('./client.js')} client
|
|
763
|
+
* @param {import('net').Socket} socket
|
|
764
|
+
* @returns
|
|
765
|
+
*/
|
|
766
|
+
function connectH1 (client, socket) {
|
|
767
|
+
client[kSocket] = socket
|
|
768
|
+
|
|
769
|
+
if (!llhttpInstance) {
|
|
770
|
+
llhttpInstance = lazyllhttp()
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
if (socket.errored) {
|
|
774
|
+
throw socket.errored
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
if (socket.destroyed) {
|
|
778
|
+
throw new SocketError('destroyed')
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
socket[kNoRef] = false
|
|
782
|
+
socket[kWriting] = false
|
|
783
|
+
socket[kReset] = false
|
|
784
|
+
socket[kBlocking] = false
|
|
785
|
+
socket[kParser] = new Parser(client, socket, llhttpInstance)
|
|
786
|
+
|
|
787
|
+
util.addListener(socket, 'error', onHttpSocketError)
|
|
788
|
+
util.addListener(socket, 'readable', onHttpSocketReadable)
|
|
789
|
+
util.addListener(socket, 'end', onHttpSocketEnd)
|
|
790
|
+
util.addListener(socket, 'close', onHttpSocketClose)
|
|
791
|
+
|
|
792
|
+
socket[kClosed] = false
|
|
793
|
+
socket.on('close', onSocketClose)
|
|
794
|
+
|
|
795
|
+
return {
|
|
796
|
+
version: 'h1',
|
|
797
|
+
defaultPipelining: 1,
|
|
798
|
+
write (request) {
|
|
799
|
+
return writeH1(client, request)
|
|
800
|
+
},
|
|
801
|
+
resume () {
|
|
802
|
+
resumeH1(client)
|
|
803
|
+
},
|
|
804
|
+
/**
|
|
805
|
+
* @param {Error|undefined} err
|
|
806
|
+
* @param {() => void} callback
|
|
807
|
+
*/
|
|
808
|
+
destroy (err, callback) {
|
|
809
|
+
if (socket[kClosed]) {
|
|
810
|
+
queueMicrotask(callback)
|
|
811
|
+
} else {
|
|
812
|
+
socket.on('close', callback)
|
|
813
|
+
socket.destroy(err)
|
|
814
|
+
}
|
|
815
|
+
},
|
|
816
|
+
/**
|
|
817
|
+
* @returns {boolean}
|
|
818
|
+
*/
|
|
819
|
+
get destroyed () {
|
|
820
|
+
return socket.destroyed
|
|
821
|
+
},
|
|
822
|
+
/**
|
|
823
|
+
* @param {import('../core/request.js')} request
|
|
824
|
+
* @returns {boolean}
|
|
825
|
+
*/
|
|
826
|
+
busy (request) {
|
|
827
|
+
if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
|
|
828
|
+
return true
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
if (request) {
|
|
832
|
+
if (client[kRunning] > 0 && !request.idempotent) {
|
|
833
|
+
// Non-idempotent request cannot be retried.
|
|
834
|
+
// Ensure that no other requests are inflight and
|
|
835
|
+
// could cause failure.
|
|
836
|
+
return true
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
if (client[kRunning] > 0 && (request.upgrade || request.method === 'CONNECT')) {
|
|
840
|
+
// Don't dispatch an upgrade until all preceding requests have completed.
|
|
841
|
+
// A misbehaving server might upgrade the connection before all pipelined
|
|
842
|
+
// request has completed.
|
|
843
|
+
return true
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 &&
|
|
847
|
+
(util.isStream(request.body) || util.isAsyncIterable(request.body) || util.isFormDataLike(request.body))) {
|
|
848
|
+
// Request with stream or iterator body can error while other requests
|
|
849
|
+
// are inflight and indirectly error those as well.
|
|
850
|
+
// Ensure this doesn't happen by waiting for inflight
|
|
851
|
+
// to complete before dispatching.
|
|
852
|
+
|
|
853
|
+
// Request with stream or iterator body cannot be retried.
|
|
854
|
+
// Ensure that no other requests are inflight and
|
|
855
|
+
// could cause failure.
|
|
856
|
+
return true
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
return false
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
function onHttpSocketError (err) {
|
|
866
|
+
assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')
|
|
867
|
+
|
|
868
|
+
const parser = this[kParser]
|
|
869
|
+
|
|
870
|
+
// On Mac OS, we get an ECONNRESET even if there is a full body to be forwarded
|
|
871
|
+
// to the user.
|
|
872
|
+
if (err.code === 'ECONNRESET' && parser.statusCode && !parser.shouldKeepAlive) {
|
|
873
|
+
// We treat all incoming data so for as a valid response.
|
|
874
|
+
parser.onMessageComplete()
|
|
875
|
+
return
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
this[kError] = err
|
|
879
|
+
|
|
880
|
+
this[kClient][kOnError](err)
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
function onHttpSocketReadable () {
|
|
884
|
+
this[kParser]?.readMore()
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
function onHttpSocketEnd () {
|
|
888
|
+
const parser = this[kParser]
|
|
889
|
+
|
|
890
|
+
if (parser.statusCode && !parser.shouldKeepAlive) {
|
|
891
|
+
// We treat all incoming data so far as a valid response.
|
|
892
|
+
parser.onMessageComplete()
|
|
893
|
+
return
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this)))
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
function onHttpSocketClose () {
|
|
900
|
+
const parser = this[kParser]
|
|
901
|
+
|
|
902
|
+
if (parser) {
|
|
903
|
+
if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
|
|
904
|
+
// We treat all incoming data so far as a valid response.
|
|
905
|
+
parser.onMessageComplete()
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
this[kParser].destroy()
|
|
909
|
+
this[kParser] = null
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))
|
|
913
|
+
|
|
914
|
+
const client = this[kClient]
|
|
915
|
+
|
|
916
|
+
client[kSocket] = null
|
|
917
|
+
client[kHTTPContext] = null // TODO (fix): This is hacky...
|
|
918
|
+
|
|
919
|
+
if (client.destroyed) {
|
|
920
|
+
assert(client[kPending] === 0)
|
|
921
|
+
|
|
922
|
+
// Fail entire queue.
|
|
923
|
+
const requests = client[kQueue].splice(client[kRunningIdx])
|
|
924
|
+
for (let i = 0; i < requests.length; i++) {
|
|
925
|
+
const request = requests[i]
|
|
926
|
+
util.errorRequest(client, request, err)
|
|
927
|
+
}
|
|
928
|
+
} else if (client[kRunning] > 0 && err.code !== 'UND_ERR_INFO') {
|
|
929
|
+
// Fail head of pipeline.
|
|
930
|
+
const request = client[kQueue][client[kRunningIdx]]
|
|
931
|
+
client[kQueue][client[kRunningIdx]++] = null
|
|
932
|
+
|
|
933
|
+
util.errorRequest(client, request, err)
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
client[kPendingIdx] = client[kRunningIdx]
|
|
937
|
+
|
|
938
|
+
assert(client[kRunning] === 0)
|
|
939
|
+
|
|
940
|
+
client.emit('disconnect', client[kUrl], [client], err)
|
|
941
|
+
|
|
942
|
+
client[kResume]()
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
function onSocketClose () {
|
|
946
|
+
this[kClosed] = true
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
/**
|
|
950
|
+
* @param {import('./client.js')} client
|
|
951
|
+
*/
|
|
952
|
+
function resumeH1 (client) {
|
|
953
|
+
const socket = client[kSocket]
|
|
954
|
+
|
|
955
|
+
if (socket && !socket.destroyed) {
|
|
956
|
+
if (client[kSize] === 0) {
|
|
957
|
+
if (!socket[kNoRef] && socket.unref) {
|
|
958
|
+
socket.unref()
|
|
959
|
+
socket[kNoRef] = true
|
|
960
|
+
}
|
|
961
|
+
} else if (socket[kNoRef] && socket.ref) {
|
|
962
|
+
socket.ref()
|
|
963
|
+
socket[kNoRef] = false
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
if (client[kSize] === 0) {
|
|
967
|
+
if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
|
|
968
|
+
socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE)
|
|
969
|
+
}
|
|
970
|
+
} else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
|
|
971
|
+
if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
|
|
972
|
+
const request = client[kQueue][client[kRunningIdx]]
|
|
973
|
+
const headersTimeout = request.headersTimeout != null
|
|
974
|
+
? request.headersTimeout
|
|
975
|
+
: client[kHeadersTimeout]
|
|
976
|
+
socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS)
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
// https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2
|
|
983
|
+
function shouldSendContentLength (method) {
|
|
984
|
+
return method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS' && method !== 'TRACE' && method !== 'CONNECT'
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
/**
|
|
988
|
+
* @param {import('./client.js')} client
|
|
989
|
+
* @param {import('../core/request.js')} request
|
|
990
|
+
* @returns
|
|
991
|
+
*/
|
|
992
|
+
function writeH1 (client, request) {
|
|
993
|
+
const { method, path, host, upgrade, blocking, reset } = request
|
|
994
|
+
|
|
995
|
+
let { body, headers, contentLength } = request
|
|
996
|
+
|
|
997
|
+
// https://tools.ietf.org/html/rfc7231#section-4.3.1
|
|
998
|
+
// https://tools.ietf.org/html/rfc7231#section-4.3.2
|
|
999
|
+
// https://tools.ietf.org/html/rfc7231#section-4.3.5
|
|
1000
|
+
|
|
1001
|
+
// Sending a payload body on a request that does not
|
|
1002
|
+
// expect it can cause undefined behavior on some
|
|
1003
|
+
// servers and corrupt connection state. Do not
|
|
1004
|
+
// re-use the connection for further requests.
|
|
1005
|
+
|
|
1006
|
+
const expectsPayload = (
|
|
1007
|
+
method === 'PUT' ||
|
|
1008
|
+
method === 'POST' ||
|
|
1009
|
+
method === 'PATCH' ||
|
|
1010
|
+
method === 'QUERY' ||
|
|
1011
|
+
method === 'PROPFIND' ||
|
|
1012
|
+
method === 'PROPPATCH'
|
|
1013
|
+
)
|
|
1014
|
+
|
|
1015
|
+
if (util.isFormDataLike(body)) {
|
|
1016
|
+
if (!extractBody) {
|
|
1017
|
+
extractBody = require('../web/fetch/body.js').extractBody
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
const [bodyStream, contentType] = extractBody(body)
|
|
1021
|
+
if (request.contentType == null) {
|
|
1022
|
+
headers.push('content-type', contentType)
|
|
1023
|
+
}
|
|
1024
|
+
body = bodyStream.stream
|
|
1025
|
+
contentLength = bodyStream.length
|
|
1026
|
+
} else if (util.isBlobLike(body) && request.contentType == null && body.type) {
|
|
1027
|
+
headers.push('content-type', body.type)
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
if (body && typeof body.read === 'function') {
|
|
1031
|
+
// Try to read EOF in order to get length.
|
|
1032
|
+
body.read(0)
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
const bodyLength = util.bodyLength(body)
|
|
1036
|
+
|
|
1037
|
+
contentLength = bodyLength ?? contentLength
|
|
1038
|
+
|
|
1039
|
+
if (contentLength === null) {
|
|
1040
|
+
contentLength = request.contentLength
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
if (contentLength === 0 && !expectsPayload) {
|
|
1044
|
+
// https://tools.ietf.org/html/rfc7230#section-3.3.2
|
|
1045
|
+
// A user agent SHOULD NOT send a Content-Length header field when
|
|
1046
|
+
// the request message does not contain a payload body and the method
|
|
1047
|
+
// semantics do not anticipate such a body.
|
|
1048
|
+
|
|
1049
|
+
contentLength = null
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
// https://github.com/nodejs/undici/issues/2046
|
|
1053
|
+
// A user agent may send a Content-Length header with 0 value, this should be allowed.
|
|
1054
|
+
if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) {
|
|
1055
|
+
if (client[kStrictContentLength]) {
|
|
1056
|
+
util.errorRequest(client, request, new RequestContentLengthMismatchError())
|
|
1057
|
+
return false
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
process.emitWarning(new RequestContentLengthMismatchError())
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
const socket = client[kSocket]
|
|
1064
|
+
|
|
1065
|
+
/**
|
|
1066
|
+
* @param {Error} [err]
|
|
1067
|
+
* @returns {void}
|
|
1068
|
+
*/
|
|
1069
|
+
const abort = (err) => {
|
|
1070
|
+
if (request.aborted || request.completed) {
|
|
1071
|
+
return
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
util.errorRequest(client, request, err || new RequestAbortedError())
|
|
1075
|
+
|
|
1076
|
+
util.destroy(body)
|
|
1077
|
+
util.destroy(socket, new InformationalError('aborted'))
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
try {
|
|
1081
|
+
request.onConnect(abort)
|
|
1082
|
+
} catch (err) {
|
|
1083
|
+
util.errorRequest(client, request, err)
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
if (request.aborted) {
|
|
1087
|
+
return false
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
if (method === 'HEAD') {
|
|
1091
|
+
// https://github.com/mcollina/undici/issues/258
|
|
1092
|
+
// Close after a HEAD request to interop with misbehaving servers
|
|
1093
|
+
// that may send a body in the response.
|
|
1094
|
+
|
|
1095
|
+
socket[kReset] = true
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
if (upgrade || method === 'CONNECT') {
|
|
1099
|
+
// On CONNECT or upgrade, block pipeline from dispatching further
|
|
1100
|
+
// requests on this connection.
|
|
1101
|
+
|
|
1102
|
+
socket[kReset] = true
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
if (reset != null) {
|
|
1106
|
+
socket[kReset] = reset
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
|
|
1110
|
+
socket[kReset] = true
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
if (blocking) {
|
|
1114
|
+
socket[kBlocking] = true
|
|
1115
|
+
}
|
|
1116
|
+
|
|
1117
|
+
if (socket.setTypeOfService) {
|
|
1118
|
+
socket.setTypeOfService(request.typeOfService)
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
let header = `${method} ${path} HTTP/1.1\r\n`
|
|
1122
|
+
|
|
1123
|
+
if (typeof host === 'string') {
|
|
1124
|
+
header += `host: ${host}\r\n`
|
|
1125
|
+
} else {
|
|
1126
|
+
header += client[kHostHeader]
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
if (upgrade) {
|
|
1130
|
+
header += `connection: upgrade\r\nupgrade: ${upgrade}\r\n`
|
|
1131
|
+
} else if (client[kPipelining] && !socket[kReset]) {
|
|
1132
|
+
header += 'connection: keep-alive\r\n'
|
|
1133
|
+
} else {
|
|
1134
|
+
header += 'connection: close\r\n'
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
if (Array.isArray(headers)) {
|
|
1138
|
+
for (let n = 0; n < headers.length; n += 2) {
|
|
1139
|
+
const key = headers[n + 0]
|
|
1140
|
+
const val = headers[n + 1]
|
|
1141
|
+
|
|
1142
|
+
if (Array.isArray(val)) {
|
|
1143
|
+
for (let i = 0; i < val.length; i++) {
|
|
1144
|
+
header += `${key}: ${val[i]}\r\n`
|
|
1145
|
+
}
|
|
1146
|
+
} else {
|
|
1147
|
+
header += `${key}: ${val}\r\n`
|
|
1148
|
+
}
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
if (channels.sendHeaders.hasSubscribers) {
|
|
1153
|
+
channels.sendHeaders.publish({ request, headers: header, socket })
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
if (!body || bodyLength === 0) {
|
|
1157
|
+
writeBuffer(abort, null, client, request, socket, contentLength, header, expectsPayload)
|
|
1158
|
+
} else if (util.isBuffer(body)) {
|
|
1159
|
+
writeBuffer(abort, body, client, request, socket, contentLength, header, expectsPayload)
|
|
1160
|
+
} else if (util.isBlobLike(body)) {
|
|
1161
|
+
if (typeof body.stream === 'function') {
|
|
1162
|
+
writeIterable(abort, body.stream(), client, request, socket, contentLength, header, expectsPayload)
|
|
1163
|
+
} else {
|
|
1164
|
+
writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload)
|
|
1165
|
+
}
|
|
1166
|
+
} else if (util.isStream(body)) {
|
|
1167
|
+
writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload)
|
|
1168
|
+
} else if (util.isIterable(body)) {
|
|
1169
|
+
writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload)
|
|
1170
|
+
} else {
|
|
1171
|
+
assert(false)
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
return true
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
/**
|
|
1178
|
+
* @param {AbortCallback} abort
|
|
1179
|
+
* @param {import('stream').Stream} body
|
|
1180
|
+
* @param {import('./client.js')} client
|
|
1181
|
+
* @param {import('../core/request.js')} request
|
|
1182
|
+
* @param {import('net').Socket} socket
|
|
1183
|
+
* @param {number} contentLength
|
|
1184
|
+
* @param {string} header
|
|
1185
|
+
* @param {boolean} expectsPayload
|
|
1186
|
+
*/
|
|
1187
|
+
function writeStream (abort, body, client, request, socket, contentLength, header, expectsPayload) {
|
|
1188
|
+
assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined')
|
|
1189
|
+
|
|
1190
|
+
let finished = false
|
|
1191
|
+
|
|
1192
|
+
const writer = new AsyncWriter({ abort, socket, request, contentLength, client, expectsPayload, header })
|
|
1193
|
+
|
|
1194
|
+
/**
|
|
1195
|
+
* @param {Buffer} chunk
|
|
1196
|
+
* @returns {void}
|
|
1197
|
+
*/
|
|
1198
|
+
const onData = function (chunk) {
|
|
1199
|
+
if (finished) {
|
|
1200
|
+
return
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1203
|
+
try {
|
|
1204
|
+
if (!writer.write(chunk) && this.pause) {
|
|
1205
|
+
this.pause()
|
|
1206
|
+
}
|
|
1207
|
+
} catch (err) {
|
|
1208
|
+
util.destroy(this, err)
|
|
1209
|
+
}
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
/**
|
|
1213
|
+
* @returns {void}
|
|
1214
|
+
*/
|
|
1215
|
+
const onDrain = function () {
|
|
1216
|
+
if (finished) {
|
|
1217
|
+
return
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
if (body.resume) {
|
|
1221
|
+
body.resume()
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
|
|
1225
|
+
/**
|
|
1226
|
+
* @returns {void}
|
|
1227
|
+
*/
|
|
1228
|
+
const onClose = function () {
|
|
1229
|
+
// 'close' might be emitted *before* 'error' for
|
|
1230
|
+
// broken streams. Wait a tick to avoid this case.
|
|
1231
|
+
queueMicrotask(() => {
|
|
1232
|
+
// It's only safe to remove 'error' listener after
|
|
1233
|
+
// 'close'.
|
|
1234
|
+
body.removeListener('error', onFinished)
|
|
1235
|
+
})
|
|
1236
|
+
|
|
1237
|
+
if (!finished) {
|
|
1238
|
+
const err = new RequestAbortedError()
|
|
1239
|
+
queueMicrotask(() => onFinished(err))
|
|
1240
|
+
}
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
/**
|
|
1244
|
+
* @param {Error} [err]
|
|
1245
|
+
* @returns
|
|
1246
|
+
*/
|
|
1247
|
+
const onFinished = function (err) {
|
|
1248
|
+
if (finished) {
|
|
1249
|
+
return
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
finished = true
|
|
1253
|
+
|
|
1254
|
+
assert(socket.destroyed || (socket[kWriting] && client[kRunning] <= 1))
|
|
1255
|
+
|
|
1256
|
+
socket
|
|
1257
|
+
.off('drain', onDrain)
|
|
1258
|
+
.off('error', onFinished)
|
|
1259
|
+
|
|
1260
|
+
body
|
|
1261
|
+
.removeListener('data', onData)
|
|
1262
|
+
.removeListener('end', onFinished)
|
|
1263
|
+
.removeListener('close', onClose)
|
|
1264
|
+
|
|
1265
|
+
if (!err) {
|
|
1266
|
+
try {
|
|
1267
|
+
writer.end()
|
|
1268
|
+
} catch (er) {
|
|
1269
|
+
err = er
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
writer.destroy(err)
|
|
1274
|
+
|
|
1275
|
+
if (err && (err.code !== 'UND_ERR_INFO' || err.message !== 'reset')) {
|
|
1276
|
+
util.destroy(body, err)
|
|
1277
|
+
} else {
|
|
1278
|
+
util.destroy(body)
|
|
1279
|
+
}
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
body
|
|
1283
|
+
.on('data', onData)
|
|
1284
|
+
.on('end', onFinished)
|
|
1285
|
+
.on('error', onFinished)
|
|
1286
|
+
.on('close', onClose)
|
|
1287
|
+
|
|
1288
|
+
if (body.resume) {
|
|
1289
|
+
body.resume()
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
socket
|
|
1293
|
+
.on('drain', onDrain)
|
|
1294
|
+
.on('error', onFinished)
|
|
1295
|
+
|
|
1296
|
+
if (body.errorEmitted ?? body.errored) {
|
|
1297
|
+
setImmediate(onFinished, body.errored)
|
|
1298
|
+
} else if (body.endEmitted ?? body.readableEnded) {
|
|
1299
|
+
setImmediate(onFinished, null)
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
if (body.closeEmitted ?? body.closed) {
|
|
1303
|
+
setImmediate(onClose)
|
|
1304
|
+
}
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
/**
|
|
1308
|
+
* @typedef AbortCallback
|
|
1309
|
+
* @type {Function}
|
|
1310
|
+
* @param {Error} [err]
|
|
1311
|
+
* @returns {void}
|
|
1312
|
+
*/
|
|
1313
|
+
|
|
1314
|
+
/**
|
|
1315
|
+
* @param {AbortCallback} abort
|
|
1316
|
+
* @param {Uint8Array|null} body
|
|
1317
|
+
* @param {import('./client.js')} client
|
|
1318
|
+
* @param {import('../core/request.js')} request
|
|
1319
|
+
* @param {import('net').Socket} socket
|
|
1320
|
+
* @param {number} contentLength
|
|
1321
|
+
* @param {string} header
|
|
1322
|
+
* @param {boolean} expectsPayload
|
|
1323
|
+
* @returns {void}
|
|
1324
|
+
*/
|
|
1325
|
+
function writeBuffer (abort, body, client, request, socket, contentLength, header, expectsPayload) {
|
|
1326
|
+
try {
|
|
1327
|
+
if (!body) {
|
|
1328
|
+
if (contentLength === 0) {
|
|
1329
|
+
socket.write(`${header}content-length: 0\r\n\r\n`, 'latin1')
|
|
1330
|
+
} else {
|
|
1331
|
+
assert(contentLength === null, 'no body must not have content length')
|
|
1332
|
+
socket.write(`${header}\r\n`, 'latin1')
|
|
1333
|
+
}
|
|
1334
|
+
} else if (util.isBuffer(body)) {
|
|
1335
|
+
assert(contentLength === body.byteLength, 'buffer body must have content length')
|
|
1336
|
+
|
|
1337
|
+
socket.cork()
|
|
1338
|
+
socket.write(`${header}content-length: ${contentLength}\r\n\r\n`, 'latin1')
|
|
1339
|
+
socket.write(body)
|
|
1340
|
+
socket.uncork()
|
|
1341
|
+
request.onBodySent(body)
|
|
1342
|
+
|
|
1343
|
+
if (!expectsPayload && request.reset !== false) {
|
|
1344
|
+
socket[kReset] = true
|
|
1345
|
+
}
|
|
1346
|
+
}
|
|
1347
|
+
request.onRequestSent()
|
|
1348
|
+
|
|
1349
|
+
client[kResume]()
|
|
1350
|
+
} catch (err) {
|
|
1351
|
+
abort(err)
|
|
1352
|
+
}
|
|
1353
|
+
}
|
|
1354
|
+
|
|
1355
|
+
/**
|
|
1356
|
+
* @param {AbortCallback} abort
|
|
1357
|
+
* @param {Blob} body
|
|
1358
|
+
* @param {import('./client.js')} client
|
|
1359
|
+
* @param {import('../core/request.js')} request
|
|
1360
|
+
* @param {import('net').Socket} socket
|
|
1361
|
+
* @param {number} contentLength
|
|
1362
|
+
* @param {string} header
|
|
1363
|
+
* @param {boolean} expectsPayload
|
|
1364
|
+
* @returns {Promise<void>}
|
|
1365
|
+
*/
|
|
1366
|
+
async function writeBlob (abort, body, client, request, socket, contentLength, header, expectsPayload) {
|
|
1367
|
+
assert(contentLength === body.size, 'blob body must have content length')
|
|
1368
|
+
|
|
1369
|
+
try {
|
|
1370
|
+
if (contentLength != null && contentLength !== body.size) {
|
|
1371
|
+
throw new RequestContentLengthMismatchError()
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1374
|
+
const buffer = Buffer.from(await body.arrayBuffer())
|
|
1375
|
+
|
|
1376
|
+
socket.cork()
|
|
1377
|
+
socket.write(`${header}content-length: ${contentLength}\r\n\r\n`, 'latin1')
|
|
1378
|
+
socket.write(buffer)
|
|
1379
|
+
socket.uncork()
|
|
1380
|
+
|
|
1381
|
+
request.onBodySent(buffer)
|
|
1382
|
+
request.onRequestSent()
|
|
1383
|
+
|
|
1384
|
+
if (!expectsPayload && request.reset !== false) {
|
|
1385
|
+
socket[kReset] = true
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
client[kResume]()
|
|
1389
|
+
} catch (err) {
|
|
1390
|
+
abort(err)
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
/**
|
|
1395
|
+
* @param {AbortCallback} abort
|
|
1396
|
+
* @param {Iterable} body
|
|
1397
|
+
* @param {import('./client.js')} client
|
|
1398
|
+
* @param {import('../core/request.js')} request
|
|
1399
|
+
* @param {import('net').Socket} socket
|
|
1400
|
+
* @param {number} contentLength
|
|
1401
|
+
* @param {string} header
|
|
1402
|
+
* @param {boolean} expectsPayload
|
|
1403
|
+
* @returns {Promise<void>}
|
|
1404
|
+
*/
|
|
1405
|
+
async function writeIterable (abort, body, client, request, socket, contentLength, header, expectsPayload) {
|
|
1406
|
+
assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined')
|
|
1407
|
+
|
|
1408
|
+
let callback = null
|
|
1409
|
+
function onDrain () {
|
|
1410
|
+
if (callback) {
|
|
1411
|
+
const cb = callback
|
|
1412
|
+
callback = null
|
|
1413
|
+
cb()
|
|
1414
|
+
}
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1417
|
+
const waitForDrain = () => new Promise((resolve, reject) => {
|
|
1418
|
+
assert(callback === null)
|
|
1419
|
+
|
|
1420
|
+
if (socket[kError]) {
|
|
1421
|
+
reject(socket[kError])
|
|
1422
|
+
} else {
|
|
1423
|
+
callback = resolve
|
|
1424
|
+
}
|
|
1425
|
+
})
|
|
1426
|
+
|
|
1427
|
+
socket
|
|
1428
|
+
.on('close', onDrain)
|
|
1429
|
+
.on('drain', onDrain)
|
|
1430
|
+
|
|
1431
|
+
const writer = new AsyncWriter({ abort, socket, request, contentLength, client, expectsPayload, header })
|
|
1432
|
+
try {
|
|
1433
|
+
// It's up to the user to somehow abort the async iterable.
|
|
1434
|
+
for await (const chunk of body) {
|
|
1435
|
+
if (socket[kError]) {
|
|
1436
|
+
throw socket[kError]
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
if (!writer.write(chunk)) {
|
|
1440
|
+
await waitForDrain()
|
|
1441
|
+
}
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
writer.end()
|
|
1445
|
+
} catch (err) {
|
|
1446
|
+
writer.destroy(err)
|
|
1447
|
+
} finally {
|
|
1448
|
+
socket
|
|
1449
|
+
.off('close', onDrain)
|
|
1450
|
+
.off('drain', onDrain)
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
class AsyncWriter {
|
|
1455
|
+
/**
|
|
1456
|
+
*
|
|
1457
|
+
* @param {object} arg
|
|
1458
|
+
* @param {AbortCallback} arg.abort
|
|
1459
|
+
* @param {import('net').Socket} arg.socket
|
|
1460
|
+
* @param {import('../core/request.js')} arg.request
|
|
1461
|
+
* @param {number} arg.contentLength
|
|
1462
|
+
* @param {import('./client.js')} arg.client
|
|
1463
|
+
* @param {boolean} arg.expectsPayload
|
|
1464
|
+
* @param {string} arg.header
|
|
1465
|
+
*/
|
|
1466
|
+
constructor ({ abort, socket, request, contentLength, client, expectsPayload, header }) {
|
|
1467
|
+
this.socket = socket
|
|
1468
|
+
this.request = request
|
|
1469
|
+
this.contentLength = contentLength
|
|
1470
|
+
this.client = client
|
|
1471
|
+
this.bytesWritten = 0
|
|
1472
|
+
this.expectsPayload = expectsPayload
|
|
1473
|
+
this.header = header
|
|
1474
|
+
this.abort = abort
|
|
1475
|
+
|
|
1476
|
+
socket[kWriting] = true
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1479
|
+
/**
|
|
1480
|
+
* @param {Buffer} chunk
|
|
1481
|
+
* @returns
|
|
1482
|
+
*/
|
|
1483
|
+
write (chunk) {
|
|
1484
|
+
const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this
|
|
1485
|
+
|
|
1486
|
+
if (socket[kError]) {
|
|
1487
|
+
throw socket[kError]
|
|
1488
|
+
}
|
|
1489
|
+
|
|
1490
|
+
if (socket.destroyed) {
|
|
1491
|
+
return false
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
const len = Buffer.byteLength(chunk)
|
|
1495
|
+
if (!len) {
|
|
1496
|
+
return true
|
|
1497
|
+
}
|
|
1498
|
+
|
|
1499
|
+
// We should defer writing chunks.
|
|
1500
|
+
if (contentLength !== null && bytesWritten + len > contentLength) {
|
|
1501
|
+
if (client[kStrictContentLength]) {
|
|
1502
|
+
throw new RequestContentLengthMismatchError()
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
process.emitWarning(new RequestContentLengthMismatchError())
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
socket.cork()
|
|
1509
|
+
|
|
1510
|
+
if (bytesWritten === 0) {
|
|
1511
|
+
if (!expectsPayload && request.reset !== false) {
|
|
1512
|
+
socket[kReset] = true
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
if (contentLength === null) {
|
|
1516
|
+
socket.write(`${header}transfer-encoding: chunked\r\n`, 'latin1')
|
|
1517
|
+
} else {
|
|
1518
|
+
socket.write(`${header}content-length: ${contentLength}\r\n\r\n`, 'latin1')
|
|
1519
|
+
}
|
|
1520
|
+
}
|
|
1521
|
+
|
|
1522
|
+
if (contentLength === null) {
|
|
1523
|
+
socket.write(`\r\n${len.toString(16)}\r\n`, 'latin1')
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
this.bytesWritten += len
|
|
1527
|
+
|
|
1528
|
+
const ret = socket.write(chunk)
|
|
1529
|
+
|
|
1530
|
+
socket.uncork()
|
|
1531
|
+
|
|
1532
|
+
request.onBodySent(chunk)
|
|
1533
|
+
|
|
1534
|
+
if (!ret) {
|
|
1535
|
+
if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
|
|
1536
|
+
if (socket[kParser].timeout.refresh) {
|
|
1537
|
+
socket[kParser].timeout.refresh()
|
|
1538
|
+
}
|
|
1539
|
+
}
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1542
|
+
return ret
|
|
1543
|
+
}
|
|
1544
|
+
|
|
1545
|
+
/**
|
|
1546
|
+
* @returns {void}
|
|
1547
|
+
*/
|
|
1548
|
+
end () {
|
|
1549
|
+
const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this
|
|
1550
|
+
request.onRequestSent()
|
|
1551
|
+
|
|
1552
|
+
socket[kWriting] = false
|
|
1553
|
+
|
|
1554
|
+
if (socket[kError]) {
|
|
1555
|
+
throw socket[kError]
|
|
1556
|
+
}
|
|
1557
|
+
|
|
1558
|
+
if (socket.destroyed) {
|
|
1559
|
+
return
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1562
|
+
if (bytesWritten === 0) {
|
|
1563
|
+
if (expectsPayload) {
|
|
1564
|
+
// https://tools.ietf.org/html/rfc7230#section-3.3.2
|
|
1565
|
+
// A user agent SHOULD send a Content-Length in a request message when
|
|
1566
|
+
// no Transfer-Encoding is sent and the request method defines a meaning
|
|
1567
|
+
// for an enclosed payload body.
|
|
1568
|
+
|
|
1569
|
+
socket.write(`${header}content-length: 0\r\n\r\n`, 'latin1')
|
|
1570
|
+
} else {
|
|
1571
|
+
socket.write(`${header}\r\n`, 'latin1')
|
|
1572
|
+
}
|
|
1573
|
+
} else if (contentLength === null) {
|
|
1574
|
+
socket.write('\r\n0\r\n\r\n', 'latin1')
|
|
1575
|
+
}
|
|
1576
|
+
|
|
1577
|
+
if (contentLength !== null && bytesWritten !== contentLength) {
|
|
1578
|
+
if (client[kStrictContentLength]) {
|
|
1579
|
+
throw new RequestContentLengthMismatchError()
|
|
1580
|
+
} else {
|
|
1581
|
+
process.emitWarning(new RequestContentLengthMismatchError())
|
|
1582
|
+
}
|
|
1583
|
+
}
|
|
1584
|
+
|
|
1585
|
+
if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
|
|
1586
|
+
if (socket[kParser].timeout.refresh) {
|
|
1587
|
+
socket[kParser].timeout.refresh()
|
|
1588
|
+
}
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
client[kResume]()
|
|
1592
|
+
}
|
|
1593
|
+
|
|
1594
|
+
/**
|
|
1595
|
+
* @param {Error} [err]
|
|
1596
|
+
* @returns {void}
|
|
1597
|
+
*/
|
|
1598
|
+
destroy (err) {
|
|
1599
|
+
const { socket, client, abort } = this
|
|
1600
|
+
|
|
1601
|
+
socket[kWriting] = false
|
|
1602
|
+
|
|
1603
|
+
if (err) {
|
|
1604
|
+
assert(client[kRunning] <= 1, 'pipeline should only contain this request')
|
|
1605
|
+
abort(err)
|
|
1606
|
+
}
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
module.exports = connectH1
|