yinzerflow 0.1.16 → 0.1.17
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/constants/index.d.ts +3 -0
- package/constants/index.js +2 -2
- package/constants/index.js.map +2 -2
- package/example/index.ts +2 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
package/constants/index.d.ts
CHANGED
|
@@ -78,5 +78,8 @@ export declare const ConnectionEvent: {
|
|
|
78
78
|
readonly SERVER_STOPPED: "server-stopped";
|
|
79
79
|
};
|
|
80
80
|
export declare const DEFAULT_SOCKET_TIMEOUT = 30000;
|
|
81
|
+
export declare const DEFAULT_KEEP_ALIVE_TIMEOUT = 65000;
|
|
82
|
+
export declare const DEFAULT_HEADERS_TIMEOUT = 66000;
|
|
83
|
+
export declare const DEFAULT_GRACEFUL_SHUTDOWN_TIMEOUT = 30000;
|
|
81
84
|
|
|
82
85
|
export {};
|
package/constants/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var t={OK:"OK",CREATED:"Created",NO_CONTENT:"No Content",BAD_REQUEST:"Bad Request",UNAUTHORIZED:"Unauthorized",FORBIDDEN:"Forbidden",NOT_FOUND:"Not Found",METHOD_NOT_ALLOWED:"Method Not Allowed",CONFLICT:"Conflict",UNSUPPORTED_MEDIA_TYPE:"Unsupported Media Type",TOO_MANY_REQUESTS:"Too Many Requests",INTERNAL_SERVER_ERROR:"Internal Server Error"},
|
|
1
|
+
var t={OK:"OK",CREATED:"Created",NO_CONTENT:"No Content",BAD_REQUEST:"Bad Request",UNAUTHORIZED:"Unauthorized",FORBIDDEN:"Forbidden",NOT_FOUND:"Not Found",METHOD_NOT_ALLOWED:"Method Not Allowed",CONFLICT:"Conflict",UNSUPPORTED_MEDIA_TYPE:"Unsupported Media Type",TOO_MANY_REQUESTS:"Too Many Requests",INTERNAL_SERVER_ERROR:"Internal Server Error"},E={OK:200,CREATED:201,NO_CONTENT:204,BAD_REQUEST:400,UNAUTHORIZED:401,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,CONFLICT:409,UNSUPPORTED_MEDIA_TYPE:415,TOO_MANY_REQUESTS:429,INTERNAL_SERVER_ERROR:500},T={DELETE:"DELETE",GET:"GET",POST:"POST",PUT:"PUT",PATCH:"PATCH",HEAD:"HEAD",OPTIONS:"OPTIONS"},n={JSON:"application/json",HTML:"text/html",FORM:"application/x-www-form-urlencoded",MULTIPART:"multipart/form-data",XML:"application/xml",TEXT:"text/plain",CSV:"text/csv",YAML_APPLICATION:"application/yaml",YAML_TEXT:"text/yaml",URL_ENCODED_JSON:"application/x-www-form-urlencoded+json"};var r={ROUTE_ADDED:"route:added",ROUTE_REMOVED:"route:removed",ROUTES_CHANGED:"routes:changed"};var o={BEFORE_ALL:"before:all",BEFORE_GROUP:"before:group",BEFORE_HANDLER:"before:handler",AFTER_HANDLER:"after:handler"},a={HOOK_ADDED:"hook:added",HOOK_EXECUTED:"hook:executed",BEFORE_ALL_EXECUTED:"hook:before:all:executed",BEFORE_GROUP_EXECUTED:"hook:before:group:executed",BEFORE_HANDLER_EXECUTED:"hook:before:handler:executed",AFTER_HANDLER_EXECUTED:"hook:after:handler:executed"},U={ALL_BUT_EXCLUDED:"allButExcluded"};var _={CONNECTION_ADDED:"connection-added",CONNECTION_CLOSED:"connection-closed",CONNECTION_ERROR:"connection-error",ALL_CONNECTIONS_CLOSED:"all-connections-closed",SERVER_STARTED:"server-started",SERVER_STOPPED:"server-stopped"},i=30000,H=65000,M=66000,e=30000;export{r as RouteRegistryEvent,U as PathMatchingPattern,E as HttpStatusCode,t as HttpStatus,T as HttpMethod,o as HookPhase,a as HookManagerEvent,i as DEFAULT_SOCKET_TIMEOUT,H as DEFAULT_KEEP_ALIVE_TIMEOUT,M as DEFAULT_HEADERS_TIMEOUT,e as DEFAULT_GRACEFUL_SHUTDOWN_TIMEOUT,n as ContentType,_ as ConnectionEvent};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=169C7F3B3258E64C64756E2164756E21
|
package/constants/index.js.map
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"import type { Enum } from 'types/Common.ts';\n\n/**\n * Hook execution phases\n *\n * These constants define the different phases of hook execution\n * in the request lifecycle.\n */\nexport const HookPhase = <const>{\n /** Executed before any route-specific hooks */\n BEFORE_ALL: 'before:all',\n /** Executed for routes in a specific group */\n BEFORE_GROUP: 'before:group',\n /** Executed before a specific route handler */\n BEFORE_HANDLER: 'before:handler',\n /** Executed after a specific route handler */\n AFTER_HANDLER: 'after:handler',\n};\n\n/**\n * Type for HookPhase values\n */\nexport type THookPhase = Enum<typeof HookPhase>;\n\n/**\n * Events emitted by HooksManager\n *\n * These constants are used for the event system in the hooks components.\n */\nexport const HookManagerEvent = <const>{\n /** Emitted when a hook is added */\n HOOK_ADDED: 'hook:added',\n /** Emitted when a hook is executed */\n HOOK_EXECUTED: 'hook:executed',\n /** Emitted when a hook is executed before all routes */\n BEFORE_ALL_EXECUTED: 'hook:before:all:executed',\n /** Emitted when a hook is executed before a group */\n BEFORE_GROUP_EXECUTED: 'hook:before:group:executed',\n /** Emitted when a hook is executed before a handler */\n BEFORE_HANDLER_EXECUTED: 'hook:before:handler:executed',\n /** Emitted when a hook is executed after a handler */\n AFTER_HANDLER_EXECUTED: 'hook:after:handler:executed',\n};\n\n/**\n * Type for HookManagerEvent values\n */\nexport type THookManagerEvent = Enum<typeof HookManagerEvent>;\n\n/**\n * Special path matching patterns\n */\nexport const PathMatchingPattern = <const>{\n /** Apply hooks to all paths except those explicitly excluded */\n ALL_BUT_EXCLUDED: 'allButExcluded',\n};\n",
|
|
8
8
|
"/**\n * Connection-related constants\n *\n * This file contains constants related to connection management in YinzerFlow.\n */\n\n/**\n * Connection events emitted by the ConnectionManager\n */\nexport const ConnectionEvent = <const>{\n /** Emitted when a new connection is established */\n CONNECTION_ADDED: 'connection-added',\n /** Emitted when a connection is closed */\n CONNECTION_CLOSED: 'connection-closed',\n /** Emitted when a connection error occurs */\n CONNECTION_ERROR: 'connection-error',\n /** Emitted when all connections are closed */\n ALL_CONNECTIONS_CLOSED: 'all-connections-closed',\n /** Emitted when the server starts listening */\n SERVER_STARTED: 'server-started',\n /** Emitted when the server stops listening */\n SERVER_STOPPED: 'server-stopped',\n};\n\n/**\n * Default socket timeout in milliseconds (30 seconds)\n *\n * Standard timeout for most socket connections.\n * It is long enough for slow clients but short enough to prevent idle connections from staying open indefinitely.\n */\nexport const DEFAULT_SOCKET_TIMEOUT = 30000;\n\n/**\n * Default keep-alive timeout in milliseconds (65 seconds)\n *\n * This is the maximum time a connection can be idle before the server will close it.\n * This is to allow for a connection to stay open for a period of time so subsequent requests can be handled without a new connection.\n * This is also to prevent a connection from staying open indefinitely.\n * This is also useful for load balancing and preventing a single server from being overwhelmed by a large number of connections.\n * AWS recommends a keep-alive timeout of 65 seconds because there idle timeout is 60 seconds.\n */\nexport const DEFAULT_KEEP_ALIVE_TIMEOUT = 65000;\n\n/**\n * Default headers timeout in milliseconds (66 seconds)\n *\n * This is the maximum time to wait for a header from the client.\n * This is to allow for a connection to stay open for a period of time so subsequent requests can be handled without a new connection.\n * This is also to prevent a connection from staying open indefinitely.\n * This is also useful for load balancing and preventing a single server from being overwhelmed by a large number of connections.\n * It is recommended to set this value to be greater than the keep-alive timeout to prevent the server from closing the connection prematurely\n * before the keep-alive timeout has expired.\n */\nexport const DEFAULT_HEADERS_TIMEOUT = 66000;\n\n/**\n * Default graceful shutdown timeout in milliseconds (30 seconds)\n *\n * This is the maximum time to wait for a connection to complete before the server will close it.\n */\nexport const DEFAULT_GRACEFUL_SHUTDOWN_TIMEOUT = 30000;\n\n/**\n * Default port for the server\n */\nexport const DEFAULT_PORT = 5000;\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "AAWO,IAAM,EAAoB,CAC/B,GAAI,KACJ,QAAS,UACT,WAAY,aACZ,YAAa,cACb,aAAc,eACd,UAAW,YACX,UAAW,YACX,mBAAoB,qBACpB,SAAU,WACV,uBAAwB,yBACxB,kBAAmB,oBACnB,sBAAuB,uBACzB,EAMa,EAAwB,CACnC,GAAI,IACJ,QAAS,IACT,WAAY,IACZ,YAAa,IACb,aAAc,IACd,UAAW,IACX,UAAW,IACX,mBAAoB,IACpB,SAAU,IACV,uBAAwB,IACxB,kBAAmB,IACnB,sBAAuB,GACzB,EAMa,EAAoB,CAC/B,OAAQ,SACR,IAAK,MACL,KAAM,OACN,IAAK,MACL,MAAO,QACP,KAAM,OACN,QAAS,SACX,EAMa,EAAqB,CAChC,KAAM,mBACN,KAAM,YACN,KAAM,oCACN,UAAW,sBACX,IAAK,kBACL,KAAM,aACN,IAAK,WACL,iBAAkB,mBAClB,UAAW,YACX,iBAAkB,wCACpB,EClEO,IAAM,EAA4B,CAEvC,YAAa,cAEb,cAAe,gBAEf,eAAgB,gBAClB,ECPO,IAAM,EAAmB,CAE9B,WAAY,aAEZ,aAAc,eAEd,eAAgB,iBAEhB,cAAe,eACjB,EAYa,EAA0B,CAErC,WAAY,aAEZ,cAAe,gBAEf,oBAAqB,2BAErB,sBAAuB,6BAEvB,wBAAyB,+BAEzB,uBAAwB,6BAC1B,EAUa,EAA6B,CAExC,iBAAkB,gBACpB,EC9CO,IAAM,EAAyB,CAEpC,iBAAkB,mBAElB,kBAAmB,oBAEnB,iBAAkB,mBAElB,uBAAwB,yBAExB,eAAgB,iBAEhB,eAAgB,gBAClB,EAQa,EAAyB",
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "AAWO,IAAM,EAAoB,CAC/B,GAAI,KACJ,QAAS,UACT,WAAY,aACZ,YAAa,cACb,aAAc,eACd,UAAW,YACX,UAAW,YACX,mBAAoB,qBACpB,SAAU,WACV,uBAAwB,yBACxB,kBAAmB,oBACnB,sBAAuB,uBACzB,EAMa,EAAwB,CACnC,GAAI,IACJ,QAAS,IACT,WAAY,IACZ,YAAa,IACb,aAAc,IACd,UAAW,IACX,UAAW,IACX,mBAAoB,IACpB,SAAU,IACV,uBAAwB,IACxB,kBAAmB,IACnB,sBAAuB,GACzB,EAMa,EAAoB,CAC/B,OAAQ,SACR,IAAK,MACL,KAAM,OACN,IAAK,MACL,MAAO,QACP,KAAM,OACN,QAAS,SACX,EAMa,EAAqB,CAChC,KAAM,mBACN,KAAM,YACN,KAAM,oCACN,UAAW,sBACX,IAAK,kBACL,KAAM,aACN,IAAK,WACL,iBAAkB,mBAClB,UAAW,YACX,iBAAkB,wCACpB,EClEO,IAAM,EAA4B,CAEvC,YAAa,cAEb,cAAe,gBAEf,eAAgB,gBAClB,ECPO,IAAM,EAAmB,CAE9B,WAAY,aAEZ,aAAc,eAEd,eAAgB,iBAEhB,cAAe,eACjB,EAYa,EAA0B,CAErC,WAAY,aAEZ,cAAe,gBAEf,oBAAqB,2BAErB,sBAAuB,6BAEvB,wBAAyB,+BAEzB,uBAAwB,6BAC1B,EAUa,EAA6B,CAExC,iBAAkB,gBACpB,EC9CO,IAAM,EAAyB,CAEpC,iBAAkB,mBAElB,kBAAmB,oBAEnB,iBAAkB,mBAElB,uBAAwB,yBAExB,eAAgB,iBAEhB,eAAgB,gBAClB,EAQa,EAAyB,MAWzB,EAA6B,MAY7B,EAA0B,MAO1B,EAAoC",
|
|
11
|
+
"debugId": "169C7F3B3258E64C64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
package/example/index.ts
CHANGED
package/index.js
CHANGED
|
@@ -20,4 +20,4 @@ ${this._formattedBody}`}_formatResponseBody($){if($===null)return"null";switch(t
|
|
|
20
20
|
\r
|
|
21
21
|
`)}catch(_){}await new Promise((M)=>{setTimeout(()=>M(),D)})}for(let M of this._connections)try{M.destroy()}catch(_){}this._connections.clear(),this.emit(f.ALL_CONNECTIONS_CLOSED)}}import{EventEmitter as y1}from"events";import{HookManagerEvent as I,HookPhase as U$,PathMatchingPattern as O$}from "yinzerflow/constants/index.js";class D$ extends y1{hooks=[];pathMatchCache=new Map;add($,D){let M={paths:[],excluded:[],fn:$};if(!D);else if(D.paths===O$.ALL_BUT_EXCLUDED&&Array.isArray(D.excluded))M={paths:O$.ALL_BUT_EXCLUDED,excluded:D.excluded,fn:$};else if(Array.isArray(D.paths))M={paths:D.paths,excluded:D.excluded??[],fn:$};return this.hooks.push(M),this.clearPathMatchCache(),this.emit(I.HOOK_ADDED,M),this}clearPathMatchCache(){this.pathMatchCache.clear()}getHooksForPath($){if(this.pathMatchCache.has($))return this.pathMatchCache.get($)??[];let D=this.hooks.filter((M)=>{if(M.paths===O$.ALL_BUT_EXCLUDED)return!this.isPathExcluded($,M.excluded);if(Array.isArray(M.paths))return this.isPathIncluded($,M.paths)&&!this.isPathExcluded($,M.excluded);return!1});return this.pathMatchCache.set($,D),D}isPathIncluded($,D){if(D.length===0)return!0;return D.some((M)=>{if(M===$)return!0;if(M.endsWith("*")){let _=M.slice(0,-1);return $.startsWith(_)}return!1})}isPathExcluded($,D){return this.isPathIncluded($,D)}async processBeforeAll($,D){if(!this.hooks.length)return;let M=this.getHooksForPath($.path);for(let _ of M)try{let W=await Promise.resolve(_.fn(D));if(this.emit(I.HOOK_EXECUTED,{phase:U$.BEFORE_ALL,path:$.path,result:W?"short-circuit":"continue"}),this.emit(I.BEFORE_ALL_EXECUTED,D,_),W)return W}catch(W){throw console.error(`Hook error for path ${$.path}:`,W),W}return}async processBeforeGroup($,D){if(!$.beforeGroup)return;try{let M=await Promise.resolve($.beforeGroup(D));return this.emit(I.HOOK_EXECUTED,{phase:U$.BEFORE_GROUP,path:$.path,result:M?"short-circuit":"continue"}),this.emit(I.BEFORE_GROUP_EXECUTED,D,$.beforeGroup),M}catch(M){throw console.error(`BeforeGroup hook error for path ${$.path}:`,M),M}}async processBeforeHandler($,D){if(!$.beforeHandler)return;try{let M=await Promise.resolve($.beforeHandler(D));return this.emit(I.HOOK_EXECUTED,{phase:U$.BEFORE_HANDLER,path:$.path,result:M?"short-circuit":"continue"}),this.emit(I.BEFORE_HANDLER_EXECUTED,D,$.beforeHandler),M}catch(M){throw console.error(`BeforeHandler hook error for path ${$.path}:`,M),M}}async processAfterHandler($,D){if(!$.afterHandler)return;try{let M=await Promise.resolve($.afterHandler(D));return this.emit(I.HOOK_EXECUTED,{phase:U$.AFTER_HANDLER,path:$.path,result:M?"modified":"unmodified"}),this.emit(I.AFTER_HANDLER_EXECUTED,D,$.afterHandler),M}catch(M){throw console.error(`AfterHandler hook error for path ${$.path}:`,M),M}}clear(){while(this.hooks.length>0)this.hooks.pop();return this.clearPathMatchCache(),this}get hooksCount(){return this.hooks.length}}class L${routeRegistry=new t;routeFinder=new e(this.routeRegistry);hooksManager=new D$;connectionManager;requestHandler;configManager;_ip=c$.default.address();get hooks(){return this.hooksManager}get config(){return this.configManager}constructor($){this.configManager=new B$($),this.connectionManager=new $$(this.configManager),this.requestHandler=new d(this.routeFinder,this.hooksManager,this.configManager),this.routeRegistry.on(k1.ROUTES_CHANGED,()=>{this.routeFinder.updatePatternRouteCache()})}get=n(this.routeRegistry);post=o(this.routeRegistry);put=r(this.routeRegistry);delete=s(this.routeRegistry);patch=a(this.routeRegistry);group($,D,M){this.routeRegistry.addGroup($,D,M)}beforeAll($,D){return this.hooksManager.add($,D),this}async listen(){return new Promise(($)=>{let{port:D}=this.configManager,M=b1();M.listen(D,this._ip),this.connectionManager.setServer(M),M.on("listening",()=>{this.connectionManager.setListening(!0),$()}),M.on("connection",(_)=>{this.connectionManager.addConnection(_),_.on("data",(W)=>{this.requestHandler.handleSocketRequest(_,W).catch((Y)=>{console.error("Error handling request:",Y)})}),_.on("error",(W)=>{console.error("An error occurred with yinzerflow. Please open an issue on GitHub.",W)})}),M.on("error",(_)=>{console.error("An error occurred with yinzerflow. Please open an issue on GitHub.",_)})})}async close(){if(!this.connectionManager.isListening()||!this.connectionManager.getServer())return;await this.connectionManager.closeAllConnections();let $=this.connectionManager.getServer();if(!$)return;return new Promise((D)=>{$.close(()=>{this.connectionManager.setListening(!1),D()})})}getStatus(){return{isListening:this.connectionManager.isListening(),port:this.configManager.port,ip:this._ip}}}export{Z$ as parseYaml,X$ as parseMultipartFormData,J$ as parseApplicationJson,G$ as isMultipartFormData,y$ as isJsonData,r as addPutRoute,o as addPostRoute,a as addPatchRoute,n as addGetRoute,s as addDeleteRoute,L$ as YinzerFlow,t as RouteRegistry,e as RouteFinder,b as Response,d as RequestHandler,u as Request,T2 as HttpStatusCode,L2 as HttpStatus,K2 as HttpMethod,D$ as HooksManager,k as Context,P2 as ContentType,$$ as ConnectionManager};
|
|
22
22
|
|
|
23
|
-
//# debugId=
|
|
23
|
+
//# debugId=44C4E8D87004813F64756E2164756E21
|
package/index.js.map
CHANGED
|
@@ -28,6 +28,6 @@
|
|
|
28
28
|
"import { EventEmitter } from 'events';\nimport type { Context } from 'core/Context.ts';\nimport type { IRoute, TUndefinableResponseFunction } from 'types/Route.ts';\nimport { HookManagerEvent, HookPhase, PathMatchingPattern } from 'constants/hooks.ts';\nimport type { TResponseBody } from 'types/http/Response.ts';\nimport type { IExcludeHook, IIncludeHook, THook } from 'types/Hook.ts';\n\n/**\n * Manages hooks registration and execution\n *\n * This class is responsible for registering hook functions and\n * executing them at the appropriate points in the request lifecycle.\n */\nexport class HooksManager extends EventEmitter {\n private readonly hooks: Array<THook> = [];\n\n // Cache for path matching to improve performance\n private readonly pathMatchCache = new Map<string, Array<THook>>();\n\n /**\n * Add a hook to be executed at various points in the request lifecycle\n *\n * @param fn The hook function to execute\n * @param options Configuration options for the hook\n * @returns The hooks manager instance for chaining\n */\n add(\n fn: TUndefinableResponseFunction,\n options?: {\n paths?: Array<string> | typeof PathMatchingPattern.ALL_BUT_EXCLUDED;\n excluded?: Array<string>;\n },\n ): this {\n let hookConfig: THook = <IIncludeHook>{ paths: [], excluded: [], fn };\n\n if (!options) {\n // Global hook with no path restrictions\n // Use the default initialization\n } else if (options.paths === PathMatchingPattern.ALL_BUT_EXCLUDED && Array.isArray(options.excluded)) {\n // Hook that applies to all paths except those explicitly excluded\n const excludeHook: IExcludeHook = {\n paths: PathMatchingPattern.ALL_BUT_EXCLUDED,\n excluded: options.excluded,\n fn,\n };\n hookConfig = excludeHook;\n } else if (Array.isArray(options.paths)) {\n // Hook that only applies to specific paths\n const includeHook: IIncludeHook = {\n paths: options.paths,\n excluded: options.excluded ?? [],\n fn,\n };\n hookConfig = includeHook;\n }\n // else use the default initialization\n\n this.hooks.push(hookConfig);\n\n // Clear the path match cache when a hook is added\n this.clearPathMatchCache();\n\n // Emit event\n this.emit(HookManagerEvent.HOOK_ADDED, hookConfig);\n\n return this;\n }\n\n /**\n * Clear the path match cache\n * This should be called whenever hooks are added or removed\n */\n private clearPathMatchCache(): void {\n this.pathMatchCache.clear();\n }\n\n /**\n * Get hooks that apply to a specific path\n * Uses caching for better performance\n *\n * @param path The route path to match against\n * @returns Array of hooks that apply to the path\n */\n private getHooksForPath(path: string): Array<THook> {\n // Check cache first\n if (this.pathMatchCache.has(path)) {\n return this.pathMatchCache.get(path) ?? [];\n }\n\n // Find all hooks that apply to this path\n const matchingHooks = this.hooks.filter((hook) => {\n // Case 1: \"All but excluded\" hook\n if (hook.paths === PathMatchingPattern.ALL_BUT_EXCLUDED) {\n return !this.isPathExcluded(path, hook.excluded);\n }\n\n // Case 2: Path-specific hook with paths array\n if (Array.isArray(hook.paths)) {\n // Check if the path is included in the paths array and not excluded\n return this.isPathIncluded(path, hook.paths) && !this.isPathExcluded(path, hook.excluded);\n }\n\n // Case 3: Global hook (empty paths array)\n // This should never happen with the current type definitions, but included for safety\n return false;\n });\n\n // Cache the result\n this.pathMatchCache.set(path, matchingHooks);\n\n return matchingHooks;\n }\n\n /**\n * Check if a path is included in a list of path patterns\n * Supports exact matches and pattern matching with wildcards\n *\n * @param path The path to check\n * @param patterns Array of path patterns to match against\n * @returns True if the path matches any pattern\n */\n private isPathIncluded(path: string, patterns: Array<string>): boolean {\n if (patterns.length === 0) return true;\n\n return patterns.some((pattern) => {\n // Exact match\n if (pattern === path) return true;\n\n // Wildcard match (e.g., /api/* matches /api/users)\n if (pattern.endsWith('*')) {\n const prefix = pattern.slice(0, -1);\n return path.startsWith(prefix);\n }\n\n return false;\n });\n }\n\n /**\n * Check if a path is excluded by a list of path patterns\n *\n * @param path The path to check\n * @param patterns Array of path patterns to match against\n * @returns True if the path matches any exclusion pattern\n */\n private isPathExcluded(path: string, patterns: Array<string>): boolean {\n return this.isPathIncluded(path, patterns);\n }\n\n /**\n * Process beforeAll hooks for a route\n *\n * @param route The route to process hooks for\n * @param ctx The request context\n * @returns A response body if a hook short-circuits, undefined otherwise\n */\n async processBeforeAll(route: IRoute, ctx: Context): Promise<TResponseBody<unknown> | void> {\n if (!this.hooks.length) return;\n\n const matchingHooks = this.getHooksForPath(route.path);\n\n for (const hook of matchingHooks) {\n try {\n const result = await Promise.resolve(hook.fn(ctx));\n\n // Emit event for hook execution\n this.emit(HookManagerEvent.HOOK_EXECUTED, {\n phase: HookPhase.BEFORE_ALL,\n path: route.path,\n result: result ? 'short-circuit' : 'continue',\n });\n\n // Emit specific phase event\n this.emit(HookManagerEvent.BEFORE_ALL_EXECUTED, ctx, hook);\n\n // If hook returns a value, short-circuit the request\n if (result) {\n return result;\n }\n } catch (error) {\n // Log the error but continue processing\n console.error(`Hook error for path ${route.path}:`, error);\n // Re-throw to allow error handling hooks to catch it\n throw error;\n }\n }\n\n return undefined;\n }\n\n /**\n * Process beforeGroup hooks for a route\n *\n * @param route The route to process hooks for\n * @param ctx The request context\n * @returns A response body if a hook short-circuits, undefined otherwise\n */\n async processBeforeGroup(route: IRoute, ctx: Context): Promise<TResponseBody<unknown> | void> {\n if (!route.beforeGroup) return;\n\n try {\n const result = await Promise.resolve(route.beforeGroup(ctx));\n\n this.emit(HookManagerEvent.HOOK_EXECUTED, {\n phase: HookPhase.BEFORE_GROUP,\n path: route.path,\n result: result ? 'short-circuit' : 'continue',\n });\n\n // Emit specific phase event\n this.emit(HookManagerEvent.BEFORE_GROUP_EXECUTED, ctx, route.beforeGroup);\n\n return result;\n } catch (error) {\n console.error(`BeforeGroup hook error for path ${route.path}:`, error);\n throw error;\n }\n }\n\n /**\n * Process beforeHandler hooks for a route\n *\n * @param route The route to process hooks for\n * @param ctx The request context\n * @returns A response body if a hook short-circuits, undefined otherwise\n */\n async processBeforeHandler(route: IRoute, ctx: Context): Promise<TResponseBody<unknown> | void> {\n if (!route.beforeHandler) return;\n\n try {\n const result = await Promise.resolve(route.beforeHandler(ctx));\n\n this.emit(HookManagerEvent.HOOK_EXECUTED, {\n phase: HookPhase.BEFORE_HANDLER,\n path: route.path,\n result: result ? 'short-circuit' : 'continue',\n });\n\n // Emit specific phase event\n this.emit(HookManagerEvent.BEFORE_HANDLER_EXECUTED, ctx, route.beforeHandler);\n\n return result;\n } catch (error) {\n console.error(`BeforeHandler hook error for path ${route.path}:`, error);\n throw error;\n }\n }\n\n /**\n * Process afterHandler hooks for a route\n *\n * @param route The route to process hooks for\n * @param ctx The request context\n * @returns A response body if a hook short-circuits, undefined otherwise\n */\n async processAfterHandler(route: IRoute, ctx: Context): Promise<TResponseBody<unknown> | void> {\n if (!route.afterHandler) return;\n\n try {\n const result = await Promise.resolve(route.afterHandler(ctx));\n\n this.emit(HookManagerEvent.HOOK_EXECUTED, {\n phase: HookPhase.AFTER_HANDLER,\n path: route.path,\n result: result ? 'modified' : 'unmodified',\n });\n\n // Emit specific phase event\n this.emit(HookManagerEvent.AFTER_HANDLER_EXECUTED, ctx, route.afterHandler);\n\n return result;\n } catch (error) {\n console.error(`AfterHandler hook error for path ${route.path}:`, error);\n throw error;\n }\n }\n\n /**\n * Remove all hooks\n *\n * @returns The hooks manager instance for chaining\n */\n clear(): this {\n while (this.hooks.length > 0) {\n this.hooks.pop();\n }\n this.clearPathMatchCache();\n return this;\n }\n\n /**\n * Get the number of registered hook functions\n */\n get hooksCount(): number {\n return this.hooks.length;\n }\n}\n"
|
|
29
29
|
],
|
|
30
30
|
"mappings": "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",
|
|
31
|
-
"debugId": "
|
|
31
|
+
"debugId": "44C4E8D87004813F64756E2164756E21",
|
|
32
32
|
"names": []
|
|
33
33
|
}
|