@daloyjs/core 0.16.0 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/adapters/bun.d.ts.map +1 -1
- package/dist/adapters/bun.js +38 -7
- package/dist/adapters/bun.js.map +1 -1
- package/dist/adapters/node.d.ts.map +1 -1
- package/dist/adapters/node.js +29 -7
- package/dist/adapters/node.js.map +1 -1
- package/dist/app.d.ts +412 -3
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +895 -29
- package/dist/app.js.map +1 -1
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +218 -1
- package/dist/cli.js.map +1 -1
- package/dist/combine.d.ts +97 -0
- package/dist/combine.d.ts.map +1 -0
- package/dist/combine.js +247 -0
- package/dist/combine.js.map +1 -0
- package/dist/compression.d.ts +127 -0
- package/dist/compression.d.ts.map +1 -0
- package/dist/compression.js +368 -0
- package/dist/compression.js.map +1 -0
- package/dist/config.d.ts +97 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +132 -0
- package/dist/config.js.map +1 -0
- package/dist/conn-info.d.ts +121 -0
- package/dist/conn-info.d.ts.map +1 -0
- package/dist/conn-info.js +145 -0
- package/dist/conn-info.js.map +1 -0
- package/dist/cookie.d.ts +112 -0
- package/dist/cookie.d.ts.map +1 -0
- package/dist/cookie.js +185 -0
- package/dist/cookie.js.map +1 -0
- package/dist/dependency.d.ts +47 -0
- package/dist/dependency.d.ts.map +1 -0
- package/dist/dependency.js +68 -0
- package/dist/dependency.js.map +1 -0
- package/dist/etag.d.ts +48 -0
- package/dist/etag.d.ts.map +1 -0
- package/dist/etag.js +117 -0
- package/dist/etag.js.map +1 -0
- package/dist/index.d.ts +41 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -5
- package/dist/index.js.map +1 -1
- package/dist/ip-restriction.d.ts +75 -0
- package/dist/ip-restriction.d.ts.map +1 -0
- package/dist/ip-restriction.js +203 -0
- package/dist/ip-restriction.js.map +1 -0
- package/dist/jwk.d.ts +82 -0
- package/dist/jwk.d.ts.map +1 -0
- package/dist/jwk.js +269 -0
- package/dist/jwk.js.map +1 -0
- package/dist/jwt.d.ts +103 -0
- package/dist/jwt.d.ts.map +1 -0
- package/dist/jwt.js +437 -0
- package/dist/jwt.js.map +1 -0
- package/dist/load-shedding.d.ts +73 -0
- package/dist/load-shedding.d.ts.map +1 -0
- package/dist/load-shedding.js +171 -0
- package/dist/load-shedding.js.map +1 -0
- package/dist/middleware.d.ts +205 -2
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +399 -78
- package/dist/middleware.js.map +1 -1
- package/dist/multipart.d.ts +17 -0
- package/dist/multipart.d.ts.map +1 -1
- package/dist/multipart.js +117 -1
- package/dist/multipart.js.map +1 -1
- package/dist/openapi.d.ts +8 -0
- package/dist/openapi.d.ts.map +1 -1
- package/dist/openapi.js +18 -1
- package/dist/openapi.js.map +1 -1
- package/dist/security-schemes.d.ts +21 -5
- package/dist/security-schemes.d.ts.map +1 -1
- package/dist/security-schemes.js +32 -5
- package/dist/security-schemes.js.map +1 -1
- package/dist/security.d.ts +32 -0
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +79 -0
- package/dist/security.js.map +1 -1
- package/dist/session.d.ts +43 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +130 -87
- package/dist/session.js.map +1 -1
- package/dist/subdomains.d.ts +97 -0
- package/dist/subdomains.d.ts.map +1 -0
- package/dist/subdomains.js +157 -0
- package/dist/subdomains.js.map +1 -0
- package/dist/time-claims.d.ts +72 -0
- package/dist/time-claims.d.ts.map +1 -0
- package/dist/time-claims.js +88 -0
- package/dist/time-claims.js.map +1 -0
- package/dist/types.d.ts +50 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/websocket.d.ts +51 -34
- package/dist/websocket.d.ts.map +1 -1
- package/dist/websocket.js +162 -2
- package/dist/websocket.js.map +1 -1
- package/package.json +31 -3
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ DaloyJS exists to be the framework you'd build if you took the best ideas from e
|
|
|
26
26
|
| **Supply-chain-hardened installs and publishing** | [pnpm](https://pnpm.io/motivation) + hardened CI/CD | `ignore-scripts`, release-age cooldown, explicit build allowlist, SHA-pinned actions, isolated OIDC publish with provenance. |
|
|
27
27
|
|
|
28
28
|
```
|
|
29
|
-
framework test suite passing ·
|
|
29
|
+
framework test suite passing · ≥90% line + function coverage / ≥90% branch coverage · typechecks on TypeScript 6 with `strict: true`
|
|
30
30
|
runs on Node, Bun, Deno, Cloudflare, Vercel
|
|
31
31
|
~12.3M static-route ops/sec · ~1.5M dynamic-route ops/sec on M-class CPU
|
|
32
32
|
```
|
|
@@ -374,13 +374,13 @@ The core only ever sees `Request → Response`. Adapters live at the edge.
|
|
|
374
374
|
|
|
375
375
|
## Status
|
|
376
376
|
|
|
377
|
-
DaloyJS is in **public preview** (`0.x`). The public API may still change between minor versions; deprecations will get at least one minor cycle once `1.0.0` ships. The framework is already in use for production trials — every release ships with
|
|
377
|
+
DaloyJS is in **public preview** (`0.x`). The public API may still change between minor versions; deprecations will get at least one minor cycle once `1.0.0` ships. The framework is already in use for production trials — every release ships with **≥90% line + function coverage and ≥90% branch coverage**, strict TypeScript, OpenSSF Scorecard, CodeQL, zizmor workflow linting, and npm provenance. Coverage was relaxed from a former 100% gate so that complex security work isn't blocked chasing throwaway tests for unreachable defensive branches or tsx source-map phantoms; see [AGENTS.md](AGENTS.md) for the policy.
|
|
378
378
|
|
|
379
379
|
What works today, at a glance:
|
|
380
380
|
|
|
381
381
|
- Contract-first routing, Standard Schema validation (Zod 4 / Valibot / ArkType / TypeBox), and OpenAPI 3.1 from a single source of truth.
|
|
382
382
|
- Adapters for Node (Heroku/Railway/Render/Fly.io), Bun, Deno, Cloudflare Workers, Vercel Node / Edge / Next.js / Netlify Edge, Fastly Compute, and AWS Lambda / Netlify Functions / Lambda Function URLs.
|
|
383
|
-
- Built-in security primitives (body limits, prototype-pollution-safe JSON, path-traversal guard, request timeouts, header injection guards, **duplicate `Host` / `Content-Length` rejection**, **stripped `Server` / `X-Powered-By` headers by default**, **structured-log redaction defaults** for authorization / cookie / password / token / JWT-shaped values, **`secureHeaders()` auto-applied since `0.16.0`** with user-installed overrides automatically replacing the auto instance, **cross-origin state-changing requests rejected with `403` since `0.16.0`** unless a route's `cors()` policy allows the request origin) plus first-party middleware (`secureHeaders` with CSP nonce + Trusted Types, `cors`, `rateLimit`, `requestId`, `bearerAuth`, `basicAuth`, `csrf` with **double-submit cookie** + **Fetch-Metadata** strategies, `session`, `timing` / `timingSafeEqual`) and **zero-knob crypto helpers** (`passwordHash` / `passwordVerify` at `@daloyjs/core/hashing`, `verifyWebhookSignature` / `signWebhookPayload`).
|
|
383
|
+
- Built-in security primitives (body limits, prototype-pollution-safe JSON, path-traversal guard, request timeouts, header injection guards, **duplicate `Host` / `Content-Length` rejection**, **stripped `Server` / `X-Powered-By` headers by default**, **structured-log redaction defaults** for authorization / cookie / password / token / JWT-shaped values, **`secureHeaders()` auto-applied since `0.16.0`** with user-installed overrides automatically replacing the auto instance, **cross-origin state-changing requests rejected with `403` since `0.16.0`** unless a route's `cors()` policy allows the request origin, **refuse-to-boot on weak session secrets, `cors({ origin: "*" })`, `session()` + state-changing route without `csrf()`, and unconfigured `X-Forwarded-*` in production since `0.17.0`**, **connection-draining shutdown with `Connection: close` on `503` and in-flight responses, `crashOnUnhandledRejection` default-on in production, and `app.healthcheck()` / `app.readinesscheck()` primitives with bearer-token auth + per-IP rate limit since `0.18.0`**, **`rateLimit({ groupId })` shared buckets, `combine` primitives `every` / `some` / `except`, `ipRestriction()` with CIDR-aware IPv4/IPv6 allow/deny lists, and `internal: true` route flag + `app.inject()` since `0.19.0`**, **`loadShedding()` event-loop-pressure middleware (auto-`503` + `Retry-After`), `app.cspReportRoute()` rate-limited CSP violation receiver + `secureHeaders({ reportingEndpoints, reportTo })` wiring, `disconnectStatusCode: 499` default for client-aborted requests, and `defineConfig({ schema, source })` boot-time typed configuration validation since `0.20.0`**, **`createJwtSigner()` / `createJwtVerifier()` with `alg`-discipline (no `alg: "none"`, explicit allowlist, HS+JWK refused at construction) + `exp`-required sign refusal, `requireScopes()` with RFC-6750 `WWW-Authenticate: Bearer` challenge + per-request scope aggregation, and `etag()` helper with `Set-Cookie` / `Cache-Control: private | no-store | no-cache` auto-skip (cross-tenant fingerprinting defense) since `0.21.0`**, **`jwk()` asymmetric-only JWKS middleware (refuses `HS*` at construction, `kid` + JWT-vs-JWK `alg` cross-check, `https://` JWKS URL with TTL caching + in-flight-promise dedup, normalizes `scope` / `scp` / `scopes` claims), per-scheme `verify(credentials, ctx)` revalidation hook on `bearerAuth()` / `jwk()`, `basicAuth({ onAuthSuccess })` typed-context callback, and `Cache-Control: no-store` on every first-party auth helper 401 challenge since `0.22.0`**, **`wsRateLimit()` for WebSocket upgrades, `loginThrottle()` credential-entry preset, `rotateSession()` privilege-change session rotation, `fileField({ magicBytes })` upload signature checks, `requirePayloadAuth` security-scheme guard, and WebSocket safe defaults since `0.23.0`**, **`app({ behindProxy })` declarative model (replaces `trustProxy`), adapter-independent `ConnInfo` abstraction (`getConnInfo()` / lazy `ctx.remoteAddress` / `ctx.remotePort`), `daloy doctor` production-posture validator (with `--audit-secrets` + `--no-audit-defaults`), container-first `create-daloy` templates (`HEALTHCHECK` to `/readyz`, `STOPSIGNAL SIGTERM`, non-root user, `tini` PID 1), PSL-aware `subdomains()` helper with `≤ 90 days` snapshot guard, plugin `dependencies: string[]` refuse-to-boot, namespace-protected `decorate({ override })`, plugin extension ordering with `before` / `after` + cycle detection, `behindProxy.hops` collapses to the `(N+1)`-from-rightmost slot, `defineDependency()` typed-DI helper with per-request deduplication, scheme-aware `ctx.state.auth` typed contract, plugin lifecycle encapsulation default of `local`, and required `name` + optional `seed` for stateful plugins since `0.24.0`**, **`compression()` middleware (built on the web-standard `CompressionStream`, prefers `br` > `gzip` > `deflate` and probes runtime support once) with BREACH-aware always-on guards (skip `Set-Cookie` / `Authorization` / session-or-CSRF cookie / already-compressed content types), `minimumSize: 1024` + negative-compression-ratio post-check, no configurable `compressLevel` knob (CPU-DoS defense — `level: 9` is refused at construction), always-on `Vary: Accept-Encoding`, and strong → weak ETag downgrade per RFC 9110 §8.8.3 since `0.25.0`**, **`secureDefaults: false` refuse-to-construct in production (unless `acknowledgeInsecureDefaults: true`) + once-per-process `error` log naming every disabled default, `createJwtSigner()` / `createJwtVerifier()` refuse HS-shaped secrets `< 32` bytes (RFC 7518 §3.2), `secureHeaders()` refuses to construct with both `frameOptions: false` AND no CSP `frame-ancestors` directive (no clickjacking defense), and mandatory hardware-backed 2FA for every contributor with publish access (documented in `SECURITY.md`) since `0.26.0`**, and **single-source-of-truth cookie and temporal-claim helpers (`@daloyjs/core/cookie`, `@daloyjs/core/time-claims`), `session()` / `csrf()` `__Secure-` cookie refuse-to-boot, zero-runtime-dependency CI governance, and secret-comparison CI grep gate since `0.27.0`**, and **pattern-agnostic-framework parity audit suite since `0.28.0`** (`scripts/verify-wave9-audits.ts` static gates wired into CI as `pnpm verify:wave9-audits` — refuses public setters on `request.url` / `request.path` / `request.method`, refuses `ctx.respond = false`-style response-bypass switches, refuses `Referer`-based redirect targets, refuses `AES-CBC` / `SHA-1` / third-party crypto reach inside the cookie helper module, refuses adapter dispatch via `allowInternal: true` / `app.inject()`, and reaffirms the zero-runtime-dependency posture — plus `daloy doctor --audit-defaults` live-config checks that flag wildcard-credentials CORS, > 24 h CORS `maxAge`, > 25 MiB blanket body limits, zero `idleTimeoutMs` in production, `allowUnsafeValidationDetails` / `exposeFrameworkIdentity` / `enableServerTimingInProduction` opt-ins that the public type does not expose), and **zero-runtime-dependency batteries-included parity & governance audit suite since `0.29.0`** (`SECURITY-CONTACTS.md` rotation file with machine-readable ACTIVE block + `<!-- last-exercise: -->` marker, `scripts/verify-wave10-audits.ts` static gates wired into CI as `pnpm verify:wave10-audits` — refuses a missing/stale rotation file, refuses runtime deps on `@daloyjs/core/package.json`, refuses removal of the plugin-prerequisite refuse-to-boot path or the `topoSortExtensions` cycle-detection throw from `src/app.ts`, and reaffirms the governance floor: top-level `permissions:` on every workflow, `persist-credentials: false` on every `actions/checkout`, 40-hex SHA pinning on every third-party `uses:`, `step-security/harden-runner` on every workflow that uses third-party actions, and `.github/CODEOWNERS` on privileged files — plus a release-workflow contributor-rotation refusal step that exits non-zero when `github.actor` is not on the `SECURITY-CONTACTS` ACTIVE rotation) — all guards opt-out via `app({ secureDefaults: false })`) plus first-party middleware (`secureHeaders` with CSP nonce + Trusted Types, `cors`, `rateLimit`, `requestId`, `bearerAuth`, `basicAuth`, `csrf` with **double-submit cookie** + **Fetch-Metadata** strategies, `session`, `timing` / `timingSafeEqual`) and **zero-knob crypto helpers** (`passwordHash` / `passwordVerify` at `@daloyjs/core/hashing`, `verifyWebhookSignature` / `signWebhookPayload`).
|
|
384
384
|
- Streaming helpers (SSE + NDJSON), multipart ergonomics, OpenTelemetry-compatible tracing, signed-cookie sessions with pluggable stores, and a Redis-backed rate-limit store at `@daloyjs/core/rate-limit-redis`.
|
|
385
385
|
- WebSocket primitives with the same Bun-style handler shape (`open`/`message`/`close`/`drain`/`error`) running on both Node and Bun adapters, plus typed `app.ws(path, handler)` registration and route-table awareness so the upgrade listener is only installed when WS routes exist.
|
|
386
386
|
- Pretty `printStartupBanner()` / `formatStartupBanner()` startup helpers at `@daloyjs/core/banner`, used by every starter template so `pnpm dev` greets you with a colorized boxed panel (TTY + `NO_COLOR` / `FORCE_COLOR` aware, with an ASCII fallback for dumb terminals).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../../src/adapters/bun.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../../src/adapters/bun.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAerC,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,GAAG,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE,eAAoB,GAAG,eAAe,CAuE3E"}
|
package/dist/adapters/bun.js
CHANGED
|
@@ -80,19 +80,30 @@ async function tryBunUpgrade(app, req, server) {
|
|
|
80
80
|
const headers = {};
|
|
81
81
|
if (chosenProtocol)
|
|
82
82
|
headers["sec-websocket-protocol"] = chosenProtocol;
|
|
83
|
-
const data = {
|
|
83
|
+
const data = {
|
|
84
|
+
handler,
|
|
85
|
+
ctx,
|
|
86
|
+
protocol: chosenProtocol,
|
|
87
|
+
options: match.handler.options,
|
|
88
|
+
};
|
|
84
89
|
const ok = server.upgrade(req, { data, headers });
|
|
85
90
|
if (!ok)
|
|
86
91
|
return new Response("Upgrade Failed", { status: 500 });
|
|
87
92
|
return undefined;
|
|
88
93
|
}
|
|
89
94
|
function buildBunWebSocketConfig(app) {
|
|
95
|
+
const runtimeOptions = app.webSocketRoutes.runtimeOptions();
|
|
90
96
|
return {
|
|
97
|
+
closeOnBackpressureLimit: runtimeOptions.closeOnBackpressureLimit,
|
|
98
|
+
backpressureLimit: runtimeOptions.backpressureLimit,
|
|
99
|
+
perMessageDeflate: runtimeOptions.perMessageDeflate,
|
|
100
|
+
idleTimeout: runtimeOptions.idleTimeout,
|
|
101
|
+
maxPayloadLength: runtimeOptions.maxPayloadLength,
|
|
91
102
|
open(ws) {
|
|
92
103
|
const data = ws.data;
|
|
93
104
|
if (!data)
|
|
94
105
|
return;
|
|
95
|
-
const conn = new BunWebSocketConnection(ws, data.protocol);
|
|
106
|
+
const conn = new BunWebSocketConnection(ws, data.protocol, data.options ?? runtimeOptions);
|
|
96
107
|
data.conn = conn;
|
|
97
108
|
invokeBunHandler(app, data, "WebSocket open() handler failed", () => data.handler.open?.(conn, data.ctx), true);
|
|
98
109
|
},
|
|
@@ -101,6 +112,11 @@ function buildBunWebSocketConfig(app) {
|
|
|
101
112
|
if (!data?.conn)
|
|
102
113
|
return;
|
|
103
114
|
const isBinary = typeof msg !== "string";
|
|
115
|
+
const options = data.options ?? runtimeOptions;
|
|
116
|
+
if (payloadByteLength(msg) > options.maxPayloadLength) {
|
|
117
|
+
data.conn.close(WS_CLOSE_CODE.MESSAGE_TOO_BIG, "maxPayloadLength exceeded");
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
104
120
|
invokeBunHandler(app, data, "WebSocket message() handler failed", () => data.handler.message?.(data.conn, msg, isBinary), true);
|
|
105
121
|
},
|
|
106
122
|
close(ws, code, reason) {
|
|
@@ -121,12 +137,14 @@ function buildBunWebSocketConfig(app) {
|
|
|
121
137
|
class BunWebSocketConnection {
|
|
122
138
|
ws;
|
|
123
139
|
protocol;
|
|
140
|
+
options;
|
|
124
141
|
readyState = WS_READY_STATE.OPEN;
|
|
125
142
|
extensions = "";
|
|
126
143
|
data = undefined;
|
|
127
|
-
constructor(ws, protocol) {
|
|
144
|
+
constructor(ws, protocol, options) {
|
|
128
145
|
this.ws = ws;
|
|
129
146
|
this.protocol = protocol;
|
|
147
|
+
this.options = options;
|
|
130
148
|
}
|
|
131
149
|
get binaryType() {
|
|
132
150
|
const v = this.ws.binaryType;
|
|
@@ -141,17 +159,23 @@ class BunWebSocketConnection {
|
|
|
141
159
|
send(data) {
|
|
142
160
|
if (this.readyState !== WS_READY_STATE.OPEN)
|
|
143
161
|
return;
|
|
162
|
+
let sent = 0;
|
|
144
163
|
if (typeof data === "string") {
|
|
145
|
-
this.ws.send(data);
|
|
164
|
+
sent = this.ws.send(data, this.options.perMessageDeflate);
|
|
146
165
|
}
|
|
147
166
|
else if (data instanceof ArrayBuffer) {
|
|
148
|
-
this.ws.send(data);
|
|
167
|
+
sent = this.ws.send(data, this.options.perMessageDeflate);
|
|
149
168
|
}
|
|
150
169
|
else if (ArrayBuffer.isView(data)) {
|
|
151
|
-
this.ws.send(new Uint8Array(data.buffer, data.byteOffset, data.byteLength));
|
|
170
|
+
sent = this.ws.send(new Uint8Array(data.buffer, data.byteOffset, data.byteLength), this.options.perMessageDeflate);
|
|
152
171
|
}
|
|
153
172
|
else {
|
|
154
|
-
this.ws.send(new Uint8Array(data));
|
|
173
|
+
sent = this.ws.send(new Uint8Array(data), this.options.perMessageDeflate);
|
|
174
|
+
}
|
|
175
|
+
void sent;
|
|
176
|
+
if (this.options.closeOnBackpressureLimit &&
|
|
177
|
+
this.bufferedAmount > this.options.backpressureLimit) {
|
|
178
|
+
this.close(WS_CLOSE_CODE.MESSAGE_TOO_BIG, "backpressure limit exceeded");
|
|
155
179
|
}
|
|
156
180
|
}
|
|
157
181
|
close(code = WS_CLOSE_CODE.NORMAL_CLOSURE, reason = "") {
|
|
@@ -199,6 +223,13 @@ function validateControlPayload(data) {
|
|
|
199
223
|
throw new WebSocketProtocolError("Control frame payload exceeds 125 bytes");
|
|
200
224
|
}
|
|
201
225
|
}
|
|
226
|
+
function payloadByteLength(data) {
|
|
227
|
+
if (typeof data === "string")
|
|
228
|
+
return new TextEncoder().encode(data).byteLength;
|
|
229
|
+
if (data instanceof ArrayBuffer)
|
|
230
|
+
return data.byteLength;
|
|
231
|
+
return data.byteLength;
|
|
232
|
+
}
|
|
202
233
|
function toBunBinary(data) {
|
|
203
234
|
if (data === undefined)
|
|
204
235
|
return undefined;
|
package/dist/adapters/bun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/adapters/bun.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,sBAAsB,
|
|
1
|
+
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/adapters/bun.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAoBrC,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAAE;AAE3F,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE,iBAAsB,GAAG,gBAAgB,CA4D5C"}
|
package/dist/adapters/node.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { createServer, } from "node:http";
|
|
6
6
|
import { Readable } from "node:stream";
|
|
7
|
-
import { FrameSink, encodeFrame, encodeClosePayload, encodeSendPayload, validateUpgrade, validateSelectedSubprotocol, WS_OPCODE, WS_CLOSE_CODE, WS_READY_STATE, WS_MAX_CONTROL_PAYLOAD, WebSocketProtocolError, } from "../websocket.js";
|
|
7
|
+
import { FrameSink, encodeFrame, encodeClosePayload, encodeSendPayload, validateUpgrade, validateSelectedSubprotocol, WS_OPCODE, WS_CLOSE_CODE, WS_READY_STATE, WS_MAX_CONTROL_PAYLOAD, WebSocketProtocolError, WebSocketPayloadTooLargeError, } from "../websocket.js";
|
|
8
8
|
export function serve(app, opts = {}) {
|
|
9
9
|
const trustProxy = opts.trustProxy === true;
|
|
10
10
|
const server = createServer({ maxHeaderSize: opts.maxHeaderBytes ?? 16 * 1024 }, async (req, res) => {
|
|
@@ -41,6 +41,15 @@ export function serve(app, opts = {}) {
|
|
|
41
41
|
}
|
|
42
42
|
const port = opts.port ?? 3000;
|
|
43
43
|
server.listen(port, opts.hostname ?? "0.0.0.0");
|
|
44
|
+
// Wave 4: kill idle keep-alive sockets immediately when draining begins.
|
|
45
|
+
// In-flight requests keep their socket because Node's
|
|
46
|
+
// `closeIdleConnections()` is a no-op for sockets with an in-flight request.
|
|
47
|
+
app._registerIdleConnectionCloseHook(() => {
|
|
48
|
+
const s = server;
|
|
49
|
+
if (typeof s.closeIdleConnections === "function") {
|
|
50
|
+
s.closeIdleConnections();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
44
53
|
let closed = false;
|
|
45
54
|
const close = async () => {
|
|
46
55
|
if (closed)
|
|
@@ -183,10 +192,10 @@ async function handleUpgrade(app, req, socket, head, trustProxy) {
|
|
|
183
192
|
if (chosenProtocol)
|
|
184
193
|
responseLines.push(`Sec-WebSocket-Protocol: ${chosenProtocol}`);
|
|
185
194
|
socket.write(responseLines.join("\r\n") + "\r\n\r\n");
|
|
186
|
-
// Disable Node's idle timeout on the raw socket — WS connections are long-lived.
|
|
187
|
-
socket.setTimeout(0);
|
|
188
195
|
socket.setNoDelay(true);
|
|
189
|
-
const
|
|
196
|
+
const routeOptions = match.handler.options;
|
|
197
|
+
const conn = new NodeWebSocketConnection(socket, handler, chosenProtocol, app, routeOptions);
|
|
198
|
+
socket.setTimeout(routeOptions.idleTimeout * 1000, () => conn.close(WS_CLOSE_CODE.GOING_AWAY, "idle timeout"));
|
|
190
199
|
// If the upgrade arrived with extra bytes already in the buffer, feed them first.
|
|
191
200
|
if (head.length > 0)
|
|
192
201
|
conn._ingest(head);
|
|
@@ -224,19 +233,22 @@ class NodeWebSocketConnection {
|
|
|
224
233
|
handler;
|
|
225
234
|
protocol;
|
|
226
235
|
app;
|
|
236
|
+
options;
|
|
227
237
|
readyState = WS_READY_STATE.OPEN;
|
|
228
238
|
extensions = "";
|
|
229
239
|
binaryType = "nodebuffer";
|
|
230
240
|
data = undefined;
|
|
231
241
|
sink;
|
|
232
242
|
closeHandled = false;
|
|
233
|
-
constructor(socket, handler, protocol, app) {
|
|
243
|
+
constructor(socket, handler, protocol, app, options) {
|
|
234
244
|
this.socket = socket;
|
|
235
245
|
this.handler = handler;
|
|
236
246
|
this.protocol = protocol;
|
|
237
247
|
this.app = app;
|
|
248
|
+
this.options = options;
|
|
238
249
|
this.sink = new FrameSink({
|
|
239
250
|
requireMask: true,
|
|
251
|
+
maxPayloadLength: options.maxPayloadLength,
|
|
240
252
|
onMessage: (ev) => {
|
|
241
253
|
if (ev.isBinary && this.binaryType === "arraybuffer") {
|
|
242
254
|
const buf = ev.data;
|
|
@@ -268,7 +280,9 @@ class NodeWebSocketConnection {
|
|
|
268
280
|
},
|
|
269
281
|
onProtocolError: (err) => {
|
|
270
282
|
this._invokeError(err);
|
|
271
|
-
this.close(
|
|
283
|
+
this.close(err instanceof WebSocketPayloadTooLargeError
|
|
284
|
+
? WS_CLOSE_CODE.MESSAGE_TOO_BIG
|
|
285
|
+
: WS_CLOSE_CODE.PROTOCOL_ERROR, err.message);
|
|
272
286
|
},
|
|
273
287
|
});
|
|
274
288
|
}
|
|
@@ -328,7 +342,15 @@ class NodeWebSocketConnection {
|
|
|
328
342
|
}
|
|
329
343
|
_writeFrame(opcode, payload) {
|
|
330
344
|
const frame = encodeFrame({ opcode, payload });
|
|
331
|
-
this.socket.write(Buffer.from(frame.buffer, frame.byteOffset, frame.byteLength));
|
|
345
|
+
const flushed = this.socket.write(Buffer.from(frame.buffer, frame.byteOffset, frame.byteLength));
|
|
346
|
+
if (!flushed) {
|
|
347
|
+
this.socket.once("drain", () => this._invokeHandler("WebSocket drain() handler threw", () => this.handler.drain?.(this)));
|
|
348
|
+
}
|
|
349
|
+
if (this.options.closeOnBackpressureLimit &&
|
|
350
|
+
this.readyState === WS_READY_STATE.OPEN &&
|
|
351
|
+
this.bufferedAmount > this.options.backpressureLimit) {
|
|
352
|
+
this.close(WS_CLOSE_CODE.MESSAGE_TOO_BIG, "backpressure limit exceeded");
|
|
353
|
+
}
|
|
332
354
|
}
|
|
333
355
|
_invokeError(err) {
|
|
334
356
|
this._invokeHandler("WebSocket error() handler threw", () => this.handler.error?.(this, err));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"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"}
|