@asenajs/ergenecore 1.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/LICENSE +21 -0
- package/README.md +636 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/Ergenecore.d.ts +598 -0
- package/dist/lib/Ergenecore.js +1406 -0
- package/dist/lib/Ergenecore.js.map +1 -0
- package/dist/lib/ErgenecoreContextWrapper.d.ts +190 -0
- package/dist/lib/ErgenecoreContextWrapper.js +387 -0
- package/dist/lib/ErgenecoreContextWrapper.js.map +1 -0
- package/dist/lib/ErgenecoreWebsocketAdapter.d.ts +68 -0
- package/dist/lib/ErgenecoreWebsocketAdapter.js +233 -0
- package/dist/lib/ErgenecoreWebsocketAdapter.js.map +1 -0
- package/dist/lib/defaults/ConfigService.d.ts +39 -0
- package/dist/lib/defaults/ConfigService.js +30 -0
- package/dist/lib/defaults/ConfigService.js.map +1 -0
- package/dist/lib/defaults/MiddlewareService.d.ts +39 -0
- package/dist/lib/defaults/MiddlewareService.js +30 -0
- package/dist/lib/defaults/MiddlewareService.js.map +1 -0
- package/dist/lib/defaults/StaticServeService.d.ts +24 -0
- package/dist/lib/defaults/StaticServeService.js +23 -0
- package/dist/lib/defaults/StaticServeService.js.map +1 -0
- package/dist/lib/defaults/ValidationService.d.ts +35 -0
- package/dist/lib/defaults/ValidationService.js +34 -0
- package/dist/lib/defaults/ValidationService.js.map +1 -0
- package/dist/lib/defaults/index.d.ts +25 -0
- package/dist/lib/defaults/index.js +26 -0
- package/dist/lib/defaults/index.js.map +1 -0
- package/dist/lib/errors.d.ts +84 -0
- package/dist/lib/errors.js +108 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/index.d.ts +36 -0
- package/dist/lib/index.js +37 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/middlewares/CorsMiddleware.d.ts +147 -0
- package/dist/lib/middlewares/CorsMiddleware.js +163 -0
- package/dist/lib/middlewares/CorsMiddleware.js.map +1 -0
- package/dist/lib/middlewares/RateLimiterMiddleware.d.ts +330 -0
- package/dist/lib/middlewares/RateLimiterMiddleware.js +300 -0
- package/dist/lib/middlewares/RateLimiterMiddleware.js.map +1 -0
- package/dist/lib/types/Handler.d.ts +65 -0
- package/dist/lib/types/Handler.js +10 -0
- package/dist/lib/types/Handler.js.map +1 -0
- package/dist/lib/types/StaticServeExtras.d.ts +29 -0
- package/dist/lib/types/StaticServeExtras.js +2 -0
- package/dist/lib/types/StaticServeExtras.js.map +1 -0
- package/dist/lib/types/Validation.d.ts +7 -0
- package/dist/lib/types/Validation.js +2 -0
- package/dist/lib/types/Validation.js.map +1 -0
- package/dist/lib/types/index.d.ts +24 -0
- package/dist/lib/types/index.js +25 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/utils/factory.d.ts +121 -0
- package/dist/lib/utils/factory.js +144 -0
- package/dist/lib/utils/factory.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Ergenecore.js","sourceRoot":"","sources":["../../lib/Ergenecore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import type { AsenaContext, CookieExtra, SendOptions } from '@asenajs/asena/adapter';
|
|
2
|
+
/**
|
|
3
|
+
* CoreContext type alias for CoreContextWrapper
|
|
4
|
+
*/
|
|
5
|
+
export type Context = ErgenecoreContextWrapper;
|
|
6
|
+
/**
|
|
7
|
+
* CoreContextWrapper wraps Bun's native Request/Response to implement Asena's AsenaContext interface
|
|
8
|
+
*
|
|
9
|
+
* This wrapper provides a framework-agnostic API for handling HTTP requests and responses,
|
|
10
|
+
* allowing Asena to work with different adapters without changing user code.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ErgenecoreContextWrapper implements AsenaContext<Request, Response> {
|
|
13
|
+
private readonly request;
|
|
14
|
+
private _url?;
|
|
15
|
+
private _values?;
|
|
16
|
+
private bodyCache;
|
|
17
|
+
private bodyRead;
|
|
18
|
+
/**
|
|
19
|
+
* Lazy-initialized mock Response object
|
|
20
|
+
* Only created when context.res is accessed (e.g., by middlewares setting headers)
|
|
21
|
+
*/
|
|
22
|
+
private _mockResponse?;
|
|
23
|
+
constructor(request: Request);
|
|
24
|
+
/**
|
|
25
|
+
* Lazy-initialized URL getter
|
|
26
|
+
*
|
|
27
|
+
* URL object is only created when actually accessed, saving allocation
|
|
28
|
+
* for routes that don't use query parameters.
|
|
29
|
+
*/
|
|
30
|
+
private get url();
|
|
31
|
+
/**
|
|
32
|
+
* Lazy-initialized values Map getter
|
|
33
|
+
*
|
|
34
|
+
* Map is only created when actually needed (setValue/getValue called),
|
|
35
|
+
* saving allocation for simple routes that don't store context values.
|
|
36
|
+
*/
|
|
37
|
+
private get values();
|
|
38
|
+
/**
|
|
39
|
+
* Get the native Request object
|
|
40
|
+
*/
|
|
41
|
+
get req(): Request;
|
|
42
|
+
/**
|
|
43
|
+
* Get mock Response object (lazy-initialized)
|
|
44
|
+
*
|
|
45
|
+
* Provides a Response-like interface for middlewares to set headers.
|
|
46
|
+
* Only created when accessed, maintaining zero overhead for simple handlers.
|
|
47
|
+
*/
|
|
48
|
+
get res(): any;
|
|
49
|
+
/**
|
|
50
|
+
* Get all request headers as an object
|
|
51
|
+
*/
|
|
52
|
+
get headers(): Record<string, string>;
|
|
53
|
+
/**
|
|
54
|
+
* Get request body as ArrayBuffer
|
|
55
|
+
*/
|
|
56
|
+
getArrayBuffer(): Promise<ArrayBuffer>;
|
|
57
|
+
/**
|
|
58
|
+
* Get parsed multipart/form-data body
|
|
59
|
+
*/
|
|
60
|
+
getParseBody(): Promise<any>;
|
|
61
|
+
/**
|
|
62
|
+
* Get request body as Blob
|
|
63
|
+
*/
|
|
64
|
+
getBlob(): Promise<Blob>;
|
|
65
|
+
/**
|
|
66
|
+
* Get request body as FormData
|
|
67
|
+
*/
|
|
68
|
+
getFormData(): Promise<FormData>;
|
|
69
|
+
/**
|
|
70
|
+
* Get URL parameter by name
|
|
71
|
+
* Parameters are stored in the values map by the router
|
|
72
|
+
*/
|
|
73
|
+
getParam(name: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Get request body as JSON
|
|
76
|
+
*
|
|
77
|
+
* Throws HttpException(400) if JSON is invalid (industry standard behavior).
|
|
78
|
+
* Empty body is valid and returns empty object {}.
|
|
79
|
+
*
|
|
80
|
+
* @throws HttpException - 400 Bad Request if JSON parsing fails
|
|
81
|
+
* @returns Parsed JSON body
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* // Valid JSON
|
|
86
|
+
* const body = await context.getBody(); // { name: "test" }
|
|
87
|
+
*
|
|
88
|
+
* // Empty body
|
|
89
|
+
* const body = await context.getBody(); // {}
|
|
90
|
+
*
|
|
91
|
+
* // Invalid JSON
|
|
92
|
+
* const body = await context.getBody(); // throws HttpException(400)
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
getBody<T>(): Promise<T>;
|
|
96
|
+
/**
|
|
97
|
+
* Get single query parameter by name
|
|
98
|
+
*/
|
|
99
|
+
getQuery(name: string): Promise<string>;
|
|
100
|
+
/**
|
|
101
|
+
* Get all values for a query parameter (for array query params)
|
|
102
|
+
*/
|
|
103
|
+
getQueryAll(name: string): Promise<string[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Set a response header that will be included in the final response
|
|
106
|
+
*
|
|
107
|
+
* Uses the mock Response object's headers Map.
|
|
108
|
+
* This method is compatible with Asena's interface while delegating to res.headers.
|
|
109
|
+
*
|
|
110
|
+
* @param key - Header name
|
|
111
|
+
* @param value - Header value
|
|
112
|
+
*/
|
|
113
|
+
setResponseHeader(key: string, value: string): void;
|
|
114
|
+
/**
|
|
115
|
+
* Send response (JSON or text based on data type)
|
|
116
|
+
*
|
|
117
|
+
* Automatically merges headers set by middlewares via setResponseHeader()
|
|
118
|
+
*/
|
|
119
|
+
send(data: string | any, statusOrOptions?: SendOptions | number): Response;
|
|
120
|
+
/**
|
|
121
|
+
* Get cookie value (optionally signed with secret)
|
|
122
|
+
*
|
|
123
|
+
* Uses Bun's native cookie API when available (for performance),
|
|
124
|
+
* falls back to manual parsing for test environments.
|
|
125
|
+
*
|
|
126
|
+
* @param name - Cookie name
|
|
127
|
+
* @param secret - Optional secret for signed cookies (uses HMAC-SHA256)
|
|
128
|
+
*/
|
|
129
|
+
getCookie(name: string, secret?: string | BufferSource): Promise<string | false>;
|
|
130
|
+
/**
|
|
131
|
+
* Set cookie (optionally signed with secret)
|
|
132
|
+
*
|
|
133
|
+
* Uses Bun's native cookie API which automatically handles Set-Cookie headers.
|
|
134
|
+
*
|
|
135
|
+
* @param name - Cookie name
|
|
136
|
+
* @param value - Cookie value
|
|
137
|
+
* @param options - Cookie options including secret for signing (HMAC-SHA256)
|
|
138
|
+
*/
|
|
139
|
+
setCookie(name: string, value: string, options?: CookieExtra<any>): Promise<void>;
|
|
140
|
+
/**
|
|
141
|
+
* Delete cookie
|
|
142
|
+
*
|
|
143
|
+
* Uses Bun's native cookie API which automatically handles Set-Cookie headers.
|
|
144
|
+
*
|
|
145
|
+
* @param name - Cookie name
|
|
146
|
+
* @param options - Cookie options (path, domain)
|
|
147
|
+
*/
|
|
148
|
+
deleteCookie(name: string, options?: CookieExtra<any>): Promise<void>;
|
|
149
|
+
/**
|
|
150
|
+
* Redirect to a URL
|
|
151
|
+
*/
|
|
152
|
+
redirect(url: string): Response;
|
|
153
|
+
/**
|
|
154
|
+
* Get value from context store
|
|
155
|
+
*/
|
|
156
|
+
getValue<T = any>(key: string): T;
|
|
157
|
+
/**
|
|
158
|
+
* Set value in context store
|
|
159
|
+
*/
|
|
160
|
+
setValue(key: string, value: any): void;
|
|
161
|
+
/**
|
|
162
|
+
* Set WebSocket data that will be available during upgrade
|
|
163
|
+
*/
|
|
164
|
+
setWebSocketValue(value: any): void;
|
|
165
|
+
/**
|
|
166
|
+
* Get WebSocket data
|
|
167
|
+
*/
|
|
168
|
+
getWebSocketValue<T>(): T;
|
|
169
|
+
/**
|
|
170
|
+
* Send HTML response
|
|
171
|
+
*
|
|
172
|
+
* Automatically merges headers set by middlewares via setResponseHeader()
|
|
173
|
+
*/
|
|
174
|
+
html(data: string, statusOrOptions?: SendOptions | number): Response;
|
|
175
|
+
/**
|
|
176
|
+
* Merge middleware headers with custom headers (lazy - no allocation if no headers set)
|
|
177
|
+
*
|
|
178
|
+
* @param customHeaders - Headers provided directly to send()/html()
|
|
179
|
+
* @returns Merged headers object (custom headers override middleware headers)
|
|
180
|
+
*/
|
|
181
|
+
private mergeHeaders;
|
|
182
|
+
/**
|
|
183
|
+
* Sign cookie value using Web Crypto API (HMAC-SHA256)
|
|
184
|
+
*/
|
|
185
|
+
private signCookieValue;
|
|
186
|
+
/**
|
|
187
|
+
* Verify signed cookie using Web Crypto API (HMAC-SHA256)
|
|
188
|
+
*/
|
|
189
|
+
private verifySignedCookie;
|
|
190
|
+
}
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
import { HttpException } from './errors';
|
|
2
|
+
/**
|
|
3
|
+
* CoreContextWrapper wraps Bun's native Request/Response to implement Asena's AsenaContext interface
|
|
4
|
+
*
|
|
5
|
+
* This wrapper provides a framework-agnostic API for handling HTTP requests and responses,
|
|
6
|
+
* allowing Asena to work with different adapters without changing user code.
|
|
7
|
+
*/
|
|
8
|
+
export class ErgenecoreContextWrapper {
|
|
9
|
+
request;
|
|
10
|
+
_url;
|
|
11
|
+
_values;
|
|
12
|
+
bodyCache = undefined;
|
|
13
|
+
bodyRead = false;
|
|
14
|
+
/**
|
|
15
|
+
* Lazy-initialized mock Response object
|
|
16
|
+
* Only created when context.res is accessed (e.g., by middlewares setting headers)
|
|
17
|
+
*/
|
|
18
|
+
_mockResponse;
|
|
19
|
+
constructor(request) {
|
|
20
|
+
this.request = request;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Lazy-initialized URL getter
|
|
24
|
+
*
|
|
25
|
+
* URL object is only created when actually accessed, saving allocation
|
|
26
|
+
* for routes that don't use query parameters.
|
|
27
|
+
*/
|
|
28
|
+
get url() {
|
|
29
|
+
if (!this._url) {
|
|
30
|
+
this._url = new URL(this.request.url);
|
|
31
|
+
}
|
|
32
|
+
return this._url;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Lazy-initialized values Map getter
|
|
36
|
+
*
|
|
37
|
+
* Map is only created when actually needed (setValue/getValue called),
|
|
38
|
+
* saving allocation for simple routes that don't store context values.
|
|
39
|
+
*/
|
|
40
|
+
get values() {
|
|
41
|
+
if (!this._values) {
|
|
42
|
+
this._values = new Map();
|
|
43
|
+
}
|
|
44
|
+
return this._values;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get the native Request object
|
|
48
|
+
*/
|
|
49
|
+
get req() {
|
|
50
|
+
return this.request;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get mock Response object (lazy-initialized)
|
|
54
|
+
*
|
|
55
|
+
* Provides a Response-like interface for middlewares to set headers.
|
|
56
|
+
* Only created when accessed, maintaining zero overhead for simple handlers.
|
|
57
|
+
*/
|
|
58
|
+
get res() {
|
|
59
|
+
if (!this._mockResponse) {
|
|
60
|
+
this._mockResponse = {
|
|
61
|
+
headers: new Map(),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return this._mockResponse;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get all request headers as an object
|
|
68
|
+
*/
|
|
69
|
+
get headers() {
|
|
70
|
+
const headersObj = {};
|
|
71
|
+
this.request.headers.forEach((value, key) => {
|
|
72
|
+
headersObj[key.toLowerCase()] = value;
|
|
73
|
+
});
|
|
74
|
+
return headersObj;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get request body as ArrayBuffer
|
|
78
|
+
*/
|
|
79
|
+
async getArrayBuffer() {
|
|
80
|
+
return await this.request.arrayBuffer();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get parsed multipart/form-data body
|
|
84
|
+
*/
|
|
85
|
+
async getParseBody() {
|
|
86
|
+
const contentType = this.request.headers.get('content-type');
|
|
87
|
+
if (contentType?.includes('multipart/form-data') || contentType?.includes('application/x-www-form-urlencoded')) {
|
|
88
|
+
const formData = await this.request.formData();
|
|
89
|
+
const result = {};
|
|
90
|
+
formData.forEach((value, key) => {
|
|
91
|
+
result[key] = value;
|
|
92
|
+
});
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
return await this.request.json();
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get request body as Blob
|
|
99
|
+
*/
|
|
100
|
+
async getBlob() {
|
|
101
|
+
return await this.request.blob();
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get request body as FormData
|
|
105
|
+
*/
|
|
106
|
+
async getFormData() {
|
|
107
|
+
return await this.request.formData();
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get URL parameter by name
|
|
111
|
+
* Parameters are stored in the values map by the router
|
|
112
|
+
*/
|
|
113
|
+
getParam(name) {
|
|
114
|
+
return this.values.get(`param:${name}`) || '';
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get request body as JSON
|
|
118
|
+
*
|
|
119
|
+
* Throws HttpException(400) if JSON is invalid (industry standard behavior).
|
|
120
|
+
* Empty body is valid and returns empty object {}.
|
|
121
|
+
*
|
|
122
|
+
* @throws HttpException - 400 Bad Request if JSON parsing fails
|
|
123
|
+
* @returns Parsed JSON body
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* // Valid JSON
|
|
128
|
+
* const body = await context.getBody(); // { name: "test" }
|
|
129
|
+
*
|
|
130
|
+
* // Empty body
|
|
131
|
+
* const body = await context.getBody(); // {}
|
|
132
|
+
*
|
|
133
|
+
* // Invalid JSON
|
|
134
|
+
* const body = await context.getBody(); // throws HttpException(400)
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
async getBody() {
|
|
138
|
+
// Cache body after first read to allow multiple accesses
|
|
139
|
+
// (Request body stream can only be read once)
|
|
140
|
+
if (this.bodyRead) {
|
|
141
|
+
return this.bodyCache;
|
|
142
|
+
}
|
|
143
|
+
try {
|
|
144
|
+
// Get raw text first to check if body is empty
|
|
145
|
+
const text = await this.request.text();
|
|
146
|
+
// Empty body is valid - return empty object
|
|
147
|
+
if (!text || text.trim() === '') {
|
|
148
|
+
this.bodyCache = {};
|
|
149
|
+
this.bodyRead = true;
|
|
150
|
+
return this.bodyCache;
|
|
151
|
+
}
|
|
152
|
+
// Parse JSON
|
|
153
|
+
this.bodyCache = JSON.parse(text);
|
|
154
|
+
this.bodyRead = true;
|
|
155
|
+
return this.bodyCache;
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
// JSON parsing failed - throw HttpException (industry standard)
|
|
159
|
+
throw new HttpException(400, {
|
|
160
|
+
error: 'Invalid JSON in request body',
|
|
161
|
+
message: error instanceof Error ? error.message : 'Failed to parse JSON',
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Get single query parameter by name
|
|
167
|
+
*/
|
|
168
|
+
async getQuery(name) {
|
|
169
|
+
return this.url.searchParams.get(name) || '';
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get all values for a query parameter (for array query params)
|
|
173
|
+
*/
|
|
174
|
+
async getQueryAll(name) {
|
|
175
|
+
return this.url.searchParams.getAll(name);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Set a response header that will be included in the final response
|
|
179
|
+
*
|
|
180
|
+
* Uses the mock Response object's headers Map.
|
|
181
|
+
* This method is compatible with Asena's interface while delegating to res.headers.
|
|
182
|
+
*
|
|
183
|
+
* @param key - Header name
|
|
184
|
+
* @param value - Header value
|
|
185
|
+
*/
|
|
186
|
+
setResponseHeader(key, value) {
|
|
187
|
+
this.res.headers.set(key, value);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Send response (JSON or text based on data type)
|
|
191
|
+
*
|
|
192
|
+
* Automatically merges headers set by middlewares via setResponseHeader()
|
|
193
|
+
*/
|
|
194
|
+
send(data, statusOrOptions) {
|
|
195
|
+
const { headers = {}, status = 200 } = typeof statusOrOptions === 'number' ? { status: statusOrOptions } : statusOrOptions || {};
|
|
196
|
+
const mergedHeaders = this.mergeHeaders(headers);
|
|
197
|
+
if (typeof data === 'string') {
|
|
198
|
+
return new Response(data, { status, headers: mergedHeaders });
|
|
199
|
+
}
|
|
200
|
+
return new Response(JSON.stringify(data), {
|
|
201
|
+
status,
|
|
202
|
+
headers: { 'Content-Type': 'application/json', ...mergedHeaders },
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Get cookie value (optionally signed with secret)
|
|
207
|
+
*
|
|
208
|
+
* Uses Bun's native cookie API when available (for performance),
|
|
209
|
+
* falls back to manual parsing for test environments.
|
|
210
|
+
*
|
|
211
|
+
* @param name - Cookie name
|
|
212
|
+
* @param secret - Optional secret for signed cookies (uses HMAC-SHA256)
|
|
213
|
+
*/
|
|
214
|
+
async getCookie(name, secret) {
|
|
215
|
+
let value;
|
|
216
|
+
// Try Bun native API first (available in Bun.serve() context)
|
|
217
|
+
if ('cookies' in this.request && this.request.cookies) {
|
|
218
|
+
value = this.request.cookies.get(name);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
// Fallback: Manual parsing (for test environments or non-Bun contexts)
|
|
222
|
+
const cookieHeader = this.request.headers.get('Cookie') || '';
|
|
223
|
+
const cookies = Object.fromEntries(cookieHeader.split('; ').map((c) => c.split('=').map(decodeURIComponent)));
|
|
224
|
+
value = cookies[name];
|
|
225
|
+
}
|
|
226
|
+
if (!value)
|
|
227
|
+
return false;
|
|
228
|
+
if (secret) {
|
|
229
|
+
// Verify signed cookie using Web Crypto API (HMAC-SHA256)
|
|
230
|
+
return await this.verifySignedCookie(value, secret);
|
|
231
|
+
}
|
|
232
|
+
return value;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Set cookie (optionally signed with secret)
|
|
236
|
+
*
|
|
237
|
+
* Uses Bun's native cookie API which automatically handles Set-Cookie headers.
|
|
238
|
+
*
|
|
239
|
+
* @param name - Cookie name
|
|
240
|
+
* @param value - Cookie value
|
|
241
|
+
* @param options - Cookie options including secret for signing (HMAC-SHA256)
|
|
242
|
+
*/
|
|
243
|
+
async setCookie(name, value, options) {
|
|
244
|
+
const { secret, extraOptions } = options ?? {
|
|
245
|
+
secret: undefined,
|
|
246
|
+
extraOptions: undefined,
|
|
247
|
+
};
|
|
248
|
+
let cookieValue = value;
|
|
249
|
+
if (secret) {
|
|
250
|
+
// Sign cookie using Web Crypto API (HMAC-SHA256)
|
|
251
|
+
cookieValue = await this.signCookieValue(value, secret);
|
|
252
|
+
}
|
|
253
|
+
// Use Bun native API (available in Bun.serve() context)
|
|
254
|
+
if ('cookies' in this.request && this.request.cookies) {
|
|
255
|
+
this.request.cookies.set(name, cookieValue, extraOptions);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
throw new Error('setCookie() requires Bun native cookie API. ' +
|
|
259
|
+
'This method should only be called within Bun.serve() context.');
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Delete cookie
|
|
264
|
+
*
|
|
265
|
+
* Uses Bun's native cookie API which automatically handles Set-Cookie headers.
|
|
266
|
+
*
|
|
267
|
+
* @param name - Cookie name
|
|
268
|
+
* @param options - Cookie options (path, domain)
|
|
269
|
+
*/
|
|
270
|
+
async deleteCookie(name, options) {
|
|
271
|
+
const { extraOptions } = options ?? {
|
|
272
|
+
secret: undefined,
|
|
273
|
+
extraOptions: undefined,
|
|
274
|
+
};
|
|
275
|
+
// Use Bun native API (available in Bun.serve() context)
|
|
276
|
+
if ('cookies' in this.request && this.request.cookies) {
|
|
277
|
+
const deleteOptions = extraOptions
|
|
278
|
+
? {
|
|
279
|
+
path: extraOptions.path,
|
|
280
|
+
domain: extraOptions.domain,
|
|
281
|
+
}
|
|
282
|
+
: undefined;
|
|
283
|
+
this.request.cookies.delete(name, deleteOptions);
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
throw new Error('deleteCookie() requires Bun native cookie API. ' +
|
|
287
|
+
'This method should only be called within Bun.serve() context.');
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Redirect to a URL
|
|
292
|
+
*/
|
|
293
|
+
redirect(url) {
|
|
294
|
+
return new Response(null, {
|
|
295
|
+
status: 302,
|
|
296
|
+
headers: { Location: url },
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Get value from context store
|
|
301
|
+
*/
|
|
302
|
+
getValue(key) {
|
|
303
|
+
return this.values.get(key);
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Set value in context store
|
|
307
|
+
*/
|
|
308
|
+
setValue(key, value) {
|
|
309
|
+
this.values.set(key, value);
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Set WebSocket data that will be available during upgrade
|
|
313
|
+
*/
|
|
314
|
+
setWebSocketValue(value) {
|
|
315
|
+
this.values.set('_websocketData', value);
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Get WebSocket data
|
|
319
|
+
*/
|
|
320
|
+
getWebSocketValue() {
|
|
321
|
+
return this.values.get('_websocketData');
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Send HTML response
|
|
325
|
+
*
|
|
326
|
+
* Automatically merges headers set by middlewares via setResponseHeader()
|
|
327
|
+
*/
|
|
328
|
+
html(data, statusOrOptions) {
|
|
329
|
+
const { headers = {}, status = 200 } = typeof statusOrOptions === 'number' ? { status: statusOrOptions } : statusOrOptions || {};
|
|
330
|
+
const mergedHeaders = this.mergeHeaders({ 'Content-Type': 'text/html', ...headers });
|
|
331
|
+
return new Response(data, {
|
|
332
|
+
status,
|
|
333
|
+
headers: mergedHeaders,
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Merge middleware headers with custom headers (lazy - no allocation if no headers set)
|
|
338
|
+
*
|
|
339
|
+
* @param customHeaders - Headers provided directly to send()/html()
|
|
340
|
+
* @returns Merged headers object (custom headers override middleware headers)
|
|
341
|
+
*/
|
|
342
|
+
mergeHeaders(customHeaders = {}) {
|
|
343
|
+
// Fast path: If mock response not created or no headers set, return custom headers directly
|
|
344
|
+
if (!this._mockResponse || this._mockResponse.headers.size === 0) {
|
|
345
|
+
return customHeaders;
|
|
346
|
+
}
|
|
347
|
+
// Merge: middleware headers first, then custom headers (custom takes precedence)
|
|
348
|
+
const merged = {};
|
|
349
|
+
this._mockResponse.headers.forEach((value, key) => {
|
|
350
|
+
merged[key] = value;
|
|
351
|
+
});
|
|
352
|
+
// Custom headers override middleware headers
|
|
353
|
+
Object.assign(merged, customHeaders);
|
|
354
|
+
return merged;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Sign cookie value using Web Crypto API (HMAC-SHA256)
|
|
358
|
+
*/
|
|
359
|
+
async signCookieValue(value, secret) {
|
|
360
|
+
const encoder = new TextEncoder();
|
|
361
|
+
const secretKey = typeof secret === 'string' ? encoder.encode(secret) : secret;
|
|
362
|
+
const data = encoder.encode(value);
|
|
363
|
+
const key = await crypto.subtle.importKey('raw', secretKey, { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
|
|
364
|
+
const signature = await crypto.subtle.sign('HMAC', key, data);
|
|
365
|
+
const signatureHex = Array.from(new Uint8Array(signature))
|
|
366
|
+
.map((b) => b.toString(16).padStart(2, '0'))
|
|
367
|
+
.join('');
|
|
368
|
+
return `${value}.${signatureHex}`;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Verify signed cookie using Web Crypto API (HMAC-SHA256)
|
|
372
|
+
*/
|
|
373
|
+
async verifySignedCookie(signedValue, secret) {
|
|
374
|
+
const parts = signedValue.split('.');
|
|
375
|
+
if (parts.length !== 2)
|
|
376
|
+
return false;
|
|
377
|
+
const [value, signature] = parts;
|
|
378
|
+
const encoder = new TextEncoder();
|
|
379
|
+
const secretKey = typeof secret === 'string' ? encoder.encode(secret) : secret;
|
|
380
|
+
const data = encoder.encode(value);
|
|
381
|
+
const key = await crypto.subtle.importKey('raw', secretKey, { name: 'HMAC', hash: 'SHA-256' }, false, ['verify']);
|
|
382
|
+
const signatureBytes = new Uint8Array(signature.match(/.{1,2}/g)?.map((byte) => parseInt(byte, 16)) || []);
|
|
383
|
+
const isValid = await crypto.subtle.verify('HMAC', key, signatureBytes, data);
|
|
384
|
+
return isValid ? value : false;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
//# sourceMappingURL=ErgenecoreContextWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErgenecoreContextWrapper.js","sourceRoot":"","sources":["../../lib/ErgenecoreContextWrapper.ts"],"names":[],"mappings":"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"}
|