@asenajs/hono-adapter 1.0.0 → 1.2.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.
Files changed (45) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/HonoAdapter.d.ts +222 -14
  5. package/dist/lib/HonoAdapter.js +672 -51
  6. package/dist/lib/HonoAdapter.js.map +1 -1
  7. package/dist/lib/HonoContextWrapper.d.ts +4 -5
  8. package/dist/lib/HonoContextWrapper.js +8 -14
  9. package/dist/lib/HonoContextWrapper.js.map +1 -1
  10. package/dist/lib/HonoWebsocketAdapter.d.ts +43 -14
  11. package/dist/lib/HonoWebsocketAdapter.js +175 -53
  12. package/dist/lib/HonoWebsocketAdapter.js.map +1 -1
  13. package/dist/lib/defaults/ConfigService.d.ts +2 -2
  14. package/dist/lib/defaults/Context.d.ts +3 -3
  15. package/dist/lib/defaults/MiddlewareService.d.ts +3 -3
  16. package/dist/lib/defaults/MiddlewareService.js +1 -1
  17. package/dist/lib/defaults/MiddlewareService.js.map +1 -1
  18. package/dist/lib/defaults/StaticServeService.d.ts +5 -0
  19. package/dist/lib/defaults/StaticServeService.js +4 -0
  20. package/dist/lib/defaults/StaticServeService.js.map +1 -0
  21. package/dist/lib/defaults/ValidationService.d.ts +3 -3
  22. package/dist/lib/defaults/ValidationService.js.map +1 -1
  23. package/dist/lib/defaults/index.d.ts +7 -4
  24. package/dist/lib/defaults/index.js +7 -4
  25. package/dist/lib/defaults/index.js.map +1 -1
  26. package/dist/lib/middlewares/CorsMiddleware.d.ts +148 -0
  27. package/dist/lib/middlewares/CorsMiddleware.js +169 -0
  28. package/dist/lib/middlewares/CorsMiddleware.js.map +1 -0
  29. package/dist/lib/middlewares/RateLimiterMiddleware.d.ts +329 -0
  30. package/dist/lib/middlewares/RateLimiterMiddleware.js +301 -0
  31. package/dist/lib/middlewares/RateLimiterMiddleware.js.map +1 -0
  32. package/dist/lib/types/HonoHandler.d.ts +10 -2
  33. package/dist/lib/types/StaticServeExtras.d.ts +6 -0
  34. package/dist/lib/types/StaticServeExtras.js +2 -0
  35. package/dist/lib/types/StaticServeExtras.js.map +1 -0
  36. package/dist/lib/types/index.d.ts +3 -2
  37. package/dist/lib/types/index.js +3 -2
  38. package/dist/lib/types/index.js.map +1 -1
  39. package/dist/lib/utils/createHonoAdapter.d.ts +2 -2
  40. package/dist/lib/utils/createHonoAdapter.js +2 -2
  41. package/dist/lib/utils/createHonoAdapter.js.map +1 -1
  42. package/dist/lib/utils/middlewareParser.d.ts +9 -3
  43. package/dist/lib/utils/middlewareParser.js +30 -4
  44. package/dist/lib/utils/middlewareParser.js.map +1 -1
  45. package/package.json +17 -11
