@c9up/ream 0.1.23 → 0.1.25
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/http/HttpContext.d.ts +3 -2
- package/dist/http/HttpContext.d.ts.map +1 -1
- package/dist/http/HttpContext.js.map +1 -1
- package/dist/http/Response.d.ts.map +1 -1
- package/dist/http/Response.js +27 -3
- package/dist/http/Response.js.map +1 -1
- package/events.darwin-arm64.node +0 -0
- package/events.darwin-x64.node +0 -0
- package/events.linux-arm64-gnu.node +0 -0
- package/events.linux-x64-gnu.node +0 -0
- package/events.win32-x64-msvc.node +0 -0
- package/index.darwin-arm64.node +0 -0
- package/index.darwin-x64.node +0 -0
- package/index.linux-arm64-gnu.node +0 -0
- package/index.linux-x64-gnu.node +0 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +1 -1
- package/scheduler.darwin-arm64.node +0 -0
- package/scheduler.darwin-x64.node +0 -0
- package/scheduler.linux-arm64-gnu.node +0 -0
- package/scheduler.linux-x64-gnu.node +0 -0
- package/scheduler.win32-x64-msvc.node +0 -0
- package/src/http/HttpContext.ts +6 -2
- package/src/http/Response.ts +26 -3
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { ServiceToken } from '../container/types.js';
|
|
10
10
|
import type { Emitter } from '../events/Emitter.js';
|
|
11
|
+
import type { Session } from '../session/Session.js';
|
|
11
12
|
import type { RouteUrlResolver } from './RedirectBuilder.js';
|
|
12
13
|
import type { RawRequest } from './Request.js';
|
|
13
14
|
import { Request } from './Request.js';
|
|
14
15
|
import { Response } from './Response.js';
|
|
15
|
-
import type { Session } from '../session/Session.js';
|
|
16
16
|
export interface AuthState {
|
|
17
17
|
authenticated: boolean;
|
|
18
18
|
user?: {
|
|
@@ -54,7 +54,7 @@ export interface Authorizer {
|
|
|
54
54
|
* exposing it under the Adonis name with `.make()` keeps the public contract
|
|
55
55
|
* aligned so a future scoped resolver is a non-breaking swap.
|
|
56
56
|
*/
|
|
57
|
-
|
|
57
|
+
interface ContainerResolver {
|
|
58
58
|
/** Resolve/construct a service by token (class, string, or symbol). */
|
|
59
59
|
make<T>(token: ServiceToken): T;
|
|
60
60
|
}
|
|
@@ -156,4 +156,5 @@ export declare class HttpContext {
|
|
|
156
156
|
/** @internal Set the route URL resolver (injected by HttpKernel from Router). */
|
|
157
157
|
setRouteUrlResolver(resolver: RouteUrlResolver): void;
|
|
158
158
|
}
|
|
159
|
+
export {};
|
|
159
160
|
//# sourceMappingURL=HttpContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpContext.d.ts","sourceRoot":"","sources":["../../src/http/HttpContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"HttpContext.d.ts","sourceRoot":"","sources":["../../src/http/HttpContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7D,kEAAkE;IAClE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7D,+EAA+E;IAC/E,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D;AAED;;;;;;;;;;;;GAYG;AAKH,UAAU,iBAAiB;IACzB,uEAAuE;IACvE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,CAAC,CAAA;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC7D;AAsCD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAKD,qBAAa,WAAW;;IACtB;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI/C,gGAAgG;IAChG,MAAM,CAAC,GAAG,IAAI,WAAW,GAAG,SAAS;IAIrC,gGAAgG;IAChG,MAAM,CAAC,SAAS,IAAI,WAAW;IAU/B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAEnB,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAE3B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEvC,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IAEzB,2DAA2D;IAC3D,IAAI,EAAE,SAAS,CAA2B;IAE1C;;;;OAIG;IACH,MAAM,SAAO;IAEb,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAY;IAEhD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;OAIG;IACH,OAAO,CAAC,EAAE,UAAU,CAAA;IAEpB;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IAQ9C;;;;OAIG;IACH,IAAI,MAAM,IAAI,aAAa,CAK1B;gBAGC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,KAAK,EAAE,SAAS,EAChB,iBAAiB,CAAC,EAAE,iBAAiB;IAqBvC,iFAAiF;IACjF,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;CAGtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpContext.js","sourceRoot":"","sources":["../../src/http/HttpContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"HttpContext.js","sourceRoot":"","sources":["../../src/http/HttpContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../src/http/Response.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../src/http/Response.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAA;AAkCvB,qBAAa,QAAQ;;IAUnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAId,2CAA2C;IAC3C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B,sDAAsD;IACtD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS9B,wCAAwC;IACxC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMxC,qEAAqE;IACrE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAgBxC,gCAAgC;IAChC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK/B,8CAA8C;IAC9C,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAU/B,+DAA+D;IAC/D,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAMzB,kEAAkE;IAClE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IA6BzB;;;;;;;;;OASG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAShC,2BAA2B;IAC3B,SAAS,IAAI,IAAI;IAQjB,8BAA8B;IAC9B,QAAQ,IAAI,eAAe;IAS3B,4EAA4E;IAC5E,kBAAkB,CAAC,OAAO,EAAE,MAAM,eAAe,GAAG,IAAI;IAIxD,iFAAiF;IACjF,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAM9C;;;;;;;;;;;;;;;;OAgBG;IACG,GAAG,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IA2BzD,6BAA6B;IAC7B,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;KACrC,GACA,IAAI;IAkCP,iDAAiD;IACjD,SAAS,IAAI,MAAM;IAInB,gGAAgG;IAChG,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IASpC;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C,iDAAiD;IACjD,OAAO,IAAI,MAAM;IAIjB,sDAAsD;IACtD,UAAU,IAAI,OAAO;IAIrB,yEAAyE;IACzE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;OAIG;IACH,WAAW,IAAI,MAAM,GAAG,SAAS;IAIjC;;;;;;;;;OASG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAanC"}
|
package/dist/http/Response.js
CHANGED
|
@@ -18,6 +18,25 @@ function assertNoCRLF(name, value) {
|
|
|
18
18
|
throw new Error(`CRLF / NUL byte in header '${name}' is not allowed (response-splitting protection).`);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* JSON.stringify with AdonisJS-parity safety: `BigInt` values are emitted as
|
|
23
|
+
* strings (native `JSON.stringify` throws on them) and circular references are
|
|
24
|
+
* dropped instead of throwing — so `response.json()` / an object `send()` never
|
|
25
|
+
* blows up on a payload the raw serializer can't handle.
|
|
26
|
+
*/
|
|
27
|
+
function safeStringify(value) {
|
|
28
|
+
const seen = new WeakSet();
|
|
29
|
+
return JSON.stringify(value, (_key, val) => {
|
|
30
|
+
if (typeof val === 'bigint')
|
|
31
|
+
return val.toString();
|
|
32
|
+
if (typeof val === 'object' && val !== null) {
|
|
33
|
+
if (seen.has(val))
|
|
34
|
+
return undefined;
|
|
35
|
+
seen.add(val);
|
|
36
|
+
}
|
|
37
|
+
return val;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
21
40
|
export class Response {
|
|
22
41
|
#status = 200;
|
|
23
42
|
#headers = {};
|
|
@@ -86,14 +105,19 @@ export class Response {
|
|
|
86
105
|
/** Send a JSON response. Sets content-type and stringifies. */
|
|
87
106
|
json(data) {
|
|
88
107
|
this.#headers['content-type'] = 'application/json';
|
|
89
|
-
this.#body =
|
|
108
|
+
this.#body = safeStringify(data);
|
|
90
109
|
this.#finished = true;
|
|
91
110
|
}
|
|
92
111
|
/** Send a response body. Auto-detects content type if not set. */
|
|
93
112
|
send(data) {
|
|
94
113
|
if (typeof data === 'string') {
|
|
95
114
|
if (!this.#headers['content-type']) {
|
|
96
|
-
|
|
115
|
+
// AdonisJS parity: an HTML-looking string (opens with `<`) is served as
|
|
116
|
+
// `text/html`; a plain string as `text/plain` — not everything forced to
|
|
117
|
+
// HTML (which mislabels plain text and JSON/CSV/robots.txt bodies).
|
|
118
|
+
this.#headers['content-type'] = data.trimStart().startsWith('<')
|
|
119
|
+
? 'text/html; charset=utf-8'
|
|
120
|
+
: 'text/plain; charset=utf-8';
|
|
97
121
|
}
|
|
98
122
|
this.#body = data;
|
|
99
123
|
}
|
|
@@ -106,7 +130,7 @@ export class Response {
|
|
|
106
130
|
}
|
|
107
131
|
else if (typeof data === 'object' && data !== null) {
|
|
108
132
|
this.#headers['content-type'] = 'application/json';
|
|
109
|
-
this.#body =
|
|
133
|
+
this.#body = safeStringify(data);
|
|
110
134
|
}
|
|
111
135
|
else if (data !== undefined && data !== null) {
|
|
112
136
|
if (!this.#headers['content-type']) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/http/Response.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,aAAa,GAId,MAAM,gBAAgB,CAAA;AAEvB;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,mDAAmD,CACtF,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,QAAQ;IACnB,OAAO,GAAG,GAAG,CAAA;IACb,QAAQ,GAA2B,EAAE,CAAA;IACrC,QAAQ,GAAa,EAAE,CAAA;IACvB,KAAK,GAAG,EAAE,CAAA;IACV,SAAS,GAAG,KAAK,CAAA;IACjB,uBAAuB,CAAwB;IAC/C,cAAc,CAAgB;IAC9B,SAAS,CAAS;IAElB;;;;OAIG;IACH,KAAK,CAAS;IAEd,6DAA6D;IAE7D,2CAA2C;IAC3C,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,sDAAsD;IACtD,UAAU,CAAC,IAAY;QACrB,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,6DAA6D;IAE7D,wCAAwC;IACxC,MAAM,CAAC,GAAW,EAAE,KAAa;QAC/B,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qEAAqE;IACrE,MAAM,CAAC,GAAW,EAAE,KAAa;QAC/B,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACxB,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QAC3B,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YACvB,+DAA+D;YAC/D,iEAAiE;YACjE,8DAA8D;YAC9D,mDAAmD;YACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gCAAgC;IAChC,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,WAAmB;QACtB,oEAAoE;QACpE,qEAAqE;QACrE,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;QACzC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,CAAA;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,6DAA6D;IAE7D,+DAA+D;IAC/D,IAAI,CAAC,IAAa;QAChB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;QAClD,IAAI,CAAC,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/http/Response.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,aAAa,GAId,MAAM,gBAAgB,CAAA;AAEvB;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,mDAAmD,CACtF,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAU,CAAA;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACzC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;QAClD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAA;YACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,OAAO,QAAQ;IACnB,OAAO,GAAG,GAAG,CAAA;IACb,QAAQ,GAA2B,EAAE,CAAA;IACrC,QAAQ,GAAa,EAAE,CAAA;IACvB,KAAK,GAAG,EAAE,CAAA;IACV,SAAS,GAAG,KAAK,CAAA;IACjB,uBAAuB,CAAwB;IAC/C,cAAc,CAAgB;IAC9B,SAAS,CAAS;IAElB;;;;OAIG;IACH,KAAK,CAAS;IAEd,6DAA6D;IAE7D,2CAA2C;IAC3C,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,sDAAsD;IACtD,UAAU,CAAC,IAAY;QACrB,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,6DAA6D;IAE7D,wCAAwC;IACxC,MAAM,CAAC,GAAW,EAAE,KAAa;QAC/B,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAA;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qEAAqE;IACrE,MAAM,CAAC,GAAW,EAAE,KAAa;QAC/B,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACxB,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QAC3B,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YACvB,+DAA+D;YAC/D,iEAAiE;YACjE,8DAA8D;YAC9D,mDAAmD;YACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gCAAgC;IAChC,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,WAAmB;QACtB,oEAAoE;QACpE,qEAAqE;QACrE,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;QACzC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,CAAA;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,6DAA6D;IAE7D,+DAA+D;IAC/D,IAAI,CAAC,IAAa;QAChB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;QAClD,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED,kEAAkE;IAClE,IAAI,CAAC,IAAa;QAChB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACnC,wEAAwE;gBACxE,yEAAyE;gBACzE,oEAAoE;gBACpE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC9D,CAAC,CAAC,0BAA0B;oBAC5B,CAAC,CAAC,2BAA2B,CAAA;YACjC,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACnB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,mEAAmE;YACnE,qEAAqE;YACrE,+DAA+D;YAC/D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACrB,OAAM;QACR,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;YAClD,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,YAAY,CAAA;YAC9C,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED;;;;;;;;;OASG;IACH,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,0BAA0B,CAAA;QAC5D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,GAAG,QAAQ,CAAA;QAChD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED,2BAA2B;IAC3B,SAAS;QACP,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED,6DAA6D;IAE7D,8BAA8B;IAC9B,QAAQ;QACN,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAA;QACvC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAA;IACH,CAAC;IAED,4EAA4E;IAC5E,kBAAkB,CAAC,OAA8B;QAC/C,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAA;IACxC,CAAC;IAED,iFAAiF;IACjF,gBAAgB,CAAC,OAAsB;QACrC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAA;IAC/B,CAAC;IAED,6DAA6D;IAE7D;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,GAAG,CAAC,OAA0B;QAClC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,uEAAuE;gBACrE,iDAAiD,CACpD,CAAA;QACH,CAAC;QACD,oEAAoE;QACpE,yDAAyD;QACzD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,mBAAmB,CAAA;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,wBAAwB,CAAA;QAC3D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAA;QAC3C,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;QAChE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAA;QAC1B,gEAAgE;QAChE,8DAA8D;QAC9D,mEAAmE;QACnE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,6DAA6D;IAE7D,6BAA6B;IAC7B,MAAM,CACJ,IAAY,EACZ,KAAa,EACb,OAMC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,sEAAsE;QACtE,IAAI,OAAO,EAAE,QAAQ,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,gGAAgG,CAChH,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC1E,iEAAiE;QACjE,+DAA+D;QAC/D,+DAA+D;QAC/D,8DAA8D;QAC9D,UAAU;QACV,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAC1E,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,sEAAsE;YACtE,iEAAiE;YACjE,oEAAoE;YACpE,uEAAuE;YACvE,YAAY,CAAC,wBAAwB,IAAI,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3D,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,OAAO,EAAE,QAAQ,KAAK,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvD,IAAI,OAAO,EAAE,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,OAAO,EAAE,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,8DAA8D;IAE9D,iDAAiD;IACjD,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,gGAAgG;IAChG,UAAU;QACR,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,oFAAoF;YACpF,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,iDAAiD;IACjD,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,sDAAsD;IACtD,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,yEAAyE;IACzE,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;QACzB,IAAI,EAAE,KAAK,SAAS;YAAE,OAAM;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,+DAA+D;YACjE,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
package/events.darwin-arm64.node
CHANGED
|
Binary file
|
package/events.darwin-x64.node
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/index.darwin-arm64.node
CHANGED
|
Binary file
|
package/index.darwin-x64.node
CHANGED
|
Binary file
|
|
Binary file
|
package/index.linux-x64-gnu.node
CHANGED
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/src/http/HttpContext.ts
CHANGED
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
import { AsyncLocalStorage } from 'node:async_hooks'
|
|
11
11
|
import type { ServiceToken } from '../container/types.js'
|
|
12
12
|
import type { Emitter } from '../events/Emitter.js'
|
|
13
|
+
import type { Session } from '../session/Session.js'
|
|
13
14
|
import type { RouteUrlResolver } from './RedirectBuilder.js'
|
|
14
15
|
import { RedirectBuilder } from './RedirectBuilder.js'
|
|
15
16
|
import type { RawRequest } from './Request.js'
|
|
16
17
|
import { Request } from './Request.js'
|
|
17
18
|
import { Response } from './Response.js'
|
|
18
|
-
import type { Session } from '../session/Session.js'
|
|
19
19
|
|
|
20
20
|
export interface AuthState {
|
|
21
21
|
authenticated: boolean
|
|
@@ -60,7 +60,11 @@ export interface Authorizer {
|
|
|
60
60
|
* exposing it under the Adonis name with `.make()` keeps the public contract
|
|
61
61
|
* aligned so a future scoped resolver is a non-breaking swap.
|
|
62
62
|
*/
|
|
63
|
-
|
|
63
|
+
// File-local: the app container's minimal resolver shape. Not exported — the
|
|
64
|
+
// public resolver contract is the events `ContainerResolver`; each subsystem
|
|
65
|
+
// declares its own structurally-compatible interface to stay decoupled (same
|
|
66
|
+
// pattern as warden/blackhole middleware), so nothing cross-imports it.
|
|
67
|
+
interface ContainerResolver {
|
|
64
68
|
/** Resolve/construct a service by token (class, string, or symbol). */
|
|
65
69
|
make<T>(token: ServiceToken): T
|
|
66
70
|
}
|
package/src/http/Response.ts
CHANGED
|
@@ -29,6 +29,24 @@ function assertNoCRLF(name: string, value: string): void {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
/**
|
|
33
|
+
* JSON.stringify with AdonisJS-parity safety: `BigInt` values are emitted as
|
|
34
|
+
* strings (native `JSON.stringify` throws on them) and circular references are
|
|
35
|
+
* dropped instead of throwing — so `response.json()` / an object `send()` never
|
|
36
|
+
* blows up on a payload the raw serializer can't handle.
|
|
37
|
+
*/
|
|
38
|
+
function safeStringify(value: unknown): string {
|
|
39
|
+
const seen = new WeakSet<object>()
|
|
40
|
+
return JSON.stringify(value, (_key, val) => {
|
|
41
|
+
if (typeof val === 'bigint') return val.toString()
|
|
42
|
+
if (typeof val === 'object' && val !== null) {
|
|
43
|
+
if (seen.has(val)) return undefined
|
|
44
|
+
seen.add(val)
|
|
45
|
+
}
|
|
46
|
+
return val
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
|
|
32
50
|
export class Response {
|
|
33
51
|
#status = 200
|
|
34
52
|
#headers: Record<string, string> = {}
|
|
@@ -108,7 +126,7 @@ export class Response {
|
|
|
108
126
|
/** Send a JSON response. Sets content-type and stringifies. */
|
|
109
127
|
json(data: unknown): void {
|
|
110
128
|
this.#headers['content-type'] = 'application/json'
|
|
111
|
-
this.#body =
|
|
129
|
+
this.#body = safeStringify(data)
|
|
112
130
|
this.#finished = true
|
|
113
131
|
}
|
|
114
132
|
|
|
@@ -116,7 +134,12 @@ export class Response {
|
|
|
116
134
|
send(data: unknown): void {
|
|
117
135
|
if (typeof data === 'string') {
|
|
118
136
|
if (!this.#headers['content-type']) {
|
|
119
|
-
|
|
137
|
+
// AdonisJS parity: an HTML-looking string (opens with `<`) is served as
|
|
138
|
+
// `text/html`; a plain string as `text/plain` — not everything forced to
|
|
139
|
+
// HTML (which mislabels plain text and JSON/CSV/robots.txt bodies).
|
|
140
|
+
this.#headers['content-type'] = data.trimStart().startsWith('<')
|
|
141
|
+
? 'text/html; charset=utf-8'
|
|
142
|
+
: 'text/plain; charset=utf-8'
|
|
120
143
|
}
|
|
121
144
|
this.#body = data
|
|
122
145
|
} else if (Buffer.isBuffer(data)) {
|
|
@@ -127,7 +150,7 @@ export class Response {
|
|
|
127
150
|
return
|
|
128
151
|
} else if (typeof data === 'object' && data !== null) {
|
|
129
152
|
this.#headers['content-type'] = 'application/json'
|
|
130
|
-
this.#body =
|
|
153
|
+
this.#body = safeStringify(data)
|
|
131
154
|
} else if (data !== undefined && data !== null) {
|
|
132
155
|
if (!this.#headers['content-type']) {
|
|
133
156
|
this.#headers['content-type'] = 'text/plain'
|