@bepalo/router 1.2.14 → 1.6.21

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.
@@ -1,9 +1,125 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.authJWT = exports.authAPIKey = exports.authBasic = exports.cors = exports.limitRate = void 0;
12
+ exports.authJWT = exports.authAPIKey = exports.authBasic = exports.authorize = exports.authenticate = exports.cors = exports.limitRate = exports.parseBody = exports.parseCookie = void 0;
4
13
  const helpers_1 = require("./helpers");
5
14
  const cache_1 = require("@bepalo/cache");
6
15
  const time_1 = require("@bepalo/time");
16
+ /**
17
+ * Creates middleware that parses cookies from the request and adds them to the context.
18
+ * @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
+ */
23
+ const parseCookie = () => {
24
+ return (req, ctx) => {
25
+ var _a;
26
+ const cookie = (_a = (0, helpers_1.parseCookieFromRequest)(req)) !== null && _a !== void 0 ? _a : {};
27
+ ctx.cookie = cookie;
28
+ };
29
+ };
30
+ exports.parseCookie = parseCookie;
31
+ /**
32
+ * Creates middleware that parses the request body based on Content-Type.
33
+ * Supports url-encoded forms, JSON, and plain text.
34
+ * @param {Object} [options] - Configuration options for body parsing
35
+ * @param {SupportedBodyMediaTypes|SupportedBodyMediaTypes[]} [options.accept] - Media types to accept (defaults to all supported)
36
+ * @param {number} [options.maxSize] - Maximum body size in bytes (defaults to 1MB)
37
+ * @param {number} [options.once] - Do not parse if parsed already. checks `ctx.body`
38
+ * @param {number} [options.clone] - Clone request before parsing it. Useful for forwarding.
39
+ * @returns {Function} A middleware function that adds parsed body to context.body
40
+ * @throws {Response} Returns a 415 response if content-type is not accepted
41
+ * @throws {Response} Returns a 413 response if body exceeds maxSize
42
+ * @throws {Response} Returns a 400 response if body is malformed
43
+ */
44
+ const parseBody = (options) => {
45
+ var _a;
46
+ const accept = (options === null || options === void 0 ? void 0 : options.accept)
47
+ ? Array.isArray(options.accept)
48
+ ? options.accept
49
+ : [options.accept]
50
+ : [
51
+ "application/x-www-form-urlencoded",
52
+ "application/json",
53
+ "text/plain",
54
+ ];
55
+ const maxSize = (_a = options === null || options === void 0 ? void 0 : options.maxSize) !== null && _a !== void 0 ? _a : 1024 * 1024; // Default 1MB
56
+ const once = options === null || options === void 0 ? void 0 : options.once;
57
+ const clone = options === null || options === void 0 ? void 0 : options.clone;
58
+ return (_req, ctx) => __awaiter(void 0, void 0, void 0, function* () {
59
+ var _a, _b, _c, _d;
60
+ if (once && ctx.body)
61
+ return;
62
+ const contentType = (_a = _req.headers.get("content-type")) === null || _a === void 0 ? void 0 : _a.split(";", 2)[0];
63
+ if (!(contentType && accept.includes(contentType))) {
64
+ yield ((_b = _req.body) === null || _b === void 0 ? void 0 : _b.cancel().catch(() => { }));
65
+ return (0, helpers_1.status)(415);
66
+ }
67
+ const req = clone ? _req.clone() : _req;
68
+ try {
69
+ const contentLengthHeader = req.headers.get("content-length");
70
+ const contentLength = contentLengthHeader
71
+ ? parseInt(contentLengthHeader)
72
+ : undefined;
73
+ if (contentLength === 0) {
74
+ ctx.body = {};
75
+ return;
76
+ }
77
+ if (contentLength !== undefined && contentLength > maxSize) {
78
+ yield ((_c = _req.body) === null || _c === void 0 ? void 0 : _c.cancel().catch(() => { }));
79
+ return (0, helpers_1.status)(413);
80
+ }
81
+ switch (contentType) {
82
+ case "application/x-www-form-urlencoded": {
83
+ const body = yield req.formData();
84
+ ctx.body = Object.fromEntries(body.entries());
85
+ break;
86
+ }
87
+ case "application/json": {
88
+ const body = yield req.json();
89
+ if (Array.isArray(body)) {
90
+ ctx.body = { values: body };
91
+ }
92
+ else if (body === undefined) {
93
+ ctx.body = {};
94
+ }
95
+ else if (body === null) {
96
+ ctx.body = { value: null };
97
+ }
98
+ else if (typeof body === "object") {
99
+ ctx.body = body;
100
+ }
101
+ else {
102
+ ctx.body = { value: body };
103
+ }
104
+ break;
105
+ }
106
+ case "text/plain": {
107
+ const text = yield req.text();
108
+ ctx.body = { text };
109
+ break;
110
+ }
111
+ default:
112
+ ctx.body = {};
113
+ break;
114
+ }
115
+ }
116
+ catch (error) {
117
+ yield ((_d = _req.body) === null || _d === void 0 ? void 0 : _d.cancel().catch(() => { }));
118
+ return (0, helpers_1.status)(400, "Malformed Payload");
119
+ }
120
+ });
121
+ };
122
+ exports.parseBody = parseBody;
7
123
  /**
8
124
  * Creates a rate limiting middleware using token bucket algorithm.
9
125
  * Supports both fixed interval refill and continuous rate-based refill.
@@ -127,6 +243,7 @@ exports.limitRate = limitRate;
127
243
  * @param {boolean} [config.credentials=false] - Allow credentials (cookies, authorization headers)
128
244
  * @param {number} [config.maxAge=86400] - Maximum age for preflight cache in seconds
129
245
  * @param {boolean} [config.varyOrigin=false] - Add Vary: Origin header for caching
246
+ * @param {boolean} [options.endHere=false] - If true, stops only pipeline flow per handler type after success.
130
247
  * @returns {Function} Middleware function that handles CORS headers
131
248
  *
132
249
  * @example
@@ -194,6 +311,76 @@ const cors = (config) => {
194
311
  };
195
312
  };
196
313
  exports.cors = cors;
314
+ /**
315
+ * Middleware to authenticate a request.
316
+ *
317
+ * @template XContext - Additional context type to merge with CTXAuth.
318
+ * @param {Object} [options] - Configuration options.
319
+ * @param {ParseAuthFn}[options.parseAuth] - Function to extract authentication info from the request.
320
+ * Should return an `Auth` object if valid, `Error` if invalid, or `null/undefined` if missing.
321
+ * @param {boolean} [options.endHere=false] - If true, stops only pipeline flow per handler type after success.
322
+ * @param {boolean} [options.checkOnly=false] - If true, only checks authentication without returning a response.
323
+ *
324
+ * @returns {FreeHandler<Partial<CTXAuth>&XContext>} A handler that sets `ctx.auth` if authentication succeeds,
325
+ * otherwise returns a `401 Unauthorized` or with error message if available response (unless `checkOnly` is true).
326
+ */
327
+ const authenticate = ({ parseAuth, endHere = false, checkOnly = false, }) => {
328
+ return function (req, ctx) {
329
+ var _a;
330
+ const auth = parseAuth(req, ctx);
331
+ if (!auth) {
332
+ return checkOnly ? false : (0, helpers_1.status)(401);
333
+ }
334
+ else if (auth instanceof Error) {
335
+ return checkOnly ? false : (0, helpers_1.status)(401, (_a = auth.message) !== null && _a !== void 0 ? _a : undefined);
336
+ }
337
+ ctx.auth = auth;
338
+ if (endHere)
339
+ return true;
340
+ };
341
+ };
342
+ exports.authenticate = authenticate;
343
+ /**
344
+ * Middleware to authorize a request based on role or permissions.
345
+ *
346
+ * @template XContext - Additional context type to merge with CTXAuth.
347
+ * @param {Object} [options] - Configuration options.
348
+ * @param {(role: string) => boolean}[options.allowRole] - Function to check if a role is allowed.
349
+ * @param {(role: string) => boolean}[options.forbidRole] - Function to check if a role is forbidden.
350
+ * @param {string[]}[options.forPermissions] - List of permissions required for access.
351
+ * @param {(permission: string,role: string) => boolean|null|undefined}[options.hasPermission] - Function to check if a role has a given permission.
352
+ * Required if `forPermissions` is provided.
353
+ * @param {boolean} [options.endHere=false] - If true, stops only pipeline flow per handler type after success.
354
+ *
355
+ * @returns {FreeHandler<Partial<CTXAuth>&XContext>} A handler that checks `ctx.auth` and enforces role/permission rules.
356
+ * Returns `401 Unauthorized` if no auth is present, or `403 Forbidden` if checks fail.
357
+ * Throws an error if `forPermissions` is set without `hasPermission`.
358
+ *
359
+ */
360
+ const authorize = ({ allowRole, forbidRole, forPermissions, hasPermission, endHere = false, }) => {
361
+ if (forPermissions && !hasPermission) {
362
+ throw new Error("authorize middleware 'forPermissions' require 'hasPermission'");
363
+ }
364
+ return (req, { auth }) => {
365
+ if (!auth) {
366
+ return (0, helpers_1.status)(401);
367
+ }
368
+ if (allowRole && !allowRole(auth.role)) {
369
+ return (0, helpers_1.status)(403);
370
+ }
371
+ if (forbidRole && forbidRole(auth.role)) {
372
+ return (0, helpers_1.status)(403);
373
+ }
374
+ if (forPermissions && hasPermission) {
375
+ const permitted = forPermissions.some((permission) => hasPermission(permission, auth.role));
376
+ if (!permitted)
377
+ return (0, helpers_1.status)(403);
378
+ }
379
+ if (endHere)
380
+ return true;
381
+ };
382
+ };
383
+ exports.authorize = authorize;
197
384
  /**
198
385
  * Creates a Basic Authentication middleware.
199
386
  * Supports RFC 7617 Basic Authentication scheme.
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.js","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":";;;AAAA,uCAA+C;AAG/C,yCAAmD;AAEnD,uCAAoC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACI,MAAM,SAAS,GAAG,CAKvB,MAUD,EAAoB,EAAE;IACrB,MAAM,EACJ,GAAG,EACH,cAAc,EACd,UAAU,EACV,SAAS,EACT,4BAA4B,GAAG,IAAI,EACnC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EACtB,WAAW,GAAG;QACZ,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QACrB,4CAA4C;QAC5C,aAAa,EAAE,WAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;QACnC,eAAe,EAAE,WAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;QAC3C,SAAS,EAAE,CAAC,KAAyB,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACpD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,EACD,oBAAoB,GAAG,KAAK,EAC5B,OAAO,GAAG,KAAK,GAChB,GAAG,MAAM,CAAC;IAKX,MAAM,UAAU,GAA8B,IAAI,aAAK,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,UAAU,GAAY,EAAE,GAAY;;YACzC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,MAAA,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,KAAmB,CAAC;YACtD,MAAM,WAAW,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;YAC7C,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;gBAClC,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,SAAS,GACb,KAAK,CAAC,MAAM;wBACZ,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC;oBACxD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBAC9C,KAAK,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;oBACzB,KAAK,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,GAAG,CAAC,OAAO,CAAC,GAAG,CACb,aAAa,EACb,IAAI,CAAC,IAAI,CACP,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,4BAA4B,CAC9D,CAAC,OAAO,EAAE,CACZ,CAAC;gBACF,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1D,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,OAAO;gBAAE,OAAO,IAAI,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,EAAE,CAAC;QACtB,OAAO,UAAU,GAAY,EAAE,GAAY;;YACzC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,MAAA,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,KAAmB,CAAC;YACtD,MAAM,WAAW,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;YAC7C,MAAM,SAAS,GACb,KAAK,CAAC,MAAM;gBACZ,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,4BAA4B,CAAC;YAC5D,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC9C,KAAK,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpE,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1D,GAAG,CAAC,OAAO,CAAC,GAAG,CACb,uBAAuB,EACvB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CACpC,CAAC;YACJ,CAAC;YACD,IAAI,OAAO;gBAAE,OAAO,IAAI,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;AACJ,CAAC,CAAC;AAxGW,QAAA,SAAS,aAwGpB;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACI,MAAM,IAAI,GAAG,CAGlB,MASD,EAAoB,EAAE;IACrB,MAAM,EACJ,OAAO,GAAG,GAAG,EACb,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC3D,cAAc,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,EAClD,cAAc,EACd,WAAW,GAAG,KAAK,EACnB,MAAM,GAAG,KAAK,EACd,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,KAAK,GAChB,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CACzE,CAAC;IACF,OAAO,UAAU,GAAY,EAAE,GAAY;QACzC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,GAAG,GAAG,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,UAAU;gBAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,UAAU,KAAK,GAAG;gBACpB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,OAAO,CAAC,GAAG,CACb,+BAA+B,EAC/B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,OAAO,CAAC,GAAG,CACb,8BAA8B,EAC9B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,IAAA,gBAAM,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC,CAAC;AA1EW,QAAA,IAAI,QA0Ef;AAcF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,MAAM,SAAS,GAAG,CAGvB,EACA,WAAW,EACX,IAAI,GAAG,KAAK,EACZ,SAAS,GAAG,GAAG,EACf,KAAK,GAAG,WAAW,EACnB,OAAO,GAAG,WAAmB,EAC7B,OAAO,GAAG,KAAK,GAQhB,EAAoB,EAAE;IACrB,OAAO,CAAC,GAAY,EAAE,GAAY,EAAE,EAAE;QACpC,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACvD,GAAG,CAAC,OAAO,CAAC,GAAG,CACb,kBAAkB,EAClB,gBAAgB,KAAK,oBAAoB,CAC1C,CAAC;QACF,IAAI,CAAC,aAAa;YAAE,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,CAAC,KAAK;YAAE,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnD,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;QACvD,GAA4B,CAAC,OAAO,CAAC,GAAG;YACvC,QAAQ;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QACF,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,SAAS,aA2CpB;AAaF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACI,MAAM,UAAU,GAAG,CAGxB,EACA,MAAM,EACN,OAAO,GAAG,YAAoB,EAC9B,OAAO,GAAG,KAAK,GAKhB,EAAoB,EAAE;IACrB,OAAO,CAAC,GAAY,EAAE,GAAY,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;QAClD,GAA4B,CAAC,OAAO,CAAC,GAAG;YACvC,MAAM;SACP,CAAC;QACF,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,UAAU,cAoBrB;AAmBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACI,MAAM,OAAO,GAAG,CAIrB,EACA,GAAG,EACH,QAAQ,EACR,aAAa,EACb,OAAO,GAAG,SAAiB,EAC3B,OAAO,GAAG,KAAK,GAOhB,EAAoB,EAAE;IACrB,OAAO,CAAC,GAAY,EAAE,GAAY,EAAE,EAAE;;QACpC,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa;YAAE,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK;YAAE,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAA,gBAAM,EAAC,GAAG,EAAE,MAAA,MAAM,CAAC,KAAK,0CAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,OAAO,IAAA,gBAAM,EAAC,GAAG,CAAC,CAAC;QAC7D,GAA4B,CAAC,OAAO,CAAC,GAAG;YACvC,GAAG;YACH,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QACF,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,OAAO,WAgClB"}
1
+ {"version":3,"file":"middlewares.js","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,8 @@
4
4
  * @author Natnael Eshetu
5
5
  * @exports Router
6
6
  */
