@bepalo/router 1.5.20 → 1.7.22
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 +27 -27
- package/dist/cjs/helpers.d.ts +6 -6
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +32 -24
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/middlewares.d.ts +29 -18
- package/dist/cjs/middlewares.d.ts.map +1 -1
- package/dist/cjs/middlewares.js +21 -11
- package/dist/cjs/middlewares.js.map +1 -1
- package/dist/cjs/router.d.ts +10 -1
- package/dist/cjs/router.d.ts.map +1 -1
- package/dist/cjs/router.js +140 -87
- package/dist/cjs/router.js.map +1 -1
- package/dist/cjs/tree.d.ts.map +1 -1
- package/dist/cjs/tree.js +22 -30
- package/dist/cjs/tree.js.map +1 -1
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/helpers.d.ts +6 -6
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +32 -24
- package/dist/helpers.js.map +1 -1
- package/dist/middlewares.d.ts +29 -18
- package/dist/middlewares.d.ts.map +1 -1
- package/dist/middlewares.js +21 -11
- package/dist/middlewares.js.map +1 -1
- package/dist/router.d.ts +10 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +140 -87
- package/dist/router.js.map +1 -1
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +22 -30
- package/dist/tree.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
**A fast, feature-rich HTTP router for modern JavaScript runtimes.** [jump to example](#example)
|
|
12
12
|
|
|
13
|
+
## What is new in this version
|
|
14
|
+
|
|
15
|
+
Please refer to the [change-log](CHANGELOG.md).
|
|
16
|
+
|
|
13
17
|
## 📑 Table of Contents
|
|
14
18
|
|
|
15
19
|
1. [🏆 @bepalo/router](#-bepalorouter)
|
|
@@ -60,6 +64,7 @@
|
|
|
60
64
|
- 🧩 **Composable Router Architecture** - Append one router to another with a path prefix.
|
|
61
65
|
- 🛠️ **Built-in Helper Utilities** - Built-in response helpers (json, html, parseBody, upload, etc.)
|
|
62
66
|
- 🔐 **Middleware Integration** - CORS, rate limiting, authentication helpers
|
|
67
|
+
- 🔐 **Normalized pathname option** - An option to normalize pathnames.
|
|
63
68
|
|
|
64
69
|
## 🚀 Get Started
|
|
65
70
|
|
|
@@ -183,8 +188,8 @@ const router = new Router<CTXAddress>({
|
|
|
183
188
|
///...
|
|
184
189
|
});
|
|
185
190
|
|
|
186
|
-
// Global CORS
|
|
187
|
-
router.filter("
|
|
191
|
+
// Global rate-limit and CORS
|
|
192
|
+
router.filter("ALL /.**", [
|
|
188
193
|
limitRate({
|
|
189
194
|
key: (req, ctx) => ctx.address.address, // used to identify client
|
|
190
195
|
maxTokens: 30,
|
|
@@ -198,31 +203,22 @@ router.filter("GET /.**", [
|
|
|
198
203
|
]);
|
|
199
204
|
|
|
200
205
|
// Rate limiting for API
|
|
201
|
-
router.filter(
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
cors({
|
|
218
|
-
origins: ["http://localhost:3000", "https://example.com"],
|
|
219
|
-
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
220
|
-
allowedHeaders: ["Content-Type", "Authorization"],
|
|
221
|
-
credentials: true,
|
|
222
|
-
endHere: true,
|
|
223
|
-
}),
|
|
224
|
-
],
|
|
225
|
-
);
|
|
206
|
+
router.filter("CRUD /api/.**",[
|
|
207
|
+
limitRate({
|
|
208
|
+
key: (req, ctx) => ctx.address.address, // used to identify client
|
|
209
|
+
maxTokens: 100,
|
|
210
|
+
refillInterval: 30_000, // every 30 seconds
|
|
211
|
+
refillRate: 50, // 50 tokens every refillInterval
|
|
212
|
+
setXRateLimitHeaders: true,
|
|
213
|
+
}),
|
|
214
|
+
cors({
|
|
215
|
+
origins: ["http://localhost:3000", "https://example.com"],
|
|
216
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
217
|
+
allowedHeaders: ["Content-Type", "Authorization"],
|
|
218
|
+
credentials: true,
|
|
219
|
+
endHere: true,
|
|
220
|
+
}),
|
|
221
|
+
]);
|
|
226
222
|
|
|
227
223
|
// Main route
|
|
228
224
|
router.handle("GET /", () =>
|
|
@@ -230,6 +226,10 @@ router.handle("GET /", () =>
|
|
|
230
226
|
);
|
|
231
227
|
router.handle("GET /status", () => status(200));
|
|
232
228
|
|
|
229
|
+
// trailing slash matters unless normalizeTrailingSlash option is set
|
|
230
|
+
router.handle("GET /res/", () => text("/res/"));
|
|
231
|
+
router.handle("GET /res", () => text("/res"));
|
|
232
|
+
|
|
233
233
|
// Sample sub-route `/api/user`
|
|
234
234
|
////////////////////////////////////////
|
|
235
235
|
// eg. inside routes/api/user.ts
|
package/dist/cjs/helpers.d.ts
CHANGED
|
@@ -78,7 +78,7 @@ export declare enum Status {
|
|
|
78
78
|
export declare function getHttpStatusText(code: number): string;
|
|
79
79
|
/**
|
|
80
80
|
* Creates a Response with the specified status code.
|
|
81
|
-
* Defaults to text/plain content-type if not provided in init.headers.
|
|
81
|
+
* Defaults to 'text/plain; charset=utf-8' content-type if not provided in init.headers.
|
|
82
82
|
* @param {number} status - The HTTP status code
|
|
83
83
|
* @param {string|null} [content] - The response body content
|
|
84
84
|
* @param {ResponseInit} [init] - Additional response initialization options
|
|
@@ -113,7 +113,7 @@ export declare const forward: <XContext = {}>(path: string, options?: {
|
|
|
113
113
|
}) => BoundHandler<XContext>;
|
|
114
114
|
/**
|
|
115
115
|
* Creates a text/plain Response.
|
|
116
|
-
* Defaults to status 200 and text/plain content-type if not specified.
|
|
116
|
+
* Defaults to status 200 and 'text/plain; charset=utf-8' content-type if not specified.
|
|
117
117
|
* @param {string} content - The text content to return
|
|
118
118
|
* @param {ResponseInit} [init] - Additional response initialization options
|
|
119
119
|
* @returns {Response} A Response object with text/plain content-type
|
|
@@ -135,7 +135,7 @@ export declare const text: (content: string, init?: ResponseInit) => Response;
|
|
|
135
135
|
export declare const html: (content: string, init?: ResponseInit) => Response;
|
|
136
136
|
/**
|
|
137
137
|
* Creates a JSON Response.
|
|
138
|
-
* Defaults to status 200 and application/json content-type if not specified.
|
|
138
|
+
* Defaults to status 200 and 'application/json; charset=utf-8' content-type if not specified.
|
|
139
139
|
* Uses Response.json() internally which automatically serializes the body.
|
|
140
140
|
* @param {any} body - The data to serialize as JSON
|
|
141
141
|
* @param {ResponseInit} [init] - Additional response initialization options
|
|
@@ -193,17 +193,17 @@ export declare const usp: (usp?: URLSearchParams, init?: ResponseInit) => Respon
|
|
|
193
193
|
/**
|
|
194
194
|
* Creates a Response from various body types with automatic content-type detection.
|
|
195
195
|
* Supports strings, objects (JSON), Blobs, ArrayBuffers, FormData, URLSearchParams, and ReadableStreams.
|
|
196
|
-
* @param {BodyInit} [body] - The body content to return
|
|
196
|
+
* @param {BodyInit|Record<string, unknown>} [body] - The body content to return
|
|
197
197
|
* @param {ResponseInit} [init] - Additional response initialization options
|
|
198
198
|
* @returns {Response} A Response object with appropriate content-type
|
|
199
199
|
* @example
|
|
200
200
|
* send("text"); // text/plain
|
|
201
|
-
* send({ message: "success" }); // application/json
|
|
201
|
+
* send({ message: "success" }); // application/json; charset=utf-8
|
|
202
202
|
* send(new Blob([])); // blob.type || application/octet-stream
|
|
203
203
|
* send(new FormData()); // multipart/form-data
|
|
204
204
|
* send(new URLSearchParams()); // application/x-www-form-urlencoded
|
|
205
205
|
*/
|
|
206
|
-
export declare const send: (body?: BodyInit, init?: ResponseInit) => Response;
|
|
206
|
+
export declare const send: (body?: BodyInit | Record<string, unknown>, init?: ResponseInit) => Response;
|
|
207
207
|
/**
|
|
208
208
|
* Options for setting cookies.
|
|
209
209
|
* @typedef {Object} CookieOptions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/helpers.js
CHANGED
|
@@ -275,7 +275,7 @@ function getHttpStatusText(code) {
|
|
|
275
275
|
}
|
|
276
276
|
/**
|
|
277
277
|
* Creates a Response with the specified status code.
|
|
278
|
-
* Defaults to text/plain content-type if not provided in init.headers.
|
|
278
|
+
* Defaults to 'text/plain; charset=utf-8' content-type if not provided in init.headers.
|
|
279
279
|
* @param {number} status - The HTTP status code
|
|
280
280
|
* @param {string|null} [content] - The response body content
|
|
281
281
|
* @param {ResponseInit} [init] - Additional response initialization options
|
|
@@ -290,7 +290,7 @@ const status = (status, content, init) => {
|
|
|
290
290
|
const statusText = (_a = init === null || init === void 0 ? void 0 : init.statusText) !== null && _a !== void 0 ? _a : getHttpStatusText(status);
|
|
291
291
|
const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
|
|
292
292
|
if (content !== null && !headers.has("content-type")) {
|
|
293
|
-
headers.set("content-type", "text/plain");
|
|
293
|
+
headers.set("content-type", "text/plain; charset=utf-8");
|
|
294
294
|
}
|
|
295
295
|
return new Response(content !== undefined ? content : statusText, Object.assign(Object.assign({ statusText }, init), { status,
|
|
296
296
|
headers }));
|
|
@@ -348,7 +348,7 @@ const forward = (path, options) => {
|
|
|
348
348
|
exports.forward = forward;
|
|
349
349
|
/**
|
|
350
350
|
* Creates a text/plain Response.
|
|
351
|
-
* Defaults to status 200 and text/plain content-type if not specified.
|
|
351
|
+
* Defaults to status 200 and 'text/plain; charset=utf-8' content-type if not specified.
|
|
352
352
|
* @param {string} content - The text content to return
|
|
353
353
|
* @param {ResponseInit} [init] - Additional response initialization options
|
|
354
354
|
* @returns {Response} A Response object with text/plain content-type
|
|
@@ -362,7 +362,7 @@ const text = (content, init) => {
|
|
|
362
362
|
const statusText = (_b = init === null || init === void 0 ? void 0 : init.statusText) !== null && _b !== void 0 ? _b : getHttpStatusText(status);
|
|
363
363
|
const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
|
|
364
364
|
if (!headers.has("content-type")) {
|
|
365
|
-
headers.set("content-type", "text/plain");
|
|
365
|
+
headers.set("content-type", "text/plain; charset=utf-8");
|
|
366
366
|
}
|
|
367
367
|
return new Response(content, Object.assign(Object.assign({ statusText }, init), { status,
|
|
368
368
|
headers }));
|
|
@@ -384,7 +384,7 @@ const html = (content, init) => {
|
|
|
384
384
|
const statusText = (_b = init === null || init === void 0 ? void 0 : init.statusText) !== null && _b !== void 0 ? _b : getHttpStatusText(status);
|
|
385
385
|
const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
|
|
386
386
|
if (!headers.has("content-type")) {
|
|
387
|
-
headers.set("content-type", "text/html");
|
|
387
|
+
headers.set("content-type", "text/html; charset=utf-8");
|
|
388
388
|
}
|
|
389
389
|
return new Response(content, Object.assign(Object.assign({ statusText }, init), { status,
|
|
390
390
|
headers }));
|
|
@@ -392,7 +392,7 @@ const html = (content, init) => {
|
|
|
392
392
|
exports.html = html;
|
|
393
393
|
/**
|
|
394
394
|
* Creates a JSON Response.
|
|
395
|
-
* Defaults to status 200 and application/json content-type if not specified.
|
|
395
|
+
* Defaults to status 200 and 'application/json; charset=utf-8' content-type if not specified.
|
|
396
396
|
* Uses Response.json() internally which automatically serializes the body.
|
|
397
397
|
* @param {any} body - The data to serialize as JSON
|
|
398
398
|
* @param {ResponseInit} [init] - Additional response initialization options
|
|
@@ -407,7 +407,7 @@ const json = (body, init) => {
|
|
|
407
407
|
const statusText = (_b = init === null || init === void 0 ? void 0 : init.statusText) !== null && _b !== void 0 ? _b : getHttpStatusText(status);
|
|
408
408
|
const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
|
|
409
409
|
if (!headers.has("content-type")) {
|
|
410
|
-
headers.set("content-type", "application/json");
|
|
410
|
+
headers.set("content-type", "application/json; charset=utf-8");
|
|
411
411
|
}
|
|
412
412
|
return Response.json(body, Object.assign(Object.assign({ statusText }, init), { status,
|
|
413
413
|
headers }));
|
|
@@ -504,12 +504,12 @@ exports.usp = usp;
|
|
|
504
504
|
/**
|
|
505
505
|
* Creates a Response from various body types with automatic content-type detection.
|
|
506
506
|
* Supports strings, objects (JSON), Blobs, ArrayBuffers, FormData, URLSearchParams, and ReadableStreams.
|
|
507
|
-
* @param {BodyInit} [body] - The body content to return
|
|
507
|
+
* @param {BodyInit|Record<string, unknown>} [body] - The body content to return
|
|
508
508
|
* @param {ResponseInit} [init] - Additional response initialization options
|
|
509
509
|
* @returns {Response} A Response object with appropriate content-type
|
|
510
510
|
* @example
|
|
511
511
|
* send("text"); // text/plain
|
|
512
|
-
* send({ message: "success" }); // application/json
|
|
512
|
+
* send({ message: "success" }); // application/json; charset=utf-8
|
|
513
513
|
* send(new Blob([])); // blob.type || application/octet-stream
|
|
514
514
|
* send(new FormData()); // multipart/form-data
|
|
515
515
|
* send(new URLSearchParams()); // application/x-www-form-urlencoded
|
|
@@ -519,30 +519,38 @@ const send = (body, init) => {
|
|
|
519
519
|
const status = (_a = init === null || init === void 0 ? void 0 : init.status) !== null && _a !== void 0 ? _a : 200;
|
|
520
520
|
const statusText = (_b = init === null || init === void 0 ? void 0 : init.statusText) !== null && _b !== void 0 ? _b : getHttpStatusText(status);
|
|
521
521
|
const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
|
|
522
|
-
|
|
523
|
-
|
|
522
|
+
const isContentTypeNotSet = !headers.has("content-type");
|
|
523
|
+
if (body instanceof URLSearchParams) {
|
|
524
|
+
if (isContentTypeNotSet) {
|
|
524
525
|
headers.set("content-type", "application/x-www-form-urlencoded");
|
|
525
|
-
body = body.toString();
|
|
526
526
|
}
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
527
|
+
}
|
|
528
|
+
else if (body instanceof FormData) {
|
|
529
|
+
// content type will be generated
|
|
530
|
+
}
|
|
531
|
+
else if (typeof body === "string") {
|
|
532
|
+
if (isContentTypeNotSet) {
|
|
530
533
|
headers.set("content-type", "text/plain; charset=utf-8");
|
|
531
534
|
}
|
|
532
|
-
|
|
535
|
+
}
|
|
536
|
+
else if (body instanceof Blob) {
|
|
537
|
+
if (isContentTypeNotSet) {
|
|
533
538
|
headers.set("content-type", body.type || "application/octet-stream");
|
|
534
539
|
}
|
|
535
|
-
|
|
540
|
+
}
|
|
541
|
+
else if (body instanceof ArrayBuffer ||
|
|
542
|
+
ArrayBuffer.isView(body) ||
|
|
543
|
+
body instanceof ReadableStream) {
|
|
544
|
+
if (isContentTypeNotSet) {
|
|
536
545
|
headers.set("content-type", "application/octet-stream");
|
|
537
546
|
}
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
}
|
|
543
|
-
else {
|
|
544
|
-
headers.set("content-type", "application/octet-stream");
|
|
547
|
+
}
|
|
548
|
+
else if (body != null) {
|
|
549
|
+
if (isContentTypeNotSet) {
|
|
550
|
+
headers.set("content-type", "application/json; charset=utf-8");
|
|
545
551
|
}
|
|
552
|
+
return Response.json(body, Object.assign(Object.assign({ status,
|
|
553
|
+
statusText }, init), { headers }));
|
|
546
554
|
}
|
|
547
555
|
return new Response(body, Object.assign(Object.assign({ statusText }, init), { status,
|
|
548
556
|
headers }));
|
package/dist/cjs/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import type { RouterContext } from "./router";
|
|
2
|
-
import type { FreeHandler,
|
|
2
|
+
import type { FreeHandler, HttpMethod, CTXAddress } from "./types";
|
|
3
3
|
import { CacheConfig } from "@bepalo/cache";
|
|
4
4
|
import { JWT, JwtPayload, JwtVerifyOptions } from "@bepalo/jwt";
|
|
5
|
+
/**
|
|
6
|
+
* Context object containing parsed query.
|
|
7
|
+
* @typedef {Object} CTXQuery
|
|
8
|
+
* @property {Record<string, string>} query - Parsed query from the request url
|
|
9
|
+
*/
|
|
10
|
+
export type CTXQuery = {
|
|
11
|
+
query: Record<string, string>;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Creates middleware that parses queries from the request url and adds them to the context.
|
|
15
|
+
* @returns {Function} A middleware function that adds parsed queries to context.query
|
|
16
|
+
*/
|
|
17
|
+
export declare const parseQuery: <XContext = {}>() => FreeHandler<XContext & CTXQuery>;
|
|
5
18
|
/**
|
|
6
19
|
* Context object containing parsed cookies.
|
|
7
20
|
* @typedef {Object} CTXCookie
|
|
@@ -13,11 +26,8 @@ export type CTXCookie = {
|
|
|
13
26
|
/**
|
|
14
27
|
* Creates middleware that parses cookies from the request and adds them to the context.
|
|
15
28
|
* @returns {Function} A middleware function that adds parsed cookies to context.cookie
|
|
16
|
-
* @example
|
|
17
|
-
* const cookieParser = parseCookie();
|
|
18
|
-
* // Use in respondWith: respondWith({}, cookieParser(), ...otherHandlers)
|
|
19
29
|
*/
|
|
20
|
-
export declare const parseCookie: <
|
|
30
|
+
export declare const parseCookie: <XContext = {}>() => FreeHandler<XContext & CTXCookie>;
|
|
21
31
|
/**
|
|
22
32
|
* Parsed body object types.
|
|
23
33
|
* @typedef {Object} ParsedBody
|
|
@@ -53,12 +63,12 @@ export type SupportedBodyMediaTypes = "application/x-www-form-urlencoded" | "app
|
|
|
53
63
|
* @throws {Response} Returns a 413 response if body exceeds maxSize
|
|
54
64
|
* @throws {Response} Returns a 400 response if body is malformed
|
|
55
65
|
*/
|
|
56
|
-
export declare const parseBody: <
|
|
66
|
+
export declare const parseBody: <XContext = {}>(options?: {
|
|
57
67
|
accept?: SupportedBodyMediaTypes | SupportedBodyMediaTypes[];
|
|
58
68
|
maxSize?: number;
|
|
59
69
|
once?: boolean;
|
|
60
70
|
clone?: boolean;
|
|
61
|
-
}) => FreeHandler<
|
|
71
|
+
}) => FreeHandler<XContext & CTXBody>;
|
|
62
72
|
/**
|
|
63
73
|
* Creates a rate limiting middleware using token bucket algorithm.
|
|
64
74
|
* Supports both fixed interval refill and continuous rate-based refill.
|
|
@@ -96,8 +106,8 @@ export declare const parseBody: <Context extends CTXBody>(options?: {
|
|
|
96
106
|
*
|
|
97
107
|
* @throws {Error} If neither refillInterval nor refillRate is provided
|
|
98
108
|
*/
|
|
99
|
-
export declare const limitRate: <XContext = {}
|
|
100
|
-
key: (req: Request, ctx:
|
|
109
|
+
export declare const limitRate: <XContext = {}>(config: {
|
|
110
|
+
key: (req: Request, ctx: RouterContext<XContext & CTXAddress>) => string;
|
|
101
111
|
refillInterval?: number;
|
|
102
112
|
refillRate?: number;
|
|
103
113
|
maxTokens: number;
|
|
@@ -106,7 +116,7 @@ export declare const limitRate: <XContext = {}, Context extends RouterContext<XC
|
|
|
106
116
|
cacheConfig?: CacheConfig<string, any>;
|
|
107
117
|
setXRateLimitHeaders?: boolean;
|
|
108
118
|
endHere?: boolean;
|
|
109
|
-
}) =>
|
|
119
|
+
}) => FreeHandler<XContext & CTXAddress>;
|
|
110
120
|
/**
|
|
111
121
|
* Creates a CORS (Cross-Origin Resource Sharing) middleware.
|
|
112
122
|
* Supports preflight requests and configurable CORS headers.
|
|
@@ -138,7 +148,7 @@ export declare const limitRate: <XContext = {}, Context extends RouterContext<XC
|
|
|
138
148
|
*
|
|
139
149
|
* @throws {Error} If credentials is true with wildcard origin ("*")
|
|
140
150
|
*/
|
|
141
|
-
export declare const cors: <XContext = {}
|
|
151
|
+
export declare const cors: <XContext = {}>(config?: {
|
|
142
152
|
origins: "*" | string | string[];
|
|
143
153
|
methods?: HttpMethod[] | null;
|
|
144
154
|
allowedHeaders?: string[] | null;
|
|
@@ -147,7 +157,7 @@ export declare const cors: <XContext = {}, Context extends RouterContext<XContex
|
|
|
147
157
|
maxAge?: number | null;
|
|
148
158
|
varyOrigin?: boolean;
|
|
149
159
|
endHere?: boolean;
|
|
150
|
-
}) =>
|
|
160
|
+
}) => FreeHandler<XContext>;
|
|
151
161
|
/**
|
|
152
162
|
* Context type for Basic Authentication middleware.
|
|
153
163
|
* @template {string} [prop="basicAuth"] - Property name to store auth data in context
|
|
@@ -247,16 +257,17 @@ export declare const authorize: <XContext = {}>({ allowRole, forbidRole, forPerm
|
|
|
247
257
|
* ctxProp: "user" // Store in ctx.user instead of ctx.basicAuth
|
|
248
258
|
* });
|
|
249
259
|
*/
|
|
250
|
-
export declare const authBasic: <
|
|
260
|
+
export declare const authBasic: <XContext extends CTXBasicAuth, prop extends string = "basicAuth">({ credentials, type, separator, realm, ctxProp, endHere, }: {
|
|
251
261
|
credentials: Map<string, {
|
|
252
262
|
password: string;
|
|
263
|
+
role: string;
|
|
253
264
|
} & Record<string, any>>;
|
|
254
265
|
type?: "raw" | "base64";
|
|
255
266
|
separator?: ":" | " ";
|
|
256
267
|
realm?: string;
|
|
257
268
|
ctxProp?: prop;
|
|
258
269
|
endHere?: boolean;
|
|
259
|
-
}) =>
|
|
270
|
+
}) => FreeHandler<XContext & CTXBasicAuth>;
|
|
260
271
|
/**
|
|
261
272
|
* Context type for API Key Authentication middleware.
|
|
262
273
|
* @template {string} [prop="apiKeyAuth"] - Property name to store auth data in context
|
|
@@ -299,11 +310,11 @@ export type CTXAPIKeyAuth<prop extends string = "apiKeyAuth"> = RouterContext<{
|
|
|
299
310
|
* }
|
|
300
311
|
* });
|
|
301
312
|
*/
|
|
302
|
-
export declare const authAPIKey: <
|
|
313
|
+
export declare const authAPIKey: <XContext extends CTXAPIKeyAuth, prop extends string = "apiKeyAuth">({ verify, ctxProp, endHere, }: {
|
|
303
314
|
verify: (apiKey: string) => boolean;
|
|
304
315
|
ctxProp?: prop;
|
|
305
316
|
endHere?: boolean;
|
|
306
|
-
}) =>
|
|
317
|
+
}) => FreeHandler<XContext & CTXAPIKeyAuth>;
|
|
307
318
|
/**
|
|
308
319
|
* Context type for JWT Authentication middleware.
|
|
309
320
|
* @template {JwtPayload<{}>} Payload - JWT payload type
|
|
@@ -365,11 +376,11 @@ export type CTXJWTAuth<Payload extends JwtPayload<{}>, prop extends string = "jw
|
|
|
365
376
|
* }
|
|
366
377
|
* });
|
|
367
378
|
*/
|
|
368
|
-
export declare const authJWT: <Payload extends JwtPayload<{}>,
|
|
379
|
+
export declare const authJWT: <Payload extends JwtPayload<{}>, XContext extends CTXJWTAuth<Payload, prop>, prop extends string = "jwtAuth">({ jwt, validate, verifyOptions, ctxProp, endHere, }: {
|
|
369
380
|
jwt: JWT<Payload>;
|
|
370
381
|
validate?: (payload: Payload) => boolean;
|
|
371
382
|
verifyOptions?: JwtVerifyOptions;
|
|
372
383
|
ctxProp?: prop;
|
|
373
384
|
endHere?: boolean;
|
|
374
|
-
}) =>
|
|
385
|
+
}) => FreeHandler<XContext & CTXJWTAuth<Payload>>;
|
|
375
386
|
//# sourceMappingURL=middlewares.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/middlewares.js
CHANGED
|
@@ -9,16 +9,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.authJWT = exports.authAPIKey = exports.authBasic = exports.authorize = exports.authenticate = exports.cors = exports.limitRate = exports.parseBody = exports.parseCookie = void 0;
|
|
12
|
+
exports.authJWT = exports.authAPIKey = exports.authBasic = exports.authorize = exports.authenticate = exports.cors = exports.limitRate = exports.parseBody = exports.parseCookie = exports.parseQuery = void 0;
|
|
13
13
|
const helpers_1 = require("./helpers");
|
|
14
14
|
const cache_1 = require("@bepalo/cache");
|
|
15
15
|
const time_1 = require("@bepalo/time");
|
|
16
|
+
/**
|
|
17
|
+
* Creates middleware that parses queries from the request url and adds them to the context.
|
|
18
|
+
* @returns {Function} A middleware function that adds parsed queries to context.query
|
|
19
|
+
*/
|
|
20
|
+
const parseQuery = () => {
|
|
21
|
+
return (req, ctx) => {
|
|
22
|
+
const query = Object.fromEntries(ctx.url.searchParams.entries());
|
|
23
|
+
ctx.query = query;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
exports.parseQuery = parseQuery;
|
|
16
27
|
/**
|
|
17
28
|
* Creates middleware that parses cookies from the request and adds them to the context.
|
|
18
29
|
* @returns {Function} A middleware function that adds parsed cookies to context.cookie
|
|
19
|
-
* @example
|
|
20
|
-
* const cookieParser = parseCookie();
|
|
21
|
-
* // Use in respondWith: respondWith({}, cookieParser(), ...otherHandlers)
|
|
22
30
|
*/
|
|
23
31
|
const parseCookie = () => {
|
|
24
32
|
return (req, ctx) => {
|
|
@@ -416,18 +424,20 @@ const authBasic = ({ credentials, type = "raw", separator = ":", realm = "Protec
|
|
|
416
424
|
const [scheme, creds] = authorization.split(" ", 2);
|
|
417
425
|
if (scheme.toLowerCase() !== "basic" || !creds)
|
|
418
426
|
return (0, helpers_1.status)(401);
|
|
419
|
-
let xcreds;
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
427
|
+
let xcreds = creds;
|
|
428
|
+
if (type === "base64") {
|
|
429
|
+
try {
|
|
430
|
+
xcreds = atob(creds);
|
|
431
|
+
}
|
|
432
|
+
catch (_a) {
|
|
433
|
+
return (0, helpers_1.status)(401);
|
|
434
|
+
}
|
|
425
435
|
}
|
|
426
436
|
const [username, password] = xcreds.split(separator, 2);
|
|
427
437
|
if (!username || !password)
|
|
428
438
|
return (0, helpers_1.status)(401);
|
|
429
439
|
const user = credentials.get(username);
|
|
430
|
-
if (!user || password !== user.
|
|
440
|
+
if (!user || password !== user.password)
|
|
431
441
|
return (0, helpers_1.status)(401);
|
|
432
442
|
ctx[ctxProp] = {
|
|
433
443
|
username,
|