@theokit/http 1.1.2 → 2.0.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 +40 -1
- package/dist/app.d.ts +31 -0
- package/dist/app.js +2 -2
- package/dist/{chunk-ELVQOG52.js → chunk-6HVQHSPX.js} +43 -3
- package/dist/chunk-6HVQHSPX.js.map +1 -0
- package/dist/{chunk-6CFF7Q4Z.js → chunk-BXJBQ4EH.js} +2 -2
- package/dist/chunk-R72YKDQ4.js +321 -0
- package/dist/chunk-R72YKDQ4.js.map +1 -0
- package/dist/index.d.ts +56 -2
- package/dist/index.js +147 -201
- package/dist/index.js.map +1 -1
- package/dist/route-access-Bq7eKXIc.d.ts +77 -0
- package/dist/theokit-plugin.d.ts +10 -0
- package/dist/theokit-plugin.js +21 -4
- package/dist/theokit-plugin.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-ELVQOG52.js.map +0 -1
- package/dist/chunk-X7Q5HPLK.js +0 -152
- package/dist/chunk-X7Q5HPLK.js.map +0 -1
- /package/dist/{chunk-6CFF7Q4Z.js.map → chunk-BXJBQ4EH.js.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { D as DiContainer, M as MiddlewareConsumerImpl } from './middleware-consumer-DcaksawH.js';
|
|
3
3
|
export { a as MiddlewareConfigProxy, b as MiddlewareFn, N as NestMiddleware, R as ResolvedMiddleware, m as middlewareMatchesPath, r as resolveOrNew, c as runMiddleware } from './middleware-consumer-DcaksawH.js';
|
|
4
|
+
import { A as AccessDecision, U as UndeclaredRoutePolicy } from './route-access-Bq7eKXIc.js';
|
|
5
|
+
export { c as classifyAccess, u as undeclaredRouteRefusal, a as undeclaredRouteWarning } from './route-access-Bq7eKXIc.js';
|
|
4
6
|
import { S as ServerHandle } from './types-CGthbcon.js';
|
|
5
7
|
export { ReadinessCheck, TheoApp, TheoAppOptions } from './app.js';
|
|
6
8
|
import * as ReactTypes from 'react';
|
|
@@ -215,6 +217,29 @@ declare class Reflector {
|
|
|
215
217
|
getAllAndMerge<T>(decorator: (value: T) => MethodDecorator & ClassDecorator, target: Function, propertyKey?: string | symbol): T extends (infer U)[] ? U[] : T[];
|
|
216
218
|
}
|
|
217
219
|
|
|
220
|
+
/**
|
|
221
|
+
* The metadata key the framework reads to decide a controller route is open.
|
|
222
|
+
*
|
|
223
|
+
* @public
|
|
224
|
+
*/
|
|
225
|
+
declare const PUBLIC_ROUTE_METADATA = "theokit:public";
|
|
226
|
+
/**
|
|
227
|
+
* Declare that a controller route may be called by anyone.
|
|
228
|
+
*
|
|
229
|
+
* ```ts
|
|
230
|
+
* @Get()
|
|
231
|
+
* @Public()
|
|
232
|
+
* check() { return { status: 'ok' } }
|
|
233
|
+
* ```
|
|
234
|
+
*
|
|
235
|
+
* The controller equivalent of `.policy('public')` on the route builder. `'public'` is a decision,
|
|
236
|
+
* not the absence of one — the build refuses a controller route that declares neither. Use
|
|
237
|
+
* `@SetMetadata`/`@UseGuards` for anything this does not say.
|
|
238
|
+
*
|
|
239
|
+
* @public
|
|
240
|
+
*/
|
|
241
|
+
declare const Public: () => MethodDecorator & ClassDecorator;
|
|
242
|
+
|
|
218
243
|
interface ThrottleOptions {
|
|
219
244
|
/** Maximum requests within the TTL window. */
|
|
220
245
|
limit: number;
|
|
@@ -388,6 +413,19 @@ interface WalkResult {
|
|
|
388
413
|
guards: Function[];
|
|
389
414
|
interceptors: Function[];
|
|
390
415
|
filters: Function[];
|
|
416
|
+
/**
|
|
417
|
+
* What this route said about who may call it — decided HERE, once (usetheokit/theokit#576).
|
|
418
|
+
*
|
|
419
|
+
* Every controller dispatcher in this package consumes a `WalkResult`: `TheoApp`,
|
|
420
|
+
* `createDecoratorHandler` (which the framework's own controller dispatch reuses) and
|
|
421
|
+
* `httpDecoratorsPlugin`. Only the first of them classified access, and it did so by re-reading
|
|
422
|
+
* the metadata itself — so the other two served an undeclared route no matter what the app had
|
|
423
|
+
* configured, and a fourth dispatcher would have shipped with the same hole.
|
|
424
|
+
*
|
|
425
|
+
* Computing it on the walk is what makes "a route nobody declared is refused" a property of the
|
|
426
|
+
* package rather than of whichever dispatcher someone remembered to patch.
|
|
427
|
+
*/
|
|
428
|
+
access: AccessDecision;
|
|
391
429
|
/**
|
|
392
430
|
* M47 — set when the member is bound via `@Expose(agent, opts)`. The dispatcher delegates such routes to
|
|
393
431
|
* the agent runtime (`mountAgent`) instead of invoking a JSON handler. `undefined` for normal verb routes.
|
|
@@ -490,6 +528,17 @@ interface CreateDecoratorServerOptions {
|
|
|
490
528
|
configure?: (consumer: MiddlewareConsumerImpl) => void;
|
|
491
529
|
/** M47 — required when any controller `@Expose`-binds an agent; serves the agent route. */
|
|
492
530
|
serveAgent?: ServeAgent;
|
|
531
|
+
/**
|
|
532
|
+
* What to do with a controller route that declared no access decision (#576).
|
|
533
|
+
*
|
|
534
|
+
* `'deny'` (default) refuses with 403. `'warn'` serves it after saying so once per route.
|
|
535
|
+
*
|
|
536
|
+
* This seam is where least privilege has to hold, not only `TheoApp`: the framework's own
|
|
537
|
+
* controller dispatch reuses this handler, `theokit dev` never runs the build gate that refuses
|
|
538
|
+
* an undeclared controller, and `@theokit/http` is published on its own. A gate that lives in one
|
|
539
|
+
* of three dispatchers is a lint, which is exactly what #576 reported.
|
|
540
|
+
*/
|
|
541
|
+
undeclaredRoutes?: UndeclaredRoutePolicy;
|
|
493
542
|
}
|
|
494
543
|
/**
|
|
495
544
|
* A pure Web-Standard controller handler: callable as `(request) => Response | null`
|
|
@@ -1277,7 +1326,12 @@ declare function tryGetRequestContext(): TheoRequestContext | null;
|
|
|
1277
1326
|
*/
|
|
1278
1327
|
interface ErrorContext {
|
|
1279
1328
|
route?: string;
|
|
1280
|
-
|
|
1329
|
+
/**
|
|
1330
|
+
* `'construction'` is the controller never coming into existence — distinct from `'handler'`,
|
|
1331
|
+
* which is its method throwing. #577: the first has no instance to blame and takes out every
|
|
1332
|
+
* route on the class, so an operator reading a digest needs to tell the two apart.
|
|
1333
|
+
*/
|
|
1334
|
+
phase?: 'construction' | 'guard' | 'interceptor' | 'handler' | 'filter' | 'agent';
|
|
1281
1335
|
source?: string;
|
|
1282
1336
|
}
|
|
1283
1337
|
interface DigestedError {
|
|
@@ -1426,4 +1480,4 @@ declare function revalidatePath(path: string): void;
|
|
|
1426
1480
|
*/
|
|
1427
1481
|
declare function getRevalidationSignals(): RevalidationSignal[];
|
|
1428
1482
|
|
|
1429
|
-
export { All, type ArgumentsHost, BadGatewayException, BadRequestException, Body, CATCH_EXCEPTIONS, CONTROLLER_PREFIX, type CanActivate, Catch, ConflictException, Controller, type ControllerMeta, type ControllerOptions, type CreateDecoratorServerOptions, type DecoratorHandler, Delete, DiContainer, type DigestedError, EXPOSE_AGENT, type ErrorContext, type ExceptionFilter, type ExecutionContext, Expose, type ExposeEntry, type ExposeOptions, ForbiddenException, GatewayTimeoutException, Get, GoneException, Head, Header, Headers, HostParam, HttpCode, HttpDecoratorsConfigError, HttpException, type HttpExceptionOptions, HttpStatus, type HttpStatusCode, type HttpVerb, HttpVersionNotSupportedException, ImATeapotException, type Interceptor, InternalServerErrorException, Ip, type MetadataKey, MethodNotAllowedException, MiddlewareConsumerImpl, NotAcceptableException, NotFoundException, NotImplementedException, Options, Param, type ParamEntry, type ParamSource, Patch, PayloadTooLargeException, Post, PreconditionFailedException, Put, Query, ROUTE_HEADERS, ROUTE_METHODS, ROUTE_PARAMS, ROUTE_REDIRECT, ROUTE_STATUS, Redirect, type RedirectMeta, Reflector, Req, RequestTimeoutException, Res, type RevalidationSignal, type RouteDefinition, type RouteMap, type RouteMethodEntry, type RouteRegistration, type RouteTree, type ServeAgent, ServiceUnavailableException, Session, SetMetadata, SkipThrottle, type StaticOptions, type StreamRenderOptions, type StreamRenderResult, type SwcCore, type TheoRequestContext, Throttle, type ThrottleOptions, TooManyRequestsException, type TypedClient, TypedClientError, USE_FILTERS, USE_GUARDS, USE_INTERCEPTORS, UnauthorizedException, UnprocessableEntityException, UnsupportedMediaTypeException, UseFilters, UseGuards, UseInterceptors, type WalkResult, composeComponentTree, contract, createDecorator, createDecoratorHandler, createDecoratorServer, createExecutionContext, createStaticHandler, createTypedClient, digestError, getMeta, getMimeType, getRequestContext, getRevalidationSignals, getThrottleOptions, isControllerClass, isSafePath, isThrottleSkipped, joinPath, loadControllerWithSwc, loadControllersFromGlob, registerControllers, renderToStream, resolveDtoSchema, revalidatePath, revalidateTag, runExceptionFilters, runInterceptors, setMeta, streamToResponse, transformControllerSource, tryGetRequestContext, walkControllerMetadata };
|
|
1483
|
+
export { AccessDecision, All, type ArgumentsHost, BadGatewayException, BadRequestException, Body, CATCH_EXCEPTIONS, CONTROLLER_PREFIX, type CanActivate, Catch, ConflictException, Controller, type ControllerMeta, type ControllerOptions, type CreateDecoratorServerOptions, type DecoratorHandler, Delete, DiContainer, type DigestedError, EXPOSE_AGENT, type ErrorContext, type ExceptionFilter, type ExecutionContext, Expose, type ExposeEntry, type ExposeOptions, ForbiddenException, GatewayTimeoutException, Get, GoneException, Head, Header, Headers, HostParam, HttpCode, HttpDecoratorsConfigError, HttpException, type HttpExceptionOptions, HttpStatus, type HttpStatusCode, type HttpVerb, HttpVersionNotSupportedException, ImATeapotException, type Interceptor, InternalServerErrorException, Ip, type MetadataKey, MethodNotAllowedException, MiddlewareConsumerImpl, NotAcceptableException, NotFoundException, NotImplementedException, Options, PUBLIC_ROUTE_METADATA, Param, type ParamEntry, type ParamSource, Patch, PayloadTooLargeException, Post, PreconditionFailedException, Public, Put, Query, ROUTE_HEADERS, ROUTE_METHODS, ROUTE_PARAMS, ROUTE_REDIRECT, ROUTE_STATUS, Redirect, type RedirectMeta, Reflector, Req, RequestTimeoutException, Res, type RevalidationSignal, type RouteDefinition, type RouteMap, type RouteMethodEntry, type RouteRegistration, type RouteTree, type ServeAgent, ServiceUnavailableException, Session, SetMetadata, SkipThrottle, type StaticOptions, type StreamRenderOptions, type StreamRenderResult, type SwcCore, type TheoRequestContext, Throttle, type ThrottleOptions, TooManyRequestsException, type TypedClient, TypedClientError, USE_FILTERS, USE_GUARDS, USE_INTERCEPTORS, UnauthorizedException, UndeclaredRoutePolicy, UnprocessableEntityException, UnsupportedMediaTypeException, UseFilters, UseGuards, UseInterceptors, type WalkResult, composeComponentTree, contract, createDecorator, createDecoratorHandler, createDecoratorServer, createExecutionContext, createStaticHandler, createTypedClient, digestError, getMeta, getMimeType, getRequestContext, getRevalidationSignals, getThrottleOptions, isControllerClass, isSafePath, isThrottleSkipped, joinPath, loadControllerWithSwc, loadControllersFromGlob, registerControllers, renderToStream, resolveDtoSchema, revalidatePath, revalidateTag, runExceptionFilters, runInterceptors, setMeta, streamToResponse, transformControllerSource, tryGetRequestContext, walkControllerMetadata };
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
renderToStream,
|
|
8
8
|
streamToResponse,
|
|
9
9
|
tryGetRequestContext
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6HVQHSPX.js";
|
|
11
11
|
import {
|
|
12
12
|
MiddlewareConsumerImpl,
|
|
13
13
|
isControllerClass,
|
|
@@ -17,17 +17,25 @@ import {
|
|
|
17
17
|
resolveBody,
|
|
18
18
|
runMiddleware,
|
|
19
19
|
transformControllerSource
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-BXJBQ4EH.js";
|
|
21
21
|
import {
|
|
22
22
|
runExceptionFilters
|
|
23
23
|
} from "./chunk-HC47QXZV.js";
|
|
24
24
|
import {
|
|
25
25
|
HttpDecoratorsConfigError,
|
|
26
|
+
PUBLIC_ROUTE_METADATA,
|
|
27
|
+
Public,
|
|
28
|
+
Reflector,
|
|
29
|
+
SetMetadata,
|
|
30
|
+
classifyAccess,
|
|
31
|
+
createDecorator,
|
|
26
32
|
createExecutionContext,
|
|
27
33
|
joinPath,
|
|
28
34
|
resolveDtoSchema,
|
|
35
|
+
undeclaredRouteRefusal,
|
|
36
|
+
undeclaredRouteWarning,
|
|
29
37
|
walkControllerMetadata
|
|
30
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-R72YKDQ4.js";
|
|
31
39
|
import {
|
|
32
40
|
BadGatewayException,
|
|
33
41
|
BadRequestException,
|
|
@@ -263,131 +271,6 @@ function Catch(...exceptions) {
|
|
|
263
271
|
}
|
|
264
272
|
__name(Catch, "Catch");
|
|
265
273
|
|
|
266
|
-
// src/decorators/set-metadata.ts
|
|
267
|
-
import "reflect-metadata";
|
|
268
|
-
var decoratorKeyCounter = 0;
|
|
269
|
-
function createDecorator() {
|
|
270
|
-
const key = /* @__PURE__ */ Symbol.for(`theokit:custom:${++decoratorKeyCounter}`);
|
|
271
|
-
const decorator = /* @__PURE__ */ __name((value) => {
|
|
272
|
-
return (target, propertyKey) => {
|
|
273
|
-
const metaTarget = propertyKey !== void 0 ? target.constructor : target;
|
|
274
|
-
Reflect.defineMetadata(key, value, metaTarget, propertyKey);
|
|
275
|
-
};
|
|
276
|
-
}, "decorator");
|
|
277
|
-
decorator.key = key;
|
|
278
|
-
return decorator;
|
|
279
|
-
}
|
|
280
|
-
__name(createDecorator, "createDecorator");
|
|
281
|
-
function SetMetadata(metaKey, value) {
|
|
282
|
-
return (target, propertyKey) => {
|
|
283
|
-
const metaTarget = propertyKey !== void 0 ? target.constructor : target;
|
|
284
|
-
Reflect.defineMetadata(metaKey, value, metaTarget, propertyKey);
|
|
285
|
-
};
|
|
286
|
-
}
|
|
287
|
-
__name(SetMetadata, "SetMetadata");
|
|
288
|
-
var Reflector = class {
|
|
289
|
-
static {
|
|
290
|
-
__name(this, "Reflector");
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Read metadata set by a typed decorator created via createDecorator<T>().
|
|
294
|
-
*
|
|
295
|
-
* @example
|
|
296
|
-
* ```ts
|
|
297
|
-
* const Roles = createDecorator<string[]>()
|
|
298
|
-
* const reflector = new Reflector()
|
|
299
|
-
* const roles = reflector.get(Roles, handlerFn) // string[] | undefined
|
|
300
|
-
* ```
|
|
301
|
-
*/
|
|
302
|
-
get(decorator, target, propertyKey) {
|
|
303
|
-
const key = decorator.key;
|
|
304
|
-
if (!key) return void 0;
|
|
305
|
-
if (propertyKey !== void 0) {
|
|
306
|
-
return Reflect.getMetadata(key, target, propertyKey);
|
|
307
|
-
}
|
|
308
|
-
return Reflect.getMetadata(key, target);
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Read metadata set by @SetMetadata(key, value).
|
|
312
|
-
*/
|
|
313
|
-
getByKey(key, target, propertyKey) {
|
|
314
|
-
if (propertyKey !== void 0) {
|
|
315
|
-
return Reflect.getMetadata(key, target, propertyKey);
|
|
316
|
-
}
|
|
317
|
-
return Reflect.getMetadata(key, target);
|
|
318
|
-
}
|
|
319
|
-
/**
|
|
320
|
-
* Read metadata checking method-level first, then class-level.
|
|
321
|
-
* Returns the first non-undefined value found.
|
|
322
|
-
*
|
|
323
|
-
* NestJS equivalent: `reflector.getAllAndOverride(ROLES_KEY, [context.getHandler(), context.getClass()])`
|
|
324
|
-
*
|
|
325
|
-
* @example
|
|
326
|
-
* ```ts
|
|
327
|
-
* const Roles = createDecorator<string[]>()
|
|
328
|
-
* // In a guard:
|
|
329
|
-
* const roles = reflector.getAllAndOverride(Roles, context.getClass(), context.getMethodName())
|
|
330
|
-
* // Checks method-level @Roles first, falls back to class-level @Roles
|
|
331
|
-
* ```
|
|
332
|
-
*/
|
|
333
|
-
getAllAndOverride(decorator, target, propertyKey) {
|
|
334
|
-
if (propertyKey !== void 0) {
|
|
335
|
-
const methodLevel = this.get(decorator, target, propertyKey);
|
|
336
|
-
if (methodLevel !== void 0) return methodLevel;
|
|
337
|
-
}
|
|
338
|
-
return this.get(decorator, target);
|
|
339
|
-
}
|
|
340
|
-
/**
|
|
341
|
-
* Read metadata checking method-level first, then class-level, by raw key.
|
|
342
|
-
* Returns the first non-undefined value found.
|
|
343
|
-
*/
|
|
344
|
-
getAllAndOverrideByKey(key, target, propertyKey) {
|
|
345
|
-
if (propertyKey !== void 0) {
|
|
346
|
-
const methodLevel = this.getByKey(key, target, propertyKey);
|
|
347
|
-
if (methodLevel !== void 0) return methodLevel;
|
|
348
|
-
}
|
|
349
|
-
return this.getByKey(key, target);
|
|
350
|
-
}
|
|
351
|
-
/**
|
|
352
|
-
* Read metadata from both method-level and class-level, merging arrays.
|
|
353
|
-
* Returns all found values as a flat array.
|
|
354
|
-
*
|
|
355
|
-
* NestJS equivalent: `reflector.getAllAndMerge(ROLES_KEY, [context.getHandler(), context.getClass()])`
|
|
356
|
-
*
|
|
357
|
-
* @example
|
|
358
|
-
* ```ts
|
|
359
|
-
* const Tags = createDecorator<string[]>()
|
|
360
|
-
*
|
|
361
|
-
* @Tags(['api'])
|
|
362
|
-
* @Controller('cats')
|
|
363
|
-
* class CatsCtrl {
|
|
364
|
-
* @Tags(['read'])
|
|
365
|
-
* @Get()
|
|
366
|
-
* findAll() {}
|
|
367
|
-
* }
|
|
368
|
-
*
|
|
369
|
-
* reflector.getAllAndMerge(Tags, CatsCtrl, 'findAll')
|
|
370
|
-
* // → ['read', 'api'] (method + class merged)
|
|
371
|
-
* ```
|
|
372
|
-
*/
|
|
373
|
-
getAllAndMerge(decorator, target, propertyKey) {
|
|
374
|
-
const result = [];
|
|
375
|
-
if (propertyKey !== void 0) {
|
|
376
|
-
const methodLevel = this.get(decorator, target, propertyKey);
|
|
377
|
-
if (methodLevel !== void 0) {
|
|
378
|
-
if (Array.isArray(methodLevel)) result.push(...methodLevel);
|
|
379
|
-
else result.push(methodLevel);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
const classLevel = this.get(decorator, target);
|
|
383
|
-
if (classLevel !== void 0) {
|
|
384
|
-
if (Array.isArray(classLevel)) result.push(...classLevel);
|
|
385
|
-
else result.push(classLevel);
|
|
386
|
-
}
|
|
387
|
-
return result;
|
|
388
|
-
}
|
|
389
|
-
};
|
|
390
|
-
|
|
391
274
|
// src/decorators/throttle.ts
|
|
392
275
|
var THROTTLE_KEY = /* @__PURE__ */ Symbol.for("theokit:http-decorators:throttle");
|
|
393
276
|
var SKIP_THROTTLE_KEY = /* @__PURE__ */ Symbol.for("theokit:http-decorators:skip-throttle");
|
|
@@ -439,13 +322,76 @@ __name(registerControllers, "registerControllers");
|
|
|
439
322
|
|
|
440
323
|
// src/bridge/create-server.ts
|
|
441
324
|
import "reflect-metadata";
|
|
325
|
+
|
|
326
|
+
// src/error-digest.ts
|
|
327
|
+
function djb2(input) {
|
|
328
|
+
let hash = 5381;
|
|
329
|
+
for (let i = 0; i < input.length; i++) {
|
|
330
|
+
hash = (hash << 5) + hash + input.charCodeAt(i) | 0;
|
|
331
|
+
}
|
|
332
|
+
return (hash >>> 0).toString(16);
|
|
333
|
+
}
|
|
334
|
+
__name(djb2, "djb2");
|
|
335
|
+
function digestError(err, context = {}) {
|
|
336
|
+
const message = extractMessage(err);
|
|
337
|
+
const status = extractStatus(err);
|
|
338
|
+
const rawStack = extractStack(err);
|
|
339
|
+
const digest = djb2(message);
|
|
340
|
+
const isProduction = process.env.NODE_ENV === "production";
|
|
341
|
+
return {
|
|
342
|
+
digest,
|
|
343
|
+
message,
|
|
344
|
+
status,
|
|
345
|
+
context,
|
|
346
|
+
...rawStack && !isProduction ? {
|
|
347
|
+
stack: rawStack
|
|
348
|
+
} : {}
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
__name(digestError, "digestError");
|
|
352
|
+
function extractMessage(err) {
|
|
353
|
+
if (err instanceof Error) {
|
|
354
|
+
return err.message;
|
|
355
|
+
}
|
|
356
|
+
if (typeof err === "string") {
|
|
357
|
+
return err;
|
|
358
|
+
}
|
|
359
|
+
if (typeof err === "number") {
|
|
360
|
+
return String(err);
|
|
361
|
+
}
|
|
362
|
+
try {
|
|
363
|
+
return JSON.stringify(err);
|
|
364
|
+
} catch {
|
|
365
|
+
return "Unknown error";
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
__name(extractMessage, "extractMessage");
|
|
369
|
+
function extractStatus(err) {
|
|
370
|
+
if (err instanceof HttpException) {
|
|
371
|
+
return err.statusCode;
|
|
372
|
+
}
|
|
373
|
+
return 500;
|
|
374
|
+
}
|
|
375
|
+
__name(extractStatus, "extractStatus");
|
|
376
|
+
function extractStack(err) {
|
|
377
|
+
if (err instanceof Error) {
|
|
378
|
+
return err.stack;
|
|
379
|
+
}
|
|
380
|
+
return void 0;
|
|
381
|
+
}
|
|
382
|
+
__name(extractStack, "extractStack");
|
|
383
|
+
|
|
384
|
+
// src/bridge/create-server.ts
|
|
442
385
|
function createDecoratorHandler(controllersOrOpts) {
|
|
443
|
-
const { controllers, container, configure, serveAgent } = Array.isArray(controllersOrOpts) ? {
|
|
386
|
+
const { controllers, container, configure, serveAgent, undeclaredRoutes } = Array.isArray(controllersOrOpts) ? {
|
|
444
387
|
controllers: controllersOrOpts,
|
|
445
388
|
container: void 0,
|
|
446
389
|
configure: void 0,
|
|
447
|
-
serveAgent: void 0
|
|
390
|
+
serveAgent: void 0,
|
|
391
|
+
undeclaredRoutes: void 0
|
|
448
392
|
} : controllersOrOpts;
|
|
393
|
+
const undeclaredPolicy = undeclaredRoutes ?? "deny";
|
|
394
|
+
const warnedUndeclared = /* @__PURE__ */ new Set();
|
|
449
395
|
const middlewareConsumer = new MiddlewareConsumerImpl(container);
|
|
450
396
|
if (configure) configure(middlewareConsumer);
|
|
451
397
|
const middlewareEntries = middlewareConsumer.getEntries();
|
|
@@ -458,12 +404,24 @@ function createDecoratorHandler(controllersOrOpts) {
|
|
|
458
404
|
}
|
|
459
405
|
const routes = [];
|
|
460
406
|
for (const Ctor of unique) {
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
407
|
+
let built;
|
|
408
|
+
try {
|
|
409
|
+
built = {
|
|
410
|
+
instance: resolveOrNew(Ctor, container)
|
|
411
|
+
};
|
|
412
|
+
} catch (error) {
|
|
413
|
+
built = {
|
|
414
|
+
failure: {
|
|
415
|
+
controllerName: Ctor.name,
|
|
416
|
+
error
|
|
417
|
+
}
|
|
418
|
+
};
|
|
419
|
+
console.error(`[theokit] controller ${Ctor.name} failed to construct \u2014 its routes will answer 500:`, error instanceof Error ? error.message : String(error));
|
|
420
|
+
}
|
|
421
|
+
for (const walk of walkControllerMetadata(Ctor)) {
|
|
464
422
|
routes.push({
|
|
465
|
-
walk
|
|
466
|
-
|
|
423
|
+
walk,
|
|
424
|
+
...built
|
|
467
425
|
});
|
|
468
426
|
}
|
|
469
427
|
}
|
|
@@ -473,7 +431,16 @@ function createDecoratorHandler(controllersOrOpts) {
|
|
|
473
431
|
if (aP !== bP) return aP ? 1 : -1;
|
|
474
432
|
return 0;
|
|
475
433
|
});
|
|
476
|
-
const
|
|
434
|
+
const dispatchDeps = {
|
|
435
|
+
container,
|
|
436
|
+
middlewareEntries,
|
|
437
|
+
serveAgent,
|
|
438
|
+
undeclared: {
|
|
439
|
+
policy: undeclaredPolicy,
|
|
440
|
+
warned: warnedUndeclared
|
|
441
|
+
}
|
|
442
|
+
};
|
|
443
|
+
const handler = /* @__PURE__ */ __name((request) => handleRequest(routes, request, dispatchDeps), "handler");
|
|
477
444
|
handler.matches = (method, pathname) => findRoute(routes, method.toUpperCase(), pathname) !== null;
|
|
478
445
|
return handler;
|
|
479
446
|
}
|
|
@@ -494,16 +461,49 @@ function createDecoratorServer(controllersOrOpts) {
|
|
|
494
461
|
});
|
|
495
462
|
}
|
|
496
463
|
__name(createDecoratorServer, "createDecoratorServer");
|
|
497
|
-
async function handleRequest(routes, request,
|
|
464
|
+
async function handleRequest(routes, request, deps) {
|
|
465
|
+
const { container, middlewareEntries, serveAgent, undeclared } = deps;
|
|
498
466
|
const url = new URL(request.url);
|
|
499
467
|
const method = request.method.toUpperCase();
|
|
500
468
|
const pathname = url.pathname;
|
|
501
469
|
const match = findRoute(routes, method, pathname);
|
|
502
470
|
if (!match) return null;
|
|
503
|
-
const { walk,
|
|
471
|
+
const { walk, params } = match;
|
|
472
|
+
if ("failure" in match) {
|
|
473
|
+
const { controllerName, error } = match.failure;
|
|
474
|
+
const digested = digestError(error, {
|
|
475
|
+
route: `${method} ${pathname}`,
|
|
476
|
+
phase: "construction",
|
|
477
|
+
source: controllerName
|
|
478
|
+
});
|
|
479
|
+
return jsonResponse(500, {
|
|
480
|
+
error: {
|
|
481
|
+
code: "CONTROLLER_CONSTRUCTION_FAILED",
|
|
482
|
+
// The cause, named, with the controller that failed: an operator has to be able to act on
|
|
483
|
+
// this without attaching a debugger. `digestError` is what keeps the stack out of a
|
|
484
|
+
// production response — the same redaction every other error path here gets.
|
|
485
|
+
message: `Controller ${controllerName} failed to construct: ${digested.message}`,
|
|
486
|
+
digest: digested.digest,
|
|
487
|
+
...digested.stack === void 0 ? {} : {
|
|
488
|
+
stack: digested.stack
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
const { instance } = match;
|
|
504
494
|
try {
|
|
505
495
|
const mwResponse = await runMiddleware(middlewareEntries, request, pathname);
|
|
506
496
|
if (mwResponse) return mwResponse;
|
|
497
|
+
if (walk.access === "undeclared") {
|
|
498
|
+
if (undeclared.policy === "deny") {
|
|
499
|
+
const ex = new ForbiddenException(undeclaredRouteRefusal("controller", pathname));
|
|
500
|
+
return jsonResponse(ex.statusCode, ex.toJSON());
|
|
501
|
+
}
|
|
502
|
+
if (!undeclared.warned.has(pathname)) {
|
|
503
|
+
undeclared.warned.add(pathname);
|
|
504
|
+
console.warn(undeclaredRouteWarning("controller", pathname));
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
507
|
const ctx = createExecutionContext(request, instance.constructor, walk.propertyKey);
|
|
508
508
|
const guardResponse = await runGuards(walk.guards, ctx, container);
|
|
509
509
|
if (guardResponse) return guardResponse;
|
|
@@ -592,12 +592,11 @@ function jsonResponse(status, body) {
|
|
|
592
592
|
}
|
|
593
593
|
__name(jsonResponse, "jsonResponse");
|
|
594
594
|
function findRoute(routes, method, pathname) {
|
|
595
|
-
for (const
|
|
596
|
-
if (walk.verb !== "ALL" && walk.verb !== method) continue;
|
|
597
|
-
const params = matchPath(walk.fullPath, pathname);
|
|
595
|
+
for (const entry of routes) {
|
|
596
|
+
if (entry.walk.verb !== "ALL" && entry.walk.verb !== method) continue;
|
|
597
|
+
const params = matchPath(entry.walk.fullPath, pathname);
|
|
598
598
|
if (params !== null) return {
|
|
599
|
-
|
|
600
|
-
instance,
|
|
599
|
+
...entry,
|
|
601
600
|
params
|
|
602
601
|
};
|
|
603
602
|
}
|
|
@@ -709,64 +708,6 @@ function contract(routes) {
|
|
|
709
708
|
}
|
|
710
709
|
__name(contract, "contract");
|
|
711
710
|
|
|
712
|
-
// src/error-digest.ts
|
|
713
|
-
function djb2(input) {
|
|
714
|
-
let hash = 5381;
|
|
715
|
-
for (let i = 0; i < input.length; i++) {
|
|
716
|
-
hash = (hash << 5) + hash + input.charCodeAt(i) | 0;
|
|
717
|
-
}
|
|
718
|
-
return (hash >>> 0).toString(16);
|
|
719
|
-
}
|
|
720
|
-
__name(djb2, "djb2");
|
|
721
|
-
function digestError(err, context = {}) {
|
|
722
|
-
const message = extractMessage(err);
|
|
723
|
-
const status = extractStatus(err);
|
|
724
|
-
const rawStack = extractStack(err);
|
|
725
|
-
const digest = djb2(message);
|
|
726
|
-
const isProduction = process.env.NODE_ENV === "production";
|
|
727
|
-
return {
|
|
728
|
-
digest,
|
|
729
|
-
message,
|
|
730
|
-
status,
|
|
731
|
-
context,
|
|
732
|
-
...rawStack && !isProduction ? {
|
|
733
|
-
stack: rawStack
|
|
734
|
-
} : {}
|
|
735
|
-
};
|
|
736
|
-
}
|
|
737
|
-
__name(digestError, "digestError");
|
|
738
|
-
function extractMessage(err) {
|
|
739
|
-
if (err instanceof Error) {
|
|
740
|
-
return err.message;
|
|
741
|
-
}
|
|
742
|
-
if (typeof err === "string") {
|
|
743
|
-
return err;
|
|
744
|
-
}
|
|
745
|
-
if (typeof err === "number") {
|
|
746
|
-
return String(err);
|
|
747
|
-
}
|
|
748
|
-
try {
|
|
749
|
-
return JSON.stringify(err);
|
|
750
|
-
} catch {
|
|
751
|
-
return "Unknown error";
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
|
-
__name(extractMessage, "extractMessage");
|
|
755
|
-
function extractStatus(err) {
|
|
756
|
-
if (err instanceof HttpException) {
|
|
757
|
-
return err.statusCode;
|
|
758
|
-
}
|
|
759
|
-
return 500;
|
|
760
|
-
}
|
|
761
|
-
__name(extractStatus, "extractStatus");
|
|
762
|
-
function extractStack(err) {
|
|
763
|
-
if (err instanceof Error) {
|
|
764
|
-
return err.stack;
|
|
765
|
-
}
|
|
766
|
-
return void 0;
|
|
767
|
-
}
|
|
768
|
-
__name(extractStack, "extractStack");
|
|
769
|
-
|
|
770
711
|
// src/component-tree.ts
|
|
771
712
|
function createErrorBoundary(React, FallbackComponent) {
|
|
772
713
|
return class ErrorBoundary extends React.Component {
|
|
@@ -889,11 +830,13 @@ export {
|
|
|
889
830
|
NotFoundException,
|
|
890
831
|
NotImplementedException,
|
|
891
832
|
Options,
|
|
833
|
+
PUBLIC_ROUTE_METADATA,
|
|
892
834
|
Param,
|
|
893
835
|
Patch,
|
|
894
836
|
PayloadTooLargeException,
|
|
895
837
|
Post,
|
|
896
838
|
PreconditionFailedException,
|
|
839
|
+
Public,
|
|
897
840
|
Put,
|
|
898
841
|
Query,
|
|
899
842
|
ROUTE_HEADERS,
|
|
@@ -923,6 +866,7 @@ export {
|
|
|
923
866
|
UseFilters,
|
|
924
867
|
UseGuards,
|
|
925
868
|
UseInterceptors,
|
|
869
|
+
classifyAccess,
|
|
926
870
|
composeComponentTree,
|
|
927
871
|
contract,
|
|
928
872
|
createDecorator,
|
|
@@ -957,6 +901,8 @@ export {
|
|
|
957
901
|
streamToResponse,
|
|
958
902
|
transformControllerSource,
|
|
959
903
|
tryGetRequestContext,
|
|
904
|
+
undeclaredRouteRefusal,
|
|
905
|
+
undeclaredRouteWarning,
|
|
960
906
|
walkControllerMetadata
|
|
961
907
|
};
|
|
962
908
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/decorators/controller.ts","../src/decorators/methods.ts","../src/decorators/params.ts","../src/decorators/expose.ts","../src/decorators/response.ts","../src/decorators/middleware.ts","../src/decorators/set-metadata.ts","../src/decorators/throttle.ts","../src/bridge/register-controllers.ts","../src/bridge/create-server.ts","../src/typed-client.ts","../src/contract.ts","../src/error-digest.ts","../src/component-tree.ts","../src/cache-signal.ts"],"mappings":"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","names":["inferPrefix","className","stripped","replace","kebab","toLowerCase","Controller","prefixOrOpts","maybeOpts","target","prefix","opts","name","setMeta","CONTROLLER_PREFIX","host","makeVerbDecorator","verb","path","target","propertyKey","existing","getMeta","ROUTE_METHODS","push","setMeta","Get","Post","Put","Patch","Delete","Options","Head","All","isZodSchema","v","undefined","safeParse","makeParamDecorator","source","keyOrSchema","target","propertyKey","parameterIndex","map","getMeta","ROUTE_PARAMS","Map","entries","get","entry","index","key","schema","push","set","setMeta","Req","Body","Param","Query","Headers","Session","Ip","HostParam","Res","opts","passthrough","Expose","agent","opts","target","propertyKey","existing","getMeta","EXPOSE_AGENT","push","setMeta","HttpCode","status","target","propertyKey","setMeta","ROUTE_STATUS","Header","name","value","existing","getMeta","ROUTE_HEADERS","push","Redirect","url","ROUTE_REDIRECT","UseGuards","guards","target","propertyKey","actualTarget","existing","getMeta","USE_GUARDS","setMeta","UseInterceptors","interceptors","USE_INTERCEPTORS","UseFilters","filters","USE_FILTERS","Catch","exceptions","CATCH_EXCEPTIONS","decoratorKeyCounter","createDecorator","key","Symbol","for","decorator","value","target","propertyKey","metaTarget","undefined","Reflect","defineMetadata","SetMetadata","metaKey","Reflector","get","getMetadata","getByKey","getAllAndOverride","methodLevel","getAllAndOverrideByKey","getAllAndMerge","result","Array","isArray","push","classLevel","THROTTLE_KEY","Symbol","for","SKIP_THROTTLE_KEY","Throttle","options","target","propertyKey","actualTarget","undefined","setMeta","SkipThrottle","skip","getThrottleOptions","getMeta","isThrottleSkipped","registerControllers","controllers","seen","Set","unique","Ctor","has","console","warn","name","add","push","flatMap","walks","walkControllerMetadata","map","w","verb","fullPath","walkResult","createDecoratorHandler","controllersOrOpts","controllers","container","configure","serveAgent","Array","isArray","undefined","middlewareConsumer","MiddlewareConsumerImpl","middlewareEntries","getEntries","seen","Set","unique","Ctor","has","add","push","routes","instance","resolveOrNew","walks","walkControllerMetadata","w","walk","sort","a","b","aP","fullPath","includes","bP","handler","request","handleRequest","matches","method","pathname","findRoute","toUpperCase","createDecoratorServer","handle","adapter","createNodeAdapter","createServer","res","URL","url","jsonResponse","error","code","message","match","params","mwResponse","runMiddleware","ctx","createExecutionContext","propertyKey","guardResponse","runGuards","guards","agent","String","module","opts","body","resolveBody","Response","args","buildArgs","paramEntries","query","Object","fromEntries","searchParams","redirect","status","headers","location","handlerFn","result","runInterceptors","interceptors","apply","buildResponse","err","runExceptionFilters","filters","context","GuardCtor","guard","allowed","canActivate","ex","ForbiddenException","statusCode","toJSON","name","value","toLowerCase","JSON","stringify","verb","matchPath","pattern","paramNames","regexStr","replace","_m","RegExp","exec","forEach","i","length","maxIndex","Math","max","map","p","index","from","source","key","get","entries","createTypedClient","baseUrl","defaultHeaders","request","method","path","body","opts","url","URL","query","k","v","Object","entries","searchParams","set","headers","undefined","res","fetch","toString","JSON","stringify","ok","error","json","catch","message","statusText","TypedClientError","status","get","post","put","delete","Error","name","contract","routes","djb2","input","hash","i","length","charCodeAt","toString","digestError","err","context","message","extractMessage","status","extractStatus","rawStack","extractStack","digest","isProduction","process","env","NODE_ENV","stack","Error","String","JSON","stringify","HttpException","statusCode","undefined","createErrorBoundary","React","FallbackComponent","ErrorBoundary","Component","props","state","hasError","getDerivedStateFromError","render","createElement","Fragment","children","composeComponentTree","tree","composeNode","node","layout","Layout","page","Page","loading","Loading","error","ErrorFallback","element","Suspense","fallback","Boundary","revalidateTag","tag","collectSignal","kind","value","timestamp","Date","now","revalidatePath","path","getRevalidationSignals","ctx","tryGetRequestContext","_revalidationSignals","signal","console","warn","extended","push"]}
|
|
1
|
+
{"version":3,"sources":["../src/decorators/controller.ts","../src/decorators/methods.ts","../src/decorators/params.ts","../src/decorators/expose.ts","../src/decorators/response.ts","../src/decorators/middleware.ts","../src/decorators/throttle.ts","../src/bridge/register-controllers.ts","../src/bridge/create-server.ts","../src/error-digest.ts","../src/typed-client.ts","../src/contract.ts","../src/component-tree.ts","../src/cache-signal.ts"],"mappings":"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","names":["inferPrefix","className","stripped","replace","kebab","toLowerCase","Controller","prefixOrOpts","maybeOpts","target","prefix","opts","name","setMeta","CONTROLLER_PREFIX","host","makeVerbDecorator","verb","path","target","propertyKey","existing","getMeta","ROUTE_METHODS","push","setMeta","Get","Post","Put","Patch","Delete","Options","Head","All","isZodSchema","v","undefined","safeParse","makeParamDecorator","source","keyOrSchema","target","propertyKey","parameterIndex","map","getMeta","ROUTE_PARAMS","Map","entries","get","entry","index","key","schema","push","set","setMeta","Req","Body","Param","Query","Headers","Session","Ip","HostParam","Res","opts","passthrough","Expose","agent","opts","target","propertyKey","existing","getMeta","EXPOSE_AGENT","push","setMeta","HttpCode","status","target","propertyKey","setMeta","ROUTE_STATUS","Header","name","value","existing","getMeta","ROUTE_HEADERS","push","Redirect","url","ROUTE_REDIRECT","UseGuards","guards","target","propertyKey","actualTarget","existing","getMeta","USE_GUARDS","setMeta","UseInterceptors","interceptors","USE_INTERCEPTORS","UseFilters","filters","USE_FILTERS","Catch","exceptions","CATCH_EXCEPTIONS","THROTTLE_KEY","Symbol","for","SKIP_THROTTLE_KEY","Throttle","options","target","propertyKey","actualTarget","undefined","setMeta","SkipThrottle","skip","getThrottleOptions","getMeta","isThrottleSkipped","registerControllers","controllers","seen","Set","unique","Ctor","has","console","warn","name","add","push","flatMap","walks","walkControllerMetadata","map","w","verb","fullPath","walkResult","djb2","input","hash","i","length","charCodeAt","toString","digestError","err","context","message","extractMessage","status","extractStatus","rawStack","extractStack","digest","isProduction","process","env","NODE_ENV","stack","Error","String","JSON","stringify","HttpException","statusCode","undefined","createDecoratorHandler","controllersOrOpts","controllers","container","configure","serveAgent","undeclaredRoutes","Array","isArray","undefined","undeclaredPolicy","warnedUndeclared","Set","middlewareConsumer","MiddlewareConsumerImpl","middlewareEntries","getEntries","seen","unique","Ctor","has","add","push","routes","built","instance","resolveOrNew","error","failure","controllerName","name","console","Error","message","String","walk","walkControllerMetadata","sort","a","b","aP","fullPath","includes","bP","dispatchDeps","undeclared","policy","warned","handler","request","handleRequest","matches","method","pathname","findRoute","toUpperCase","createDecoratorServer","handle","adapter","createNodeAdapter","createServer","res","URL","url","jsonResponse","code","deps","match","params","digested","digestError","route","phase","source","digest","stack","mwResponse","runMiddleware","access","ex","ForbiddenException","undeclaredRouteRefusal","statusCode","toJSON","warn","undeclaredRouteWarning","ctx","createExecutionContext","propertyKey","guardResponse","runGuards","guards","agent","module","opts","body","resolveBody","Response","args","buildArgs","paramEntries","query","Object","fromEntries","searchParams","redirect","status","headers","location","handlerFn","result","runInterceptors","interceptors","apply","buildResponse","err","runExceptionFilters","filters","context","GuardCtor","guard","allowed","canActivate","value","toLowerCase","JSON","stringify","entry","verb","matchPath","pattern","paramNames","regexStr","replace","_m","RegExp","exec","forEach","i","length","maxIndex","Math","max","map","p","index","from","key","get","entries","createTypedClient","baseUrl","defaultHeaders","request","method","path","body","opts","url","URL","query","k","v","Object","entries","searchParams","set","headers","undefined","res","fetch","toString","JSON","stringify","ok","error","json","catch","message","statusText","TypedClientError","status","get","post","put","delete","Error","name","contract","routes","createErrorBoundary","React","FallbackComponent","ErrorBoundary","Component","props","state","hasError","getDerivedStateFromError","render","createElement","Fragment","children","composeComponentTree","tree","composeNode","node","layout","Layout","page","Page","loading","Loading","error","ErrorFallback","element","Suspense","fallback","Boundary","revalidateTag","tag","collectSignal","kind","value","timestamp","Date","now","revalidatePath","path","getRevalidationSignals","ctx","tryGetRequestContext","_revalidationSignals","signal","console","warn","extended","push"]}
|