7
- import { CTXError } from "./helpers";
8
7
  import { Tree } from "./tree";
9
- import { HttpMethod, MethodPath, Pipeline, HandlerType, HttpPath, Handler, HeaderTuple } from "./types";
8
+ import type { HttpMethod, MethodPath, Pipeline, HandlerType, HttpPath, Handler, HeaderTuple, CTXError } from "./types";
10
9
  /**
11
10
  * Checks if a string is a valid HTTP method.
12
11
  * @param {string} method - The method string to validate
@@ -321,5 +320,7 @@ export interface SplitURL {
321
320
  index: number;
322
321
  }>;
323
322
  }
323
+ export declare const ALL_METHODS: HttpMethod[];
324
+ export declare const CRUD_METHODS: HttpMethod[];
324
325
  export default Router;
325
326
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
27
27
  };
28
28
  var _a, _Router_trees, _Router_enable, _Router_defaultHeaders, _Router_defaultCatcher, _Router_defaultFallback, _Router_setters, _Router_ALL_METHOD_PATHS;
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.Router = exports.isValidHttpMethod = void 0;
30
+ exports.CRUD_METHODS = exports.ALL_METHODS = exports.Router = exports.isValidHttpMethod = void 0;
31
31
  const tree_1 = require("./tree");
32
32
  /**
33
33
  * Checks if a string is a valid HTTP method.
@@ -606,6 +606,22 @@ _Router_ALL_METHOD_PATHS = { value: splitUrl([
606
606
  "PATCH /.**",
607
607
  "DELETE /.**",
608
608
  ]) };
609
+ exports.ALL_METHODS = [
610
+ "HEAD",
611
+ "OPTIONS",
612
+ "GET",
613
+ "POST",
614
+ "PUT",
615
+ "PATCH",
616
+ "DELETE",
617
+ ];
618
+ exports.CRUD_METHODS = [
619
+ "GET",
620
+ "POST",
621
+ "PUT",
622
+ "PATCH",
623
+ "DELETE",
624
+ ];
609
625
  /**
610
626
  * Splits URL patterns into their components for routing.
611
627
  * Supports wildcards (*), super-globs (**), and parameters (:param).
@@ -620,41 +636,53 @@ function splitUrl(urls) {
620
636
  urls = (Array.isArray(urls) ? urls : [urls]);
621
637
  let splitUrls = [];
622
638
  for (const mp of urls) {
623
- const [method, pathname] = mp
639
+ const [_method, pathname] = mp
624
640
  .split(" ", 2)
625
641
  .map((mu) => mu.trim());
626
642
  const params = new Map();
627
643
  const nodes = [];
628
644
  const pathNodes = pathname.substring(1).split("/");
629
645
  const lastPathNode = pathNodes.length > 0 && pathNodes[pathNodes.length - 1];
630
- // check the last path node to match '***'
631
- if (lastPathNode === ".**") {
632
- const curNodes = pathNodes.slice(0, pathNodes.length - 1);
633
- splitUrls.push({ method, pathname, nodes: [...curNodes, ""], params });
634
- splitUrls.push({ method, pathname, nodes: [...curNodes, "**"], params });
635
- }
636
- else if (lastPathNode === ".*") {
637
- const curNodes = pathNodes.splice(0, pathNodes.length - 1);
638
- splitUrls.push({ method, pathname, nodes: [...curNodes, ""], params });
639
- splitUrls.push({ method, pathname, nodes: [...curNodes, "*"], params });
640
- }
641
- else {
642
- // process the path nodes
643
- for (let index = 0; index < pathNodes.length; index++) {
644
- const pathNode = pathNodes[index];
645
- if (pathNode === ".**" && index < pathNodes.length - 1) {
646
- throw new Error("Super-Glob not at the end of pathname");
647
- }
648
- if (pathNode.startsWith(":")) {
649
- const name = pathNode.substring(1);
650
- params.set(index, { name, index });
651
- nodes.push("*");
652
- }
653
- else {
654
- nodes.push(pathNode);
646
+ const methods = _method === "ALL"
647
+ ? exports.ALL_METHODS
648
+ : _method === "CRUD"
649
+ ? exports.CRUD_METHODS
650
+ : [_method];
651
+ for (const method of methods) {
652
+ // check the last path node to match globs '.**'
653
+ if (lastPathNode === ".**") {
654
+ const curNodes = pathNodes.slice(0, pathNodes.length - 1);
655
+ splitUrls.push({ method, pathname, nodes: [...curNodes, ""], params });
656
+ splitUrls.push({
657
+ method,
658
+ pathname,
659
+ nodes: [...curNodes, "**"],
660
+ params,
661
+ });
662
+ }
663
+ else if (lastPathNode === ".*") {
664
+ const curNodes = pathNodes.splice(0, pathNodes.length - 1);
665
+ splitUrls.push({ method, pathname, nodes: [...curNodes, ""], params });
666
+ splitUrls.push({ method, pathname, nodes: [...curNodes, "*"], params });
667
+ }
668
+ else {
669
+ // process the path nodes
670
+ for (let index = 0; index < pathNodes.length; index++) {
671
+ const pathNode = pathNodes[index];
672
+ if (pathNode === ".**" && index < pathNodes.length - 1) {
673
+ throw new Error("Super-Glob not at the end of pathname");
674
+ }
675
+ if (pathNode.startsWith(":")) {
676
+ const name = pathNode.substring(1);
677
+ params.set(index, { name, index });
678
+ nodes.push("*");
679
+ }
680
+ else {
681
+ nodes.push(pathNode);
682
+ }
655
683
  }
684
+ splitUrls.push({ method, pathname, nodes, params });
656
685
  }
657
- splitUrls.push({ method, pathname, nodes, params });
658
686
  }
659
687
  }
660
688
  return splitUrls;
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export type HttpPath = `/${string}`;
34
34
  * const route: MethodPath = "POST /api/users";
35
35
  * const route: MethodPath = "DELETE /api/users/:id";
36
36
  */