@@ -1 +1 @@
1
- {"version":3,"file":"HonoAdapter.js","sourceRoot":"","sources":["../../lib/HonoAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HonoAdapter.js","sourceRoot":"","sources":["../../lib/HonoAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import type { Context, HonoRequest } from "hono";
2
- import type { AsenaContext, CookieExtra, SendOptions } from "@asenajs/asena/adapter";
3
- import type { CookieOptions } from "hono/utils/cookie";
4
- import type { ContentfulStatusCode } from "hono/utils/http-status";
1
+ import type { Context, HonoRequest } from 'hono';
2
+ import type { AsenaContext, CookieExtra, SendOptions } from '@asenajs/asena/adapter';
3
+ import type { CookieOptions } from 'hono/utils/cookie';
5
4
  export declare class HonoContextWrapper implements AsenaContext<HonoRequest<any, any>, Response> {
6
5
  private _context;
7
6
  constructor(context: Context);
@@ -16,7 +15,7 @@ export declare class HonoContextWrapper implements AsenaContext<HonoRequest<any,
16
15
  getBody<T>(): Promise<T>;
17
16
  getQuery(query: string): Promise<string>;
18
17
  getQueryAll(query: string): Promise<string[]>;
19
- send(data: string | any, statusOrOptions?: SendOptions | number): (Response & import("hono").TypedResponse<string, ContentfulStatusCode, "text">) | (Response & import("hono").TypedResponse<any, ContentfulStatusCode, "json">);
18
+ send(data: string | any, statusOrOptions?: SendOptions | number): Response;
20
19
  getCookie(name: string, secret?: string | BufferSource): Promise<string | false>;
21
20
  setCookie(name: string, value: string, options?: CookieExtra<CookieOptions>): Promise<void>;
22
21
  deleteCookie(name: string, options?: CookieExtra<CookieOptions>): Promise<void>;
@@ -1,4 +1,4 @@
1
- import { deleteCookie, getCookie, getSignedCookie, setCookie, setSignedCookie, } from "hono/cookie"; // add delete cookie
1
+ import { deleteCookie, getCookie, getSignedCookie, setCookie, setSignedCookie } from 'hono/cookie'; // add delete cookie
2
2
  export class HonoContextWrapper {
3
3
  _context;
4
4
  constructor(context) {
@@ -38,23 +38,19 @@ export class HonoContextWrapper {
38
38
  return this._context.req.queries(query);
39
39
  }
40
40
  send(data, statusOrOptions) {
41
- const { headers = {}, status = 200 } = typeof statusOrOptions === "number"
42
- ? { status: statusOrOptions }
43
- : statusOrOptions || {};
41
+ const { headers = {}, status = 200 } = typeof statusOrOptions === 'number' ? { status: statusOrOptions } : statusOrOptions || {};
44
42
  if (headers !== undefined) {
45
43
  Object.entries(headers).forEach(([key, value]) => {
46
44
  this._context.res.headers.append(key, value);
47
45
  });
48
46
  }
49
- if (typeof data === "string") {
47
+ if (typeof data === 'string') {
50
48
  return this._context.text(data);
51
49
  }
52
50
  return this._context.json(data, status, headers);
53
51
  }
54
52
  async getCookie(name, secret) {
55
- return secret
56
- ? await getSignedCookie(this._context, secret, name)
57
- : getCookie(this._context, name);
53
+ return secret ? await getSignedCookie(this._context, secret, name) : getCookie(this._context, name);
58
54
  }
59
55
  async setCookie(name, value, options) {
60
56
  const { secret, extraOptions } = options ?? {
@@ -82,16 +78,14 @@ export class HonoContextWrapper {
82
78
  this._context.set(key, value);
83
79
  }
84
80
  setWebSocketValue(value) {
85
- this._context.set("_websocketData", value);
81
+ this._context.set('_websocketData', value);
86
82
  }
87
83
  getWebSocketValue() {
88
- return this._context.get("_websocketData");
84
+ return this._context.get('_websocketData');
89
85
  }
90
86
  html(data, statusOrOptions) {
91
- const { headers = {}, status = 200 } = typeof statusOrOptions === "number"
92
- ? { status: statusOrOptions }
93
- : statusOrOptions || {};
94
- if (typeof data === "string") {
87
+ const { headers = {}, status = 200 } = typeof statusOrOptions === 'number' ? { status: statusOrOptions } : statusOrOptions || {};
88
+ if (typeof data === 'string') {
95
89
  return this._context.html(data, status, headers);
96
90
  }
97
91
  Object.entries(headers).forEach(([key, value]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"HonoContextWrapper.js","sourceRoot":"","sources":["../../lib/HonoContextWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HonoContextWrapper.js","sourceRoot":"","sources":["../../lib/HonoContextWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,46 @@
1
- import type { Context as HonoAdapterContext } from "./defaults/Context";
2
- import { AsenaWebsocketAdapter, type BaseMiddleware, type WebsocketAdapterParams } from "@asenajs/asena/adapter";
3
- import type { Hono } from "hono";
4
- import { type Server } from "bun";
5
- import { AsenaWebSocketService, type WSOptions } from "@asenajs/asena/web-socket";
6
- export declare class HonoWebsocketAdapter extends AsenaWebsocketAdapter<Hono, HonoAdapterContext> {
1
+ import { AsenaWebsocketAdapter } from '@asenajs/asena/adapter';
2
+ import type { Server } from 'bun';
3
+ import type { AsenaWebSocketService } from '@asenajs/asena/web-socket';
4
+ import { type WebSocketData, type WSOptions } from '@asenajs/asena/web-socket';
5
+ import type { ServerLogger } from '@asenajs/asena/logger';
6
+ export declare class HonoWebsocketAdapter extends AsenaWebsocketAdapter {
7
7
  name: string;
8
- private _server;
9
- constructor(params?: WebsocketAdapterParams<Hono>);
10
- registerWebSocket(webSocketService: AsenaWebSocketService<any>, middlewares: BaseMiddleware<HonoAdapterContext>[]): void;
11
- buildWebsocket(options?: WSOptions): void;
12
- startWebsocket(server: Server): void;
13
- private prepareWebSocket;
14
- private upgradeWebSocket;
8
+ private activeConnections;
9
+ private connectionLimits;
10
+ private heartbeatIntervals;
11
+ constructor(logger: ServerLogger);
12
+ /**
13
+ * Sets maximum connections allowed per namespace
14
+ * @param namespace - WebSocket namespace
15
+ * @param limit - Maximum number of concurrent connections
16
+ */
17
+ setConnectionLimit(namespace: string, limit: number): void;
18
+ /**
19
+ * Gets active connection count for a namespace
20
+ * @param namespace - WebSocket namespace
21
+ * @returns Number of active connections
22
+ */
23
+ getConnectionCount(namespace: string): number;
24
+ /**
25
+ * Graceful shutdown - closes all connections
26
+ * @param _timeoutMs - Timeout for graceful shutdown (default: 5000)
27
+ */
28
+ shutdown(_timeoutMs?: number): Promise<void>;
29
+ registerWebSocket(webSocketService: AsenaWebSocketService<any>): void;
30
+ startWebsocket(server: Server<WebSocketData>): void;
31
+ prepareWebSocket(options?: WSOptions & {
32
+ heartbeatInterval?: number;
33
+ }): void;
34
+ /**
35
+ * Starts heartbeat for a connection
36
+ * @param ws - WebSocket connection
37
+ * @param intervalMs - Heartbeat interval in milliseconds (default: 30000)
38
+ */
39
+ private startHeartbeat;
40
+ /**
41
+ * Stops heartbeat for a connection
42
+ * @param connectionId - Connection ID
43
+ */
44
+ private stopHeartbeat;
15
45
  private createHandler;
16
- private prepareMiddlewares;
17
46
  }
@@ -1,87 +1,209 @@
1
- import { middlewareParser } from "./utils/middlewareParser";
2
- import { AsenaWebsocketAdapter, } from "@asenajs/asena/adapter";
3
- import * as bun from "bun";
4
- import {} from "bun";
5
- import { AsenaSocket, AsenaWebSocketServer, AsenaWebSocketService, } from "@asenajs/asena/web-socket";
6
- import { green, yellow } from "@asenajs/asena/logger";
1
+ import { AsenaWebsocketAdapter } from '@asenajs/asena/adapter';
2
+ import { AsenaSocket, AsenaWebSocketServer, } from '@asenajs/asena/web-socket';
7
3
  export class HonoWebsocketAdapter extends AsenaWebsocketAdapter {
8
- name = "HonoWebsocketAdapter";
9
- _server;
10
- constructor(params) {
11
- super(params);
4
+ name = 'HonoWebsocketAdapter';
5
+ activeConnections = new Map(); // namespace -> Set of connection IDs
6
+ connectionLimits = new Map(); // namespace -> max connections
7
+ heartbeatIntervals = new Map(); // connection ID -> interval
8
+ constructor(logger) {
9
+ super(logger);
12
10
  }
13
- registerWebSocket(webSocketService, middlewares) {
14
- if (!webSocketService) {
15
- throw new Error("Websocket service is not provided");
11
+ /**
12
+ * Sets maximum connections allowed per namespace
13
+ * @param namespace - WebSocket namespace
14
+ * @param limit - Maximum number of concurrent connections
15
+ */
16
+ setConnectionLimit(namespace, limit) {
17
+ if (limit < 1) {
18
+ throw new Error('Connection limit must be at least 1');
16
19
  }
17
- if (this.websockets === undefined) {
18
- this.websockets = new Map();
20
+ this.connectionLimits.set(namespace, limit);
21
+ this.logger.info(`Connection limit set for namespace "${namespace}": ${limit}`);
22
+ }
23
+ /**
24
+ * Gets active connection count for a namespace
25
+ * @param namespace - WebSocket namespace
26
+ * @returns Number of active connections
27
+ */
28
+ getConnectionCount(namespace) {
29
+ return this.activeConnections.get(namespace)?.size || 0;
30
+ }
31
+ /**
32
+ * Graceful shutdown - closes all connections
33
+ * @param _timeoutMs - Timeout for graceful shutdown (default: 5000)
34
+ */
35
+ async shutdown(_timeoutMs = 5000) {
36
+ this.logger.info('Starting WebSocket graceful shutdown...');
37
+ // Stop all heartbeats
38
+ for (const interval of this.heartbeatIntervals.values()) {
39
+ clearInterval(interval);
40
+ }
41
+ this.heartbeatIntervals.clear();
42
+ // Clear connection tracking
43
+ this.activeConnections.clear();
44
+ this.logger.info('WebSocket shutdown complete');
45
+ }
46
+ registerWebSocket(webSocketService) {
47
+ if (!webSocketService) {
48
+ throw new Error('WebSocket service is required');
19
49
  }
20
50
  const namespace = webSocketService.namespace;
21
51
  if (!namespace) {
22
- throw new Error("Namespace is not provided");
52
+ throw new Error('WebSocket namespace is required');
23
53
  }
24
- this.logger.info(`${green("Successfully")} registered ${yellow("WEBSOCKET")} route for PATH: ${green(`/${webSocketService.namespace}`)}`);
25
- this.websockets.set(namespace, { socket: webSocketService, middlewares });
26
- }
27
- buildWebsocket(options) {
28
- if (!this.websockets || !this.websockets?.size)
29
- return;
30
- for (const [, websocket] of this.websockets) {
31
- this.upgradeWebSocket(websocket.socket, websocket.middlewares);
54
+ // Validate namespace format (alphanumeric, hyphens, underscores, slashes)
55
+ if (!namespace.match(/^[a-zA-Z0-9\-_\/]+$/)) {
56
+ throw new Error(`Invalid WebSocket namespace format: "${namespace}". Only alphanumeric characters, hyphens, underscores, and slashes are allowed.`);
57
+ }
58
+ // Initialize websockets map if needed
59
+ if (this.websockets === undefined) {
60
+ this.websockets = new Map();
61
+ }
62
+ // Check for duplicate registration
63
+ if (this.websockets.has(namespace)) {
64
+ this.logger.warn(`WebSocket namespace "${namespace}" is already registered. Overwriting previous registration...`);
32
65
  }
33
- this.prepareWebSocket(options);
66
+ this.websockets.set(namespace, webSocketService);
34
67
  }
35
68
  startWebsocket(server) {
36
- this._server = server;
37
- if (!this.websockets) {
69
+ if (!this.websockets || this.websockets.size < 1) {
38
70
  return;
39
71
  }
40
72
  for (const [namespace, websocket] of this.websockets) {
41
- websocket.socket.server = new AsenaWebSocketServer(server, namespace);
73
+ websocket.server = new AsenaWebSocketServer(server, namespace);
42
74
  }
43
75
  }
44
76
  prepareWebSocket(options) {
45
77
  if (this.websockets?.size < 1) {
46
78
  return;
47
79
  }
80
+ const heartbeatInterval = options?.heartbeatInterval;
48
81
  this.websocket = {
49
- open: this.createHandler("onOpenInternal"),
50
- message: this.createHandler("onMessage"),
51
- drain: this.createHandler("onDrain"),
52
- close: this.createHandler("onCloseInternal"),
53
- ping: this.createHandler("onPing"),
54
- pong: this.createHandler("onPong"),
82
+ open: (ws) => {
83
+ const namespace = ws.data.path;
84
+ // Check connection limit
85
+ const limit = this.connectionLimits.get(namespace);
86
+ const currentCount = this.getConnectionCount(namespace);
87
+ if (limit && currentCount >= limit) {
88
+ this.logger.warn(`Connection limit reached for namespace "${namespace}": ${currentCount}/${limit}. Rejecting new connection.`);
89
+ ws.close(1008, 'Connection limit reached');
90
+ return;
91
+ }
92
+ // Track connection
93
+ if (!this.activeConnections.has(namespace)) {
94
+ this.activeConnections.set(namespace, new Set());
95
+ }
96
+ this.activeConnections.get(namespace).add(ws.data.id);
97
+ // Start heartbeat if enabled
98
+ if (heartbeatInterval) {
99
+ this.startHeartbeat(ws, heartbeatInterval);
100
+ }
101
+ this.logger.info(`WebSocket opened: ${ws.data.id} on namespace "${namespace}" (${currentCount + 1} active connections)`);
102
+ // Call user handler
103
+ this.createHandler('onOpenInternal')(ws);
104
+ },
105
+ close: (ws, code, reason) => {
106
+ const namespace = ws.data.path;
107
+ // Stop heartbeat
108
+ this.stopHeartbeat(ws.data.id);
109
+ // Remove from tracking
110
+ this.activeConnections.get(namespace)?.delete(ws.data.id);
111
+ const remainingCount = this.getConnectionCount(namespace);
112
+ this.logger.info(`WebSocket closed: ${ws.data.id} on namespace "${namespace}" (${remainingCount} remaining connections)`);
113
+ // Call user handler
114
+ this.createHandler('onCloseInternal')(ws, code, reason);
115
+ },
116
+ message: this.createHandler('onMessage'),
117
+ drain: this.createHandler('onDrain'),
118
+ ping: this.createHandler('onPing'),
119
+ pong: this.createHandler('onPong'),
55
120
  ...options,
56
121
  };
57
122
  }
58
- upgradeWebSocket(websocket, middlewares) {
59
- const path = websocket.namespace;
60
- const preparedMiddlewares = this.prepareMiddlewares(middlewares);
61
- this.app.get(`/${path}`, ...preparedMiddlewares, async (c, next) => {
62
- const websocketData = c.get("_websocketData") || {};
63
- const id = bun.randomUUIDv7();
64
- const data = { values: websocketData, id, path: path };
65
- const upgradeResult = this._server.upgrade(c.req.raw, { data });
66
- if (upgradeResult) {
67
- return new Response(null);
123
+ /**
124
+ * Starts heartbeat for a connection
125
+ * @param ws - WebSocket connection
126
+ * @param intervalMs - Heartbeat interval in milliseconds (default: 30000)
127
+ */
128
+ startHeartbeat(ws, intervalMs = 30000) {
129
+ const interval = setInterval(() => {
130
+ if (ws.readyState === WebSocket.OPEN) {
131
+ try {
132
+ ws.ping();
133
+ }
134
+ catch (error) {
135
+ this.logger.error(`Heartbeat ping failed for connection ${ws.data.id}:`, error);
136
+ this.stopHeartbeat(ws.data.id);
137
+ if (ws.readyState === WebSocket.OPEN) {
138
+ ws.close(1011, 'Heartbeat failed');
139
+ }
140
+ }
68
141
  }
69
- await next(); // Failed
70
- });
142
+ else {
143
+ this.stopHeartbeat(ws.data.id);
144
+ }
145
+ }, intervalMs);
146
+ this.heartbeatIntervals.set(ws.data.id, interval);
147
+ }
148
+ /**
149
+ * Stops heartbeat for a connection
150
+ * @param connectionId - Connection ID
151
+ */
152
+ stopHeartbeat(connectionId) {
153
+ const interval = this.heartbeatIntervals.get(connectionId);
154
+ if (interval) {
155
+ clearInterval(interval);
156
+ this.heartbeatIntervals.delete(connectionId);
157
+ }
71
158
  }
72
159
  createHandler(type) {
73
- return (ws, ...args) => {
160
+ return async (ws, ...args) => {
74
161
  const websocket = this.websockets.get(ws.data.path);
75
- let handler = websocket?.socket[type];
162
+ if (!websocket) {
163
+ this.logger.error(`WebSocket handler not found for path: ${ws.data.path}`);
164
+ // Close connection with error code if handler not found
165
+ if (ws.readyState === WebSocket.OPEN || ws.readyState === WebSocket.CONNECTING) {
166
+ ws.close(1011, 'Internal server error: handler not found');
167
+ }
168
+ return;
169
+ }
170
+ let handler = websocket[type];
76
171
  if (!handler) {
172
+ // Not all handlers are required, so this is not an error
77
173
  return;
78
174
  }
79
- handler = handler.bind(websocket.socket);
80
- handler(new AsenaSocket(ws, websocket.socket), ...args);
175
+ handler = handler.bind(websocket);
176
+ try {
177
+ await handler(new AsenaSocket(ws, websocket), ...args);
178
+ }
179
+ catch (error) {
180
+ this.logger.error(`WebSocket ${type} handler error for path ${ws.data.path}:`, {
181
+ error: error instanceof Error ? error.message : String(error),
182
+ stack: error instanceof Error ? error.stack : undefined,
183
+ socketId: ws.data.id,
184
+ path: ws.data.path,
185
+ });
186
+ // Try to send error to client if connection is still open
187
+ if (ws.readyState === WebSocket.OPEN) {
188
+ try {
189
+ ws.send(JSON.stringify({
190
+ type: 'error',
191
+ message: 'Server error occurred',
192
+ timestamp: new Date().toISOString(),
193
+ }));
194
+ }
195
+ catch (sendError) {
196
+ this.logger.error('Failed to send error message to client:', sendError);
197
+ }
198
+ }
199
+ // For critical errors, close connection gracefully
200
+ if (type === 'onOpenInternal' || type === 'onMessage') {
201
+ if (ws.readyState === WebSocket.OPEN) {
202
+ ws.close(1011, 'Handler error');
203
+ }
204
+ }
205
+ }
81
206
  };
82
207
  }
83
- prepareMiddlewares(middlewares) {
84
- return middlewareParser(middlewares);
85
- }
86
208
  }
87
209
  //# sourceMappingURL=HonoWebsocketAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HonoWebsocketAdapter.js","sourceRoot":"","sources":["../../lib/HonoWebsocketAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EACL,qBAAqB,GAItB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAqC,MAAM,KAAK,CAAC;AACxD,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,qBAAqB,GAItB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,OAAO,oBAAqB,SAAQ,qBAGzC;IACQ,IAAI,GAAG,sBAAsB,CAAC;IAE7B,OAAO,CAAS;IAExB,YAAmB,MAAqC;QACtD,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEM,iBAAiB,CACtB,gBAA4C,EAC5C,WAAiD;QAEjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAGtB,CAAC;QACN,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;QAE7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,MAAM,CAAC,WAAW,CAAC,oBAAoB,KAAK,CAAC,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,CACxH,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEM,cAAc,CAAC,OAAmB;QACvC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI;YAAE,OAAO;QAEvD,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrD,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,OAAmB;QAC1C,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;YACxC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YACpC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAClC,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAEO,gBAAgB,CACtB,SAAqC,EACrC,WAAiD;QAEjD,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;QAEjC,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEjE,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,IAAI,IAAI,EAAE,EACV,GAAG,mBAAmB,EACtB,KAAK,EAAE,CAAU,EAAE,IAAI,EAAE,EAAE;YACzB,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAEpD,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YAE9B,MAAM,IAAI,GAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACtE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhE,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,IAAI,EAAE,CAAC,CAAC,SAAS;QACzB,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,IAAoB;QACxC,OAAO,CAAC,EAAkC,EAAE,GAAG,IAAW,EAAE,EAAE;YAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,OAAO,GAAG,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAExC,OAAwE,CACvE,IAAI,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EACrC,GAAG,IAAI,CACR,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAEO,kBAAkB,CACxB,WAAiD;QAEjD,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"HonoWebsocketAdapter.js","sourceRoot":"","sources":["../../lib/HonoWebsocketAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Context } from "./Context";
2
- import type { AsenaConfig } from "@asenajs/asena/server/config";
1
+ import type { Context } from './Context';
2
+ import type { AsenaConfig } from '@asenajs/asena/server/config';
3
3
  export declare abstract class ConfigService implements AsenaConfig<Context> {
4
4
  }
@@ -1,3 +1,3 @@
1
- import type { HonoRequest } from "hono";
2
- import type { AsenaContext } from "@asenajs/asena/adapter";
3
- export type Context<P extends string = any, I = any, R = Response> = AsenaContext<HonoRequest<P, I>, R>;
1
+ import type { HonoRequest } from 'hono';
2
+ import type { AsenaContext } from '@asenajs/asena/adapter';
3
+ export type Context<P extends string = any, I = any, R extends Response = Response> = AsenaContext<HonoRequest<P, I>, R>;
@@ -1,5 +1,5 @@
1
- import { AsenaMiddlewareService } from "@asenajs/asena/middleware";
2
- import type { HonoRequest } from "hono";
3
- import type { AsenaContext } from "@asenajs/asena/adapter";
1
+ import { AsenaMiddlewareService } from '@asenajs/asena/middleware';
2
+ import type { HonoRequest } from 'hono';
3
+ import type { AsenaContext } from '@asenajs/asena/adapter';
4
4
  export declare abstract class MiddlewareService<P extends string = any, I = any> extends AsenaMiddlewareService<AsenaContext<HonoRequest<P, I>, Response>> {
5
5
  }
@@ -1,4 +1,4 @@
1
- import { AsenaMiddlewareService } from "@asenajs/asena/middleware";
1
+ import { AsenaMiddlewareService } from '@asenajs/asena/middleware';
2
2
  export class MiddlewareService extends AsenaMiddlewareService {
3
3
  }
4
4
  //# sourceMappingURL=MiddlewareService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MiddlewareService.js","sourceRoot":"","sources":["../../../lib/defaults/MiddlewareService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE,MAAM,OAAgB,iBAGpB,SAAQ,sBAAiE;CAAG"}
1
+ {"version":3,"file":"MiddlewareService.js","sourceRoot":"","sources":["../../../lib/defaults/MiddlewareService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE,MAAM,OAAgB,iBAAmD,SAAQ,sBAEhF;CAAG"}
@@ -0,0 +1,5 @@
1
+ import { AsenaStaticServeService } from '@asenajs/asena/middleware';
2
+ import type { StaticServeExtras } from '../types';
3
+ import type { Context } from './Context';
4
+ export declare abstract class StaticServeService extends AsenaStaticServeService<Context, StaticServeExtras> {
5
+ }
@@ -0,0 +1,4 @@
1
+ import { AsenaStaticServeService } from '@asenajs/asena/middleware';
2
+ export class StaticServeService extends AsenaStaticServeService {
3
+ }
4
+ //# sourceMappingURL=StaticServeService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticServeService.js","sourceRoot":"","sources":["../../../lib/defaults/StaticServeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,MAAM,OAAgB,kBAAmB,SAAQ,uBAAmD;CAAG"}
@@ -1,6 +1,6 @@
1
- import type { z } from "zod";
2
- import type { Hook } from "@hono/zod-validator";
3
- import type { AsenaValidationService } from "@asenajs/asena/middleware";
1
+ import type { z } from 'zod';
2
+ import type { Hook } from '@hono/zod-validator';
3
+ import type { AsenaValidationService } from '@asenajs/asena/middleware';
4
4
  export type ValidationSchema = z.ZodType<any, z.ZodTypeDef, any>;
5
5
  export interface ValidationSchemaWithHook {
6
6
  schema: z.ZodType<any, z.ZodTypeDef, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationService.js","sourceRoot":"","sources":["../../../lib/defaults/ValidationService.ts"],"names":[],"mappings":"AAWA,MAAM,OAAgB,iBAAiB;CAEmC"}
1
+ {"version":3,"file":"ValidationService.js","sourceRoot":"","sources":["../../../lib/defaults/ValidationService.ts"],"names":[],"mappings":"AAWA,MAAM,OAAgB,iBAAiB;CAC4C"}
@@ -1,4 +1,7 @@
1
- export * from "./Context";
2
- export * from "./MiddlewareService";
3
- export * from "./ValidationService";
4
- export * from "./ConfigService";
1
+ export * from './Context';
2
+ export * from './MiddlewareService';
3
+ export * from './ValidationService';
4
+ export * from './ConfigService';
5
+ export * from './StaticServeService';
6
+ export * from '../middlewares/CorsMiddleware';
7
+ export * from '../middlewares/RateLimiterMiddleware';