@venturekit/runtime 0.0.0-dev.20260701113915 → 0.0.0-dev.20260704231929
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/handler/context.d.ts +29 -0
- package/dist/handler/context.d.ts.map +1 -1
- package/dist/handler/context.js +59 -0
- package/dist/handler/context.js.map +1 -1
- package/dist/handler/create-handler.d.ts +69 -0
- package/dist/handler/create-handler.d.ts.map +1 -0
- package/dist/handler/create-handler.js +16 -0
- package/dist/handler/create-handler.js.map +1 -0
- package/dist/handler/handler.js +9 -1
- package/dist/handler/handler.js.map +1 -1
- package/dist/handler/response.d.ts +26 -1
- package/dist/handler/response.d.ts.map +1 -1
- package/dist/handler/response.js +39 -1
- package/dist/handler/response.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -161,6 +161,34 @@ export interface RequestContext extends BaseContext {
|
|
|
161
161
|
* should clear `ctx.cookies` first.
|
|
162
162
|
*/
|
|
163
163
|
export declare function setCookie(ctx: BaseContext, value: string): void;
|
|
164
|
+
/** Anything carrying an HTTP header bag — a raw API Gateway event. */
|
|
165
|
+
interface HeaderCarrier {
|
|
166
|
+
headers?: Record<string, string | undefined>;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* The BROWSER-facing host of a request — the host the user's address
|
|
170
|
+
* bar shows, which is what cookie `Domain` decisions and redirect URLs
|
|
171
|
+
* must be based on.
|
|
172
|
+
*
|
|
173
|
+
* Accepts either a {@link RequestContext} (reads `ctx.rawEvent`) or a
|
|
174
|
+
* raw API Gateway event, so it works in route handlers and in code
|
|
175
|
+
* that only has the event (custom route wrappers).
|
|
176
|
+
*
|
|
177
|
+
* Header priority: `origin` → `referer` → `host` → `x-forwarded-host`.
|
|
178
|
+
* `origin`/`referer` deliberately outrank `host`: behind a same-origin
|
|
179
|
+
* SPA proxy (e.g. Next.js rewriting `/api/*` to API Gateway) the
|
|
180
|
+
* `host` header is the API's own domain while `origin`/`referer`
|
|
181
|
+
* carry the host the browser is actually on. For direct requests the
|
|
182
|
+
* two agree, so the order is harmless.
|
|
183
|
+
*
|
|
184
|
+
* Values that are full URLs are reduced to their `host`
|
|
185
|
+
* (`https://app.example.com/login` → `app.example.com`, port kept);
|
|
186
|
+
* bare `host`-header values pass through as-is. Returns `''` when no
|
|
187
|
+
* usable header is present (opaque `Origin: null` is skipped).
|
|
188
|
+
*/
|
|
189
|
+
export declare function getRequestHost(source: HeaderCarrier | {
|
|
190
|
+
rawEvent: HeaderCarrier;
|
|
191
|
+
} | null | undefined): string;
|
|
164
192
|
/**
|
|
165
193
|
* Extract user context from JWT claims in API Gateway event
|
|
166
194
|
*/
|
|
@@ -176,4 +204,5 @@ export declare function buildContext(event: APIGatewayProxyEventV2, options: {
|
|
|
176
204
|
supportedLocales: string[];
|
|
177
205
|
defaultLocale: string;
|
|
178
206
|
}): RequestContext;
|
|
207
|
+
export {};
|
|
179
208
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/handler/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACjC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,6BAA6B;IAC7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,gCAAgC;IAChC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,gEAAgE;IAChE,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAElB,wBAAwB;IACxB,SAAS,EAAE,IAAI,CAAC;IAEhB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IAEf,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,0DAA0D;IAC1D,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAEzB,yDAAyD;IACzD,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAE7B,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IAEf,6CAA6C;IAC7C,QAAQ,EAAE,sBAAsB,CAAC;IAEjC,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEjD;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEhD;;;;OAIG;IACH,EAAE,CAAC,EAAE,WAAW,CAAC;IAEjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,GAAG,WAAW,GAAG,IAAI,CAsBpF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,sBAAsB,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,aAAa,EAAE,MAAM,GACpB,MAAM,CAWR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE;IACP,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB,GACA,cAAc,CAuChB"}
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/handler/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACjC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,6BAA6B;IAC7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,gCAAgC;IAChC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,gEAAgE;IAChE,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAElB,wBAAwB;IACxB,SAAS,EAAE,IAAI,CAAC;IAEhB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IAEf,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,0DAA0D;IAC1D,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAEzB,yDAAyD;IACzD,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAE7B,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IAEf,6CAA6C;IAC7C,QAAQ,EAAE,sBAAsB,CAAC;IAEjC,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEjD;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEhD;;;;OAIG;IACH,EAAE,CAAC,EAAE,WAAW,CAAC;IAEjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI/D;AAED,sEAAsE;AACtE,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GACrE,MAAM,CAiCR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,GAAG,WAAW,GAAG,IAAI,CAsBpF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,sBAAsB,EAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,aAAa,EAAE,MAAM,GACpB,MAAM,CAWR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE;IACP,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB,GACA,cAAc,CAuChB"}
|
package/dist/handler/context.js
CHANGED
|
@@ -21,6 +21,65 @@ export function setCookie(ctx, value) {
|
|
|
21
21
|
carrier.cookies = [];
|
|
22
22
|
carrier.cookies.push(value);
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* The BROWSER-facing host of a request — the host the user's address
|
|
26
|
+
* bar shows, which is what cookie `Domain` decisions and redirect URLs
|
|
27
|
+
* must be based on.
|
|
28
|
+
*
|
|
29
|
+
* Accepts either a {@link RequestContext} (reads `ctx.rawEvent`) or a
|
|
30
|
+
* raw API Gateway event, so it works in route handlers and in code
|
|
31
|
+
* that only has the event (custom route wrappers).
|
|
32
|
+
*
|
|
33
|
+
* Header priority: `origin` → `referer` → `host` → `x-forwarded-host`.
|
|
34
|
+
* `origin`/`referer` deliberately outrank `host`: behind a same-origin
|
|
35
|
+
* SPA proxy (e.g. Next.js rewriting `/api/*` to API Gateway) the
|
|
36
|
+
* `host` header is the API's own domain while `origin`/`referer`
|
|
37
|
+
* carry the host the browser is actually on. For direct requests the
|
|
38
|
+
* two agree, so the order is harmless.
|
|
39
|
+
*
|
|
40
|
+
* Values that are full URLs are reduced to their `host`
|
|
41
|
+
* (`https://app.example.com/login` → `app.example.com`, port kept);
|
|
42
|
+
* bare `host`-header values pass through as-is. Returns `''` when no
|
|
43
|
+
* usable header is present (opaque `Origin: null` is skipped).
|
|
44
|
+
*/
|
|
45
|
+
export function getRequestHost(source) {
|
|
46
|
+
if (!source)
|
|
47
|
+
return '';
|
|
48
|
+
const carrier = 'rawEvent' in source && source.rawEvent ? source.rawEvent : source;
|
|
49
|
+
const headers = carrier.headers ?? {};
|
|
50
|
+
// API Gateway v2 lower-cases header names; direct invocations and
|
|
51
|
+
// tests may not. Normalize once.
|
|
52
|
+
const lower = {};
|
|
53
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
54
|
+
if (typeof value === 'string')
|
|
55
|
+
lower[key.toLowerCase()] = value;
|
|
56
|
+
}
|
|
57
|
+
for (const name of ['origin', 'referer', 'host', 'x-forwarded-host']) {
|
|
58
|
+
const candidate = lower[name]?.trim();
|
|
59
|
+
// 'null' is the serialized opaque origin (sandboxed iframes,
|
|
60
|
+
// privacy-redacted requests) — useless as a host, try the next.
|
|
61
|
+
if (!candidate || candidate === 'null')
|
|
62
|
+
continue;
|
|
63
|
+
// origin/referer are full URLs (scheme://host/…) — reduce to the host.
|
|
64
|
+
// host/x-forwarded-host are already bare host[:port] values. Guard the
|
|
65
|
+
// URL parse with a '://' check: `new URL('app.example.com:3000')` does
|
|
66
|
+
// NOT throw — it reads 'app.example.com:' as the scheme and yields an
|
|
67
|
+
// empty `.host` — so bare hosts must bypass the parser and pass through.
|
|
68
|
+
if (candidate.includes('://')) {
|
|
69
|
+
try {
|
|
70
|
+
const host = new URL(candidate).host;
|
|
71
|
+
if (host)
|
|
72
|
+
return host;
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// Malformed URL — fall through to the next candidate header.
|
|
76
|
+
}
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
return candidate;
|
|
80
|
+
}
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
24
83
|
/**
|
|
25
84
|
* Extract user context from JWT claims in API Gateway event
|
|
26
85
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/handler/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/handler/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `createHandler` — app-wide handler defaults.
|
|
3
|
+
*
|
|
4
|
+
* Real APIs repeat the same middleware stack on nearly every route
|
|
5
|
+
* (tenant resolution, session auth, per-tenant scope grants, …).
|
|
6
|
+
* Declaring it per route is noise and, worse, forgettable — a missed
|
|
7
|
+
* entry silently changes a route's security posture.
|
|
8
|
+
*
|
|
9
|
+
* `createHandler` returns a drop-in replacement for {@link handler}
|
|
10
|
+
* with defaults baked in. Apps define ONE module:
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* // src/lib/handler.ts
|
|
14
|
+
* import { createHandler, setDefaultAuthMiddleware } from '@venturekit/runtime';
|
|
15
|
+
* setDefaultAuthMiddleware(cookieAuthMiddleware()); // scoped routes
|
|
16
|
+
* export const apiHandler = createHandler({
|
|
17
|
+
* middleware: [tenancyMiddleware, memberScopesMiddleware()],
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* and routes shrink to their essence:
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* export const main = apiHandler(async (_b, ctx) => { … }, {
|
|
25
|
+
* scopes: ['admin.members.read'],
|
|
26
|
+
* params: paramsSchema,
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* Merge semantics:
|
|
31
|
+
* - `middleware` — defaults run FIRST, then the route's own entries
|
|
32
|
+
* (`[...defaults, ...route]`). The runtime's default auth
|
|
33
|
+
* middleware (see `setDefaultAuthMiddleware`) still runs before
|
|
34
|
+
* both, so defaults can rely on `ctx.user` for scoped routes.
|
|
35
|
+
* - `logLevel` — route value wins over the default.
|
|
36
|
+
* - everything else — per-route only, passed through untouched.
|
|
37
|
+
*
|
|
38
|
+
* Routes that must NOT inherit the defaults (health checks,
|
|
39
|
+
* cross-tenant/platform endpoints, webhook receivers) simply keep
|
|
40
|
+
* using the raw {@link handler} — or a second factory with different
|
|
41
|
+
* defaults. Explicit imports beat hidden opt-out flags.
|
|
42
|
+
*/
|
|
43
|
+
import type { APIGatewayProxyEventV2, APIGatewayProxyResultV2, Context } from 'aws-lambda';
|
|
44
|
+
import type { Middleware } from '../middleware/middleware.js';
|
|
45
|
+
import type { RequestContext } from './context.js';
|
|
46
|
+
import { type HandlerConfig, type HandlerFn, type ZodLikeSchema } from './handler.js';
|
|
47
|
+
/** Defaults every route created by the factory inherits. */
|
|
48
|
+
export interface HandlerDefaults {
|
|
49
|
+
/** Prepended to each route's own `middleware` array. */
|
|
50
|
+
middleware?: Middleware<RequestContext>[];
|
|
51
|
+
/** Fallback log level when the route doesn't set one. */
|
|
52
|
+
logLevel?: HandlerConfig['logLevel'];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The factory's return type — same call signatures as {@link handler},
|
|
56
|
+
* including the body-schema overload that infers `TBody`.
|
|
57
|
+
*/
|
|
58
|
+
export interface BoundHandler {
|
|
59
|
+
<TBody, TResult = unknown>(fn: HandlerFn<TBody, TResult>, config: HandlerConfig<TBody> & {
|
|
60
|
+
body: ZodLikeSchema<TBody>;
|
|
61
|
+
}): (event: APIGatewayProxyEventV2, context: Context) => Promise<APIGatewayProxyResultV2>;
|
|
62
|
+
<TBody = unknown, TResult = unknown>(fn: HandlerFn<TBody, TResult>, config?: HandlerConfig<TBody>): (event: APIGatewayProxyEventV2, context: Context) => Promise<APIGatewayProxyResultV2>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Build a {@link handler} clone with `defaults` merged into every
|
|
66
|
+
* route's config. See the module header for merge semantics.
|
|
67
|
+
*/
|
|
68
|
+
export declare function createHandler(defaults: HandlerDefaults): BoundHandler;
|
|
69
|
+
//# sourceMappingURL=create-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-handler.d.ts","sourceRoot":"","sources":["../../src/handler/create-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AAEtB,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,UAAU,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;IAC1C,yDAAyD;IACzD,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EACvB,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG;QAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;KAAE,GAC5D,CACD,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EACjC,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,GAC5B,CACD,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,CAcrE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { handler, } from './handler.js';
|
|
2
|
+
/**
|
|
3
|
+
* Build a {@link handler} clone with `defaults` merged into every
|
|
4
|
+
* route's config. See the module header for merge semantics.
|
|
5
|
+
*/
|
|
6
|
+
export function createHandler(defaults) {
|
|
7
|
+
const defaultMiddleware = defaults.middleware ?? [];
|
|
8
|
+
return ((fn, config = {}) => handler(fn, {
|
|
9
|
+
...config,
|
|
10
|
+
middleware: [...defaultMiddleware, ...(config.middleware ?? [])],
|
|
11
|
+
...(config.logLevel ?? defaults.logLevel
|
|
12
|
+
? { logLevel: config.logLevel ?? defaults.logLevel }
|
|
13
|
+
: {}),
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=create-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../../src/handler/create-handler.ts"],"names":[],"mappings":"AAkDA,OAAO,EACL,OAAO,GAIR,MAAM,cAAc,CAAC;AA+BtB;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAyB;IACrD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;IAEpD,OAAO,CAAC,CACN,EAA6B,EAC7B,SAA+B,EAAE,EACjC,EAAE,CACF,OAAO,CAAiB,EAAE,EAAE;QAC1B,GAAG,MAAM;QACT,UAAU,EAAE,CAAC,GAAG,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAChE,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YACtC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACpD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAiB,CAAC;AACxB,CAAC"}
|
package/dist/handler/handler.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { buildContext } from './context.js';
|
|
10
10
|
import { createLogger } from '../logging/logger.js';
|
|
11
|
-
import { success, created, noContent, errorResponse } from './response.js';
|
|
11
|
+
import { success, created, noContent, errorResponse, isRawResult } from './response.js';
|
|
12
12
|
import { compose, loggingMiddleware, errorBoundaryMiddleware, } from '../middleware/middleware.js';
|
|
13
13
|
import { BadRequestError, UnauthorizedError, ForbiddenError, PayloadTooLargeError, ValidationError } from './errors.js';
|
|
14
14
|
import { loadDataModule } from './data-loader.js';
|
|
@@ -282,6 +282,9 @@ export function handler(fn, config = {}) {
|
|
|
282
282
|
try {
|
|
283
283
|
const result = await fn(body, ctx, logger);
|
|
284
284
|
await tx.commit();
|
|
285
|
+
if (isRawResult(result)) {
|
|
286
|
+
return attachCookies(result.result, ctx);
|
|
287
|
+
}
|
|
285
288
|
const statusCode = getStatusCode(event.requestContext.http.method, status);
|
|
286
289
|
return attachCookies(buildResponse(statusCode, result, ctx.requestId), ctx);
|
|
287
290
|
}
|
|
@@ -292,6 +295,11 @@ export function handler(fn, config = {}) {
|
|
|
292
295
|
}
|
|
293
296
|
// Execute handler (non-transactional)
|
|
294
297
|
const result = await fn(body, ctx, logger);
|
|
298
|
+
// Raw results (redirects, HTML, …) bypass the success envelope —
|
|
299
|
+
// see `rawResult()` in response.ts.
|
|
300
|
+
if (isRawResult(result)) {
|
|
301
|
+
return attachCookies(result.result, ctx);
|
|
302
|
+
}
|
|
295
303
|
// Determine status code
|
|
296
304
|
const statusCode = getStatusCode(event.requestContext.http.method, status);
|
|
297
305
|
return attachCookies(buildResponse(statusCode, result, ctx.requestId), ctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/handler/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAA+B,YAAY,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAU,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/handler/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAA+B,YAAY,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAU,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EACL,OAAO,EAGP,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,mEAAmE;AACnE,0EAA0E;AAC1E,0EAA0E;AAC1E,wEAAwE;AACxE,sEAAsE;AACtE,yBAAyB;AACzB,EAAE;AACF,yEAAyE;AACzE,2DAA2D;AAC3D,sEAAsE;AACtE,EAAE;AACF,0EAA0E;AAC1E,0EAA0E;AAE1E,IAAI,qBAAqB,GAAsD,IAAI,CAAC;AAEpF,SAAS,4BAA4B;IACnC,IAAI,qBAAqB;QAAE,OAAO,qBAAqB,CAAC;IACxD,qBAAqB,GAAG,CAAC,KAAK,IAAI,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM;YACvB,kBAAkB,CAAC,yBAAmC,CACvD,CAAgE,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;gBACnD,OAAO,GAAG,CAAC,oBAAoB,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,uCAAuC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CACtC,EAAqC;IAErC,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qCAAqC;IACnD,qBAAqB,GAAG,IAAI,CAAC;AAC/B,CAAC;AAgHD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,SAAS,SAAS,CAChB,KAA6B,EAC7B,WAAmB,sBAAsB;IAEzC,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAE7B,IAAI,GAAW,CAAC;IAChB,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACH,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9C,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC;YAC9B,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,oBAAoB,CAC5B,mBAAmB,YAAY,oBAAoB,QAAQ,QAAQ,CACpE,CAAC;YACJ,CAAC;YACD,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,oBAAoB,CAC5B,mBAAmB,YAAY,oBAAoB,QAAQ,QAAQ,CACpE,CAAC;YACJ,CAAC;YACD,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yEAAyE;QACzE,IAAI,GAAG,YAAY,oBAAoB;YAAE,MAAM,GAAG,CAAC;QACnD,MAAM,IAAI,eAAe,CAAC,iCAAiC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAc,EAAE,QAAqB;IAC1D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAE5C,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC3B,MAAmC,EACnC,MAAwE;IAExE,MAAM,WAAW,GAA6B,EAAE,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAChD,CAAC,CAAC,MAAM,CAAC;QACX,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC;QACD,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,eAAe,CAAC,wBAAwB,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CACpB,UAAkB,EAClB,MAAe,EACf,SAAiB;IAEjB,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CACpB,MAAoD,EACpD,GAAmB;IAEnB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC/C,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,MAAM,QAAQ,GAAI,MAAiC,CAAC,OAAO,IAAI,EAAE,CAAC;IAClE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;AAC3D,CAAC;AAwCD,MAAM,UAAU,OAAO,CACrB,EAA6B,EAC7B,SAA+B,EAAE;IAEjC,MAAM,EACJ,MAAM,GAAG,EAAE,EACX,MAAM,EACN,UAAU,GAAG,EAAE,EACf,QAAQ,GAAG,MAAM,GAClB,GAAG,MAAM,CAAC;IAEX,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEpD,qEAAqE;IACrE,0DAA0D;IAC1D,kEAAkE;IAClE,kEAAkE;IAClE,4DAA4D;IAC5D,sDAAsD;IACtD,IAAI,eAAe,GAAiD,IAAI,CAAC;IACzE,MAAM,WAAW,GAAG,GAA0C,EAAE;QAC9D,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAC5C,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,4BAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,MAAM,KAAK,GAAiC;gBAC1C,uBAAuB,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACrC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CACnD;gBACD,iBAAiB,CAAC,MAAM,CAAC;gBACzB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,GAAG,UAAU;aACd,CAAC;YACF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,KAAK,EAAE,KAA6B,EAAE,QAAiB,EAAoC,EAAE;QAClG,wBAAwB;QACxB,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEvB,MAAM,kBAAkB,GAAG,MAAM,WAAW,EAAE,CAAC;QAE/C,qCAAqC;QACrC,OAAO,kBAAkB,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YACxC,uCAAuC;YACvC,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACd,MAAM,IAAI,iBAAiB,EAAE,CAAC;gBAChC,CAAC;gBAED,cAAc;gBACd,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7E,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,IAAI,cAAc,CAAC,0BAA0B,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,2DAA2D;YAC3D,IAAI,IAAI,GAAG,SAAS,CAAQ,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAExD,4CAA4C;YAC5C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,GAAG,MAAM,CAAC,IAAa,CAAC;YAC9B,CAAC;YAED,oDAAoD;YACpD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC;gBACnD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3D,CAAC;gBACD,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,IAA0C,CAAC;YACtE,CAAC;YAED,+DAA+D;YAC/D,kEAAkE;YAClE,6DAA6D;YAC7D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5D,CAAC;gBACD,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,IAA0C,CAAC;YACrE,CAAC;YAED,sBAAsB;YACtB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,oEAAoE;gBACpE,0DAA0D;gBAC1D,uDAAuD;gBACvD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,kCAAkC,CAAC,CAAC;gBACtE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzC,GAAG,CAAC,EAAE,GAAG,EAAiB,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAa,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;oBACpD,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;oBAClB,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxB,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC3C,CAAC;oBACD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC3E,OAAO,aAAa,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9E,CAAC;gBAAC,OAAO,OAAO,EAAE,CAAC;oBACjB,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACpB,MAAM,OAAO,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAa,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAEpD,iEAAiE;YACjE,oCAAoC;YACpC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;YAED,wBAAwB;YACxB,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAE3E,OAAO,aAAa,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -77,7 +77,32 @@ export declare function errorResponse(err: unknown, options?: {
|
|
|
77
77
|
logger?: Logger;
|
|
78
78
|
}): APIGatewayProxyResultV2;
|
|
79
79
|
/**
|
|
80
|
-
* Create a redirect response
|
|
80
|
+
* Create a redirect response.
|
|
81
|
+
*
|
|
82
|
+
* To return this from a `handler()` route (which normally wraps every
|
|
83
|
+
* return value in the success envelope), pass it through
|
|
84
|
+
* {@link rawResult}: `return rawResult(redirect('/login'))`.
|
|
81
85
|
*/
|
|
82
86
|
export declare function redirect(location: string, permanent?: boolean): APIGatewayProxyResultV2;
|
|
87
|
+
declare const RAW_RESULT_MARKER: unique symbol;
|
|
88
|
+
/** A pre-built response that `handler()` must not envelope-wrap. */
|
|
89
|
+
export interface RawResult {
|
|
90
|
+
[RAW_RESULT_MARKER]: true;
|
|
91
|
+
result: APIGatewayProxyResultV2;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Mark a pre-built API Gateway result for pass-through.
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* export const main = handler(async (_body, ctx) => {
|
|
99
|
+
* setCookie(ctx, sessionCookie);
|
|
100
|
+
* return rawResult(redirect('/dashboard'));
|
|
101
|
+
* });
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
export declare function rawResult(result: APIGatewayProxyResultV2): RawResult;
|
|
105
|
+
/** True when `value` was wrapped by {@link rawResult}. */
|
|
106
|
+
export declare function isRawResult(value: unknown): value is RawResult;
|
|
107
|
+
export {};
|
|
83
108
|
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/handler/response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAiC,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,MAAM,EAA2B,MAAM,sBAAsB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,CAAC,EACP,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,uBAAuB,CAqBzB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,CAAC,EACP,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACrE,uBAAuB,CAEzB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,uBAAuB,CAMvF;AAED;;GAEG;AACH,wBAAgB,KAAK,CACnB,GAAG,EAAE,YAAY,EACjB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,uBAAuB,CAwBzB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACxE,uBAAuB,CAsBzB;AAED
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/handler/response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAiC,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,MAAM,EAA2B,MAAM,sBAAsB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,CAAC,EACP,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,uBAAuB,CAqBzB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,CAAC,EACP,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACrE,uBAAuB,CAEzB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,uBAAuB,CAMvF;AAED;;GAEG;AACH,wBAAgB,KAAK,CACnB,GAAG,EAAE,YAAY,EACjB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,uBAAuB,CAwBzB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACxE,uBAAuB,CAsBzB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,OAAe,GACzB,uBAAuB,CAQzB;AAgBD,QAAA,MAAM,iBAAiB,eAAqC,CAAC;AAE7D,oEAAoE;AACpE,MAAM,WAAW,SAAS;IACxB,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC;IAC1B,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS,CAEpE;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAM9D"}
|
package/dist/handler/response.js
CHANGED
|
@@ -99,7 +99,11 @@ export function errorResponse(err, options = {}) {
|
|
|
99
99
|
return error(new InternalError(), { requestId });
|
|
100
100
|
}
|
|
101
101
|
/**
|
|
102
|
-
* Create a redirect response
|
|
102
|
+
* Create a redirect response.
|
|
103
|
+
*
|
|
104
|
+
* To return this from a `handler()` route (which normally wraps every
|
|
105
|
+
* return value in the success envelope), pass it through
|
|
106
|
+
* {@link rawResult}: `return rawResult(redirect('/login'))`.
|
|
103
107
|
*/
|
|
104
108
|
export function redirect(location, permanent = false) {
|
|
105
109
|
return {
|
|
@@ -110,4 +114,38 @@ export function redirect(location, permanent = false) {
|
|
|
110
114
|
body: '',
|
|
111
115
|
};
|
|
112
116
|
}
|
|
117
|
+
// ─── Raw pass-through results ────────────────────────────────────
|
|
118
|
+
//
|
|
119
|
+
// `handler()` wraps whatever the route function returns in the JSON
|
|
120
|
+
// success envelope (`{ data, meta }`). That's right for APIs but wrong
|
|
121
|
+
// for browser-navigation endpoints — OAuth redirects, session handoffs,
|
|
122
|
+
// HTML responses — which need full control of status/headers/body.
|
|
123
|
+
//
|
|
124
|
+
// `rawResult()` is the explicit escape hatch: wrap a pre-built API
|
|
125
|
+
// Gateway result and `handler()` passes it through untouched (cookies
|
|
126
|
+
// stashed via `setCookie(ctx, ...)` are still attached). A symbol
|
|
127
|
+
// marker (registered via `Symbol.for`, so it survives duplicated
|
|
128
|
+
// package instances) keeps detection exact — no structural guessing
|
|
129
|
+
// against user payloads that happen to contain `statusCode`.
|
|
130
|
+
const RAW_RESULT_MARKER = Symbol.for('venturekit.rawResult');
|
|
131
|
+
/**
|
|
132
|
+
* Mark a pre-built API Gateway result for pass-through.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* export const main = handler(async (_body, ctx) => {
|
|
137
|
+
* setCookie(ctx, sessionCookie);
|
|
138
|
+
* return rawResult(redirect('/dashboard'));
|
|
139
|
+
* });
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
export function rawResult(result) {
|
|
143
|
+
return { [RAW_RESULT_MARKER]: true, result };
|
|
144
|
+
}
|
|
145
|
+
/** True when `value` was wrapped by {@link rawResult}. */
|
|
146
|
+
export function isRawResult(value) {
|
|
147
|
+
return (typeof value === 'object' &&
|
|
148
|
+
value !== null &&
|
|
149
|
+
value[RAW_RESULT_MARKER] === true);
|
|
150
|
+
}
|
|
113
151
|
//# sourceMappingURL=response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/handler/response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/handler/response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAgB,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAU,MAAM,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAkCvE;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,IAAO,EACP,UAII,EAAE;IAEN,MAAM,EAAE,UAAU,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE9D,MAAM,IAAI,GAAuB;QAC/B,IAAI;QACJ,GAAG,CAAC,SAAS,IAAI;YACf,IAAI,EAAE;gBACJ,SAAS;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF,CAAC;KACH,CAAC;IAEF,OAAO;QACL,UAAU;QACV,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,OAAO;SACX;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,IAAO,EACP,UAAoE,EAAE;IAEtE,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,UAAkC,EAAE;IAC5D,OAAO;QACL,UAAU,EAAE,GAAG;QACf,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;KAC/E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CACnB,GAAiB,EACjB,UAAkC,EAAE;IAEpC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE9B,MAAM,IAAI,GAAkB;QAC1B,KAAK,EAAE;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;SAC7C;QACD,GAAG,CAAC,SAAS,IAAI;YACf,IAAI,EAAE;gBACJ,SAAS;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF,CAAC;KACH,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAY,EACZ,UAAuE,EAAE;IAEzE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;IAEvE,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,gEAAgE;IAChE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;YAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,OAAO,KAAK,CAAC,IAAI,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,QAAgB,EAChB,YAAqB,KAAK;IAE1B,OAAO;QACL,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACjC,OAAO,EAAE;YACP,QAAQ,EAAE,QAAQ;SACnB;QACD,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,EAAE;AACF,oEAAoE;AACpE,uEAAuE;AACvE,wEAAwE;AACxE,mEAAmE;AACnE,EAAE;AACF,mEAAmE;AACnE,sEAAsE;AACtE,kEAAkE;AAClE,iEAAiE;AACjE,oEAAoE;AACpE,6DAA6D;AAE7D,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAQ7D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,MAA+B;IACvD,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAsC,CAAC,iBAAiB,CAAC,KAAK,IAAI,CACpE,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,14 +18,16 @@
|
|
|
18
18
|
*/
|
|
19
19
|
export { handler, setDefaultAuthMiddleware, _resetDefaultAuthMiddlewareForTesting, } from './handler/handler.js';
|
|
20
20
|
export type { HandlerFn, HandlerConfig, StatusCode, ZodLikeSchema } from './handler/handler.js';
|
|
21
|
+
export { createHandler } from './handler/create-handler.js';
|
|
22
|
+
export type { HandlerDefaults, BoundHandler } from './handler/create-handler.js';
|
|
21
23
|
export { taskHandler, TaskValidationError } from './handler/task-handler.js';
|
|
22
24
|
export { queueBatchHandler } from './handler/queue-batch.js';
|
|
23
25
|
export type { QueueBatchHandlerConfig, QueueMessageContext, QueueMessageHandlerFn, QueueMessageParser, QueueRawMessage, } from './handler/queue-batch.js';
|
|
24
26
|
export type { TaskHandlerFn, TaskContext, TaskHandlerConfig, } from './handler/task-handler.js';
|
|
25
|
-
export { buildContext, extractUserContext, extractLocale, setCookie, } from './handler/context.js';
|
|
27
|
+
export { buildContext, extractUserContext, extractLocale, setCookie, getRequestHost, } from './handler/context.js';
|
|
26
28
|
export type { BaseContext, RequestContext, UserContext, TenantContext, Transaction } from './handler/context.js';
|
|
27
|
-
export { success, created, noContent, error, errorResponse, redirect, } from './handler/response.js';
|
|
28
|
-
export type { SuccessResponse, ErrorResponse } from './handler/response.js';
|
|
29
|
+
export { success, created, noContent, error, errorResponse, redirect, rawResult, isRawResult, } from './handler/response.js';
|
|
30
|
+
export type { SuccessResponse, ErrorResponse, RawResult } from './handler/response.js';
|
|
29
31
|
export { VentureError, BadRequestError, UnauthorizedError, ForbiddenError, NotFoundError, ConflictError, PayloadTooLargeError, ValidationError, RateLimitError, InternalError, ServiceUnavailableError, isVentureError, } from './handler/errors.js';
|
|
30
32
|
export { Logger, createLogger, logger, } from './logging/logger.js';
|
|
31
33
|
export type { LogLevel, LogEntry, LoggerConfig } from './logging/logger.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EACL,OAAO,EACP,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EACL,OAAO,EACP,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGjF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EACV,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGjH,OAAO,EACL,OAAO,EACP,OAAO,EACP,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvF,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,MAAM,EACN,YAAY,EACZ,MAAM,GACP,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EACV,aAAa,EACb,cAAc,EACd,UAAU,EACV,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG7G,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,eAAe,EACf,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EACL,eAAe,EACf,GAAG,GACJ,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,aAAa,EACb,SAAS,GACV,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,13 +18,14 @@
|
|
|
18
18
|
*/
|
|
19
19
|
// Handler (HTTP routes)
|
|
20
20
|
export { handler, setDefaultAuthMiddleware, _resetDefaultAuthMiddlewareForTesting, } from './handler/handler.js';
|
|
21
|
+
export { createHandler } from './handler/create-handler.js';
|
|
21
22
|
// Task Handler (functions, queues, crons)
|
|
22
23
|
export { taskHandler, TaskValidationError } from './handler/task-handler.js';
|
|
23
24
|
export { queueBatchHandler } from './handler/queue-batch.js';
|
|
24
25
|
// Context
|
|
25
|
-
export { buildContext, extractUserContext, extractLocale, setCookie, } from './handler/context.js';
|
|
26
|
+
export { buildContext, extractUserContext, extractLocale, setCookie, getRequestHost, } from './handler/context.js';
|
|
26
27
|
// Response utilities
|
|
27
|
-
export { success, created, noContent, error, errorResponse, redirect, } from './handler/response.js';
|
|
28
|
+
export { success, created, noContent, error, errorResponse, redirect, rawResult, isRawResult, } from './handler/response.js';
|
|
28
29
|
// Errors
|
|
29
30
|
export { VentureError, BadRequestError, UnauthorizedError, ForbiddenError, NotFoundError, ConflictError, PayloadTooLargeError, ValidationError, RateLimitError, InternalError, ServiceUnavailableError, isVentureError, } from './handler/errors.js';
|
|
30
31
|
// Logger
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAwB;AACxB,OAAO,EACL,OAAO,EACP,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAwB;AACxB,OAAO,EACL,OAAO,EACP,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,0CAA0C;AAC1C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAc7D,UAAU;AACV,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,qBAAqB;AACrB,OAAO,EACL,OAAO,EACP,OAAO,EACP,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAG/B,SAAS;AACT,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,SAAS;AACT,OAAO,EACL,MAAM,EACN,YAAY,EACZ,MAAM,GACP,MAAM,qBAAqB,CAAC;AAG7B,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQrD,oCAAoC;AACpC,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,2DAA2D;AAC3D,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAM1C,qDAAqD;AACrD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,UAAU;AACV,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,aAAa,GACd,MAAM,sBAAsB,CAAC;AAG9B,sCAAsC;AACtC,OAAO,EACL,eAAe,EACf,GAAG,GACJ,MAAM,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venturekit/runtime",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.20260704231929",
|
|
4
4
|
"description": "VentureKit runtime utilities - handlers, context, middleware, logging",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -65,11 +65,11 @@
|
|
|
65
65
|
"dependencies": {
|
|
66
66
|
"@aws-sdk/client-secrets-manager": "^3.1068.0",
|
|
67
67
|
"@aws-sdk/client-ssm": "^3.1068.0",
|
|
68
|
-
"@venturekit/core": "0.0.0-dev.
|
|
68
|
+
"@venturekit/core": "0.0.0-dev.20260704231929",
|
|
69
69
|
"pino": "^10.3.1"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
|
-
"@venturekit/data": "0.0.0-dev.
|
|
72
|
+
"@venturekit/data": "0.0.0-dev.20260704231929",
|
|
73
73
|
"@aws-sdk/client-dynamodb": "^3.500.0",
|
|
74
74
|
"@aws-sdk/lib-dynamodb": "^3.500.0",
|
|
75
75
|
"@aws-sdk/client-lambda": "^3.1068.0",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
}
|
|
110
110
|
},
|
|
111
111
|
"devDependencies": {
|
|
112
|
-
"@venturekit/data": "0.0.0-dev.
|
|
112
|
+
"@venturekit/data": "0.0.0-dev.20260704231929",
|
|
113
113
|
"@types/aws-lambda": "^8.10.131",
|
|
114
114
|
"@types/node": "^25.6.0",
|
|
115
115
|
"@aws-sdk/client-lambda": "^3.1068.0",
|