37
- export type MethodPath = `${HttpMethod} ${HttpPath}`;
37
+ export type MethodPath = `${HttpMethod | "ALL" | "CRUD"} ${HttpPath}`;
38
38
  /**
39
39
  * Types of handlers in the router pipeline.
40
40
  * Each handler type has a specific role in request processing:
@@ -76,12 +76,8 @@ export type HandlerType = "filter" | "hook" | "handler" | "fallback" | "catcher"
76
76
  * }
77
77
  */
78
78
  export type HandlerResponse = Response | void | boolean | Promise<Response | void | boolean>;
79
- export interface BoundHandler<XContext = {}> {
80
- (this: Router<XContext>, req: Request, ctx: RouterContext<XContext>): HandlerResponse;
81
- }
82
- export interface NonBoundHandler<XContext = {}> {
83
- (req: Request, ctx: RouterContext<XContext>): HandlerResponse;
84
- }
79
+ export type BoundHandler<XContext = {}> = (this: Router<XContext>, req: Request, ctx: RouterContext<XContext>) => HandlerResponse;
80
+ export type FreeHandler<XContext = {}> = (req: Request, ctx: RouterContext<XContext>) => HandlerResponse;
85
81
  /**
86
82
  * Generic handler function type.
87
83
  * Represents a function that processes HTTP requests.
@@ -109,7 +105,7 @@ export interface NonBoundHandler<XContext = {}> {
109
105
  * // Return nothing to continue to next handler
110
106
  * };
111
107
  */
112
- export type Handler<XContext = {}> = NonBoundHandler<XContext> | BoundHandler<XContext>;
108
+ export type Handler<XContext = {}> = FreeHandler<XContext> | BoundHandler<XContext>;
113
109
  /**
114
110
  * Array of handler functions executed in sequence.
115
111
  * Used to group multiple handlers for a route.
@@ -138,4 +134,30 @@ export type Pipeline<Context = {}> = Array<Handler<Context>>;
138
134
  *
139
135
  */
140
136
  export type HeaderTuple = [string, string];
137
+ /**
138
+ * Generic SocketAddress structure
139
+ *
140
+ * @typedef {{address:string;family:string;port:number;}} SocketAddress
141
+ */
142
+ export interface SocketAddress {
143
+ address: string;
144
+ family: string;
145
+ port: number;
146
+ }
147
+ /**
148
+ * Router Context for certain error
149
+ *
150
+ * @typedef {{error:Error}} CTXError
151
+ */
152
+ export type CTXError = {
153
+ error: Error;
154
+ };
155
+ /**
156
+ * Router Context for sharing client address
157
+ *
158
+ * @typedef {{address:SocketAddress}} CTXAddress
159
+ */
160
+ export type CTXAddress = {
161
+ address: SocketAddress;
162
+ };
141
163
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,SAAS,GACT,KAAK,GACL,MAAM,GACN,KAAK,GACL,OAAO,GACP,QAAQ,CAAC;AAEb;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,IAAI,GACJ,OAAO,GACP,OAAO,CAAC,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC;AAEvC,MAAM,WAAW,YAAY,CAAC,QAAQ,GAAG,EAAE;IACzC,CACE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EACtB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC3B,eAAe,CAAC;CACpB;AAED,MAAM,WAAW,eAAe,CAAC,QAAQ,GAAG,EAAE;IAC5C,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC;CAC/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,OAAO,CAAC,QAAQ,GAAG,EAAE,IAC7B,eAAe,CAAC,QAAQ,CAAC,GACzB,YAAY,CAAC,QAAQ,CAAC,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,SAAS,GACT,KAAK,GACL,MAAM,GACN,KAAK,GACL,OAAO,GACP,QAAQ,CAAC;AAEb;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;AAEtE;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,IAAI,GACJ,OAAO,GACP,OAAO,CAAC,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC;AAEvC,MAAM,MAAM,YAAY,CAAC,QAAQ,GAAG,EAAE,IAAI,CACxC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EACtB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,KACzB,eAAe,CAAC;AAErB,MAAM,MAAM,WAAW,CAAC,QAAQ,GAAG,EAAE,IAAI,CACvC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,KACzB,eAAe,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,OAAO,CAAC,QAAQ,GAAG,EAAE,IAC7B,WAAW,CAAC,QAAQ,CAAC,GACrB,YAAY,CAAC,QAAQ,CAAC,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,QAAQ,CAAC,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Handler } from "./types";
1
+ import { FreeHandler } from "./types";
2
2
  /**
3
3
  * Context object containing parsed upload data from multipart/form-data requests.
4
4
  * @typedef {Object} CTXUpload
@@ -57,7 +57,7 @@ export type StreamingUploadOptions = {
57
57
  uploadIdGenerator?: () => string | Promise<string>;
58
58
  onUploadStart?: (uploadId: string, totalSize: number) => Promise<void>;
59
59
  onUploadComplete?: (uploadId: string, success: boolean) => Promise<void>;
60
- onFileStart?: (uploadId: string, fieldName: string, fileName: string, contentType: string, fileSize?: number) => Promise<{
60
+ onFileStart?: (uploadId: string, fieldName: string, fileName: string, contentType: string) => Promise<{
61
61
  customFilename?: string;
62
62
  metadata?: Record<string, any>;
63
63
  } | void>;
@@ -102,5 +102,5 @@ export type StreamingUploadOptions = {
102
102
  * });
103
103
  * });
104
104
  */
105
- export declare const parseUploadStreaming: <Context extends CTXUpload>(options?: StreamingUploadOptions) => Handler<Context>;
105
+ export declare const parseUploadStreaming: <XContext = {}>(options?: StreamingUploadOptions) => FreeHandler<XContext & CTXUpload>;
106
106
  //# sourceMappingURL=upload-stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload-stream.d.ts","sourceRoot":"","sources":["../../src/upload-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload-stream.d.ts","sourceRoot":"","sources":["../../src/upload-stream.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ const helpers_1 = require("./helpers");
49
49
  const parseUploadStreaming = (options) => {
50
50
  const { maxTotalSize = 100 * 1024 * 1024, // 100MB default
51
51
  maxFileSize = 20 * 1024 * 1024, // 20MB per file
52
- maxFiles = 50, maxFields = 1000, allowedTypes, uploadIdGenerator = () => `upload_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`, onUploadStart, onUploadComplete, onFileStart, onFileChunk, onFileComplete, onFileError, onField, onError, } = options || {};
52
+ maxFiles = 50, maxFields = 1000, allowedTypes, uploadIdGenerator = () => `upload_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`, onUploadStart, onUploadComplete, onFileStart, onFileChunk, onFileComplete, onFileError, onField, onError, } = options || {};
53
53
  return (req, ctx) => __awaiter(void 0, void 0, void 0, function* () {
54
54
  var _a;
55
55
  const contentType = req.headers.get("content-type");
@@ -81,7 +81,6 @@ const parseUploadStreaming = (options) => {
81
81
  let currentPart = null;
82
82
  const boundaryBytes = new TextEncoder().encode(`--${boundary}`);
83
83
  const boundaryEndBytes = new TextEncoder().encode(`--${boundary}--`);
84
- const crlfBytes = new TextEncoder().encode("\r\n");
85
84
  const headerEndBytes = new TextEncoder().encode("\r\n\r\n");
86
85
  // Notify upload start
87
86
  if (onUploadStart) {