itty-router 5.0.6 → 5.0.7
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/AutoRouter.js +115 -1
- package/AutoRouter.js.map +1 -1
- package/AutoRouter.mjs +113 -1
- package/AutoRouter.mjs.map +1 -1
- package/IttyRouter.js +41 -1
- package/IttyRouter.js.map +1 -1
- package/IttyRouter.mjs +39 -1
- package/IttyRouter.mjs.map +1 -1
- package/Router.js +59 -1
- package/Router.js.map +1 -1
- package/Router.mjs +57 -1
- package/Router.mjs.map +1 -1
- package/StatusError.js +12 -1
- package/StatusError.js.map +1 -1
- package/StatusError.mjs +10 -1
- package/StatusError.mjs.map +1 -1
- package/cors.js +65 -1
- package/cors.js.map +1 -1
- package/cors.mjs +63 -1
- package/cors.mjs.map +1 -1
- package/createResponse.js +11 -1
- package/createResponse.js.map +1 -1
- package/createResponse.mjs +9 -1
- package/createResponse.mjs.map +1 -1
- package/error.js +37 -1
- package/error.js.map +1 -1
- package/error.mjs +35 -1
- package/error.mjs.map +1 -1
- package/html.js +13 -1
- package/html.js.map +1 -1
- package/html.mjs +11 -1
- package/html.mjs.map +1 -1
- package/index.js +269 -1
- package/index.js.map +1 -1
- package/index.mjs +251 -1
- package/index.mjs.map +1 -1
- package/jpeg.js +13 -1
- package/jpeg.js.map +1 -1
- package/jpeg.mjs +11 -1
- package/jpeg.mjs.map +1 -1
- package/json.js +13 -1
- package/json.js.map +1 -1
- package/json.mjs +11 -1
- package/json.mjs.map +1 -1
- package/package.json +1 -1
- package/png.js +13 -1
- package/png.js.map +1 -1
- package/png.mjs +11 -1
- package/png.mjs.map +1 -1
- package/status.js +5 -1
- package/status.js.map +1 -1
- package/status.mjs +3 -1
- package/status.mjs.map +1 -1
- package/text.js +13 -1
- package/text.js.map +1 -1
- package/text.mjs +11 -1
- package/text.mjs.map +1 -1
- package/webp.js +13 -1
- package/webp.js.map +1 -1
- package/webp.mjs +11 -1
- package/webp.mjs.map +1 -1
- package/websocket.js +17 -1
- package/websocket.js.map +1 -1
- package/websocket.mjs +15 -1
- package/websocket.mjs.map +1 -1
- package/withContent.js +12 -1
- package/withContent.js.map +1 -1
- package/withContent.mjs +10 -1
- package/withContent.mjs.map +1 -1
- package/withCookies.js +11 -1
- package/withCookies.js.map +1 -1
- package/withCookies.mjs +9 -1
- package/withCookies.mjs.map +1 -1
- package/withParams.js +11 -1
- package/withParams.js.map +1 -1
- package/withParams.mjs +9 -1
- package/withParams.mjs.map +1 -1
package/StatusError.js
CHANGED
|
@@ -1,2 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
class StatusError extends Error {
|
|
4
|
+
status;
|
|
5
|
+
constructor(status = 500, body) {
|
|
6
|
+
super(typeof body === 'object' ? body.error : body);
|
|
7
|
+
typeof body === 'object' && Object.assign(this, body);
|
|
8
|
+
this.status = status;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.StatusError = StatusError;
|
|
2
13
|
//# sourceMappingURL=StatusError.js.map
|
package/StatusError.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusError.js","sources":["../src/src/StatusError.ts"],"sourcesContent":[null],"names":[
|
|
1
|
+
{"version":3,"file":"StatusError.js","sources":["../src/src/StatusError.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKM,MAAO,WAAY,SAAQ,KAAK,CAAA;AACpC,IAAA,MAAM,CAAS;AAGf,IAAA,WAAA,CAAY,MAAM,GAAG,GAAG,EAAE,IAAiC,EAAA;AACzD,QAAA,KAAK,CAAC,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;AACnD,QAAA,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACrD,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;KACrB;AACF;;;;"}
|
package/StatusError.mjs
CHANGED
|
@@ -1,2 +1,11 @@
|
|
|
1
|
-
class
|
|
1
|
+
class StatusError extends Error {
|
|
2
|
+
status;
|
|
3
|
+
constructor(status = 500, body) {
|
|
4
|
+
super(typeof body === 'object' ? body.error : body);
|
|
5
|
+
typeof body === 'object' && Object.assign(this, body);
|
|
6
|
+
this.status = status;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { StatusError };
|
|
2
11
|
//# sourceMappingURL=StatusError.mjs.map
|
package/StatusError.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusError.mjs","sources":["../src/src/StatusError.ts"],"sourcesContent":[null],"names":[
|
|
1
|
+
{"version":3,"file":"StatusError.mjs","sources":["../src/src/StatusError.ts"],"sourcesContent":[null],"names":[],"mappings":"AAKM,MAAO,WAAY,SAAQ,KAAK,CAAA;AACpC,IAAA,MAAM,CAAS;AAGf,IAAA,WAAA,CAAY,MAAM,GAAG,GAAG,EAAE,IAAiC,EAAA;AACzD,QAAA,KAAK,CAAC,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;AACnD,QAAA,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACrD,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;KACrB;AACF;;;;"}
|
package/cors.js
CHANGED
|
@@ -1,2 +1,66 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Create CORS function with default options.
|
|
4
|
+
const cors = (options = {}) => {
|
|
5
|
+
// Destructure and set defaults for options.
|
|
6
|
+
const { origin = '*', credentials = false, allowMethods = '*', allowHeaders, exposeHeaders, maxAge, } = options;
|
|
7
|
+
// create generic CORS headers
|
|
8
|
+
const corsHeaders = {
|
|
9
|
+
'access-control-allow-headers': allowHeaders?.join?.(',') ?? allowHeaders, // include allowed headers
|
|
10
|
+
// @ts-expect-error
|
|
11
|
+
'access-control-expose-headers': exposeHeaders?.join?.(',') ?? exposeHeaders, // include allowed headers
|
|
12
|
+
// @ts-expect-error
|
|
13
|
+
'access-control-allow-methods': allowMethods?.join?.(',') ?? allowMethods, // include allowed methods
|
|
14
|
+
'access-control-max-age': maxAge,
|
|
15
|
+
'access-control-allow-credentials': credentials,
|
|
16
|
+
};
|
|
17
|
+
const getAccessControlOrigin = (request) => {
|
|
18
|
+
const requestOrigin = request?.headers.get('origin'); // may be null if no request passed
|
|
19
|
+
// @ts-expect-error
|
|
20
|
+
if (origin === true)
|
|
21
|
+
return requestOrigin;
|
|
22
|
+
// @ts-expect-error
|
|
23
|
+
if (origin instanceof RegExp)
|
|
24
|
+
return origin.test(requestOrigin) ? requestOrigin : undefined;
|
|
25
|
+
// @ts-expect-error
|
|
26
|
+
if (Array.isArray(origin))
|
|
27
|
+
return origin.includes(requestOrigin) ? requestOrigin : undefined;
|
|
28
|
+
// @ts-expect-error
|
|
29
|
+
if (origin instanceof Function)
|
|
30
|
+
return origin(requestOrigin);
|
|
31
|
+
// @ts-expect-error
|
|
32
|
+
return origin == '*' && credentials
|
|
33
|
+
? requestOrigin
|
|
34
|
+
: origin;
|
|
35
|
+
};
|
|
36
|
+
const preflight = (request) => {
|
|
37
|
+
if (request.method == 'OPTIONS') {
|
|
38
|
+
return new Response(null, {
|
|
39
|
+
status: 204,
|
|
40
|
+
headers: Object.entries({
|
|
41
|
+
'access-control-allow-origin': getAccessControlOrigin(request),
|
|
42
|
+
...corsHeaders,
|
|
43
|
+
}).filter(v => v[1]),
|
|
44
|
+
});
|
|
45
|
+
} // otherwise ignore
|
|
46
|
+
};
|
|
47
|
+
const corsify = (response, request) => {
|
|
48
|
+
// ignore if already has CORS headers
|
|
49
|
+
if (response?.headers?.get('access-control-allow-origin')
|
|
50
|
+
|| response.status == 101)
|
|
51
|
+
return response;
|
|
52
|
+
const origin = getAccessControlOrigin(request);
|
|
53
|
+
if (origin)
|
|
54
|
+
response.headers.append('access-control-allow-origin', origin);
|
|
55
|
+
for (const [key, value] of Object.entries(corsHeaders)) {
|
|
56
|
+
if (value)
|
|
57
|
+
response.headers.append(key, value);
|
|
58
|
+
}
|
|
59
|
+
return response;
|
|
60
|
+
};
|
|
61
|
+
// Return corsify and preflight methods.
|
|
62
|
+
return { corsify, preflight };
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
exports.cors = cors;
|
|
2
66
|
//# sourceMappingURL=cors.js.map
|
package/cors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cors.js","sources":["../src/src/cors.ts"],"sourcesContent":[null],"names":[
|
|
1
|
+
{"version":3,"file":"cors.js","sources":["../src/src/cors.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAmBA;MACa,IAAI,GAAG,CAAC,OAAuB,GAAA,EAAE,KAAI;;IAEhD,MAAM,EACJ,MAAM,GAAG,GAAG,EACZ,WAAW,GAAG,KAAK,EACnB,YAAY,GAAG,GAAG,EAClB,YAAY,EACZ,aAAa,EACb,MAAM,GACP,GAAG,OAAO,CAAA;;AAGX,IAAA,MAAM,WAAW,GAAwB;QACvC,8BAA8B,EAAE,YAAY,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,YAAY;;QAEzE,+BAA+B,EAAE,aAAa,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,aAAa;;QAE5E,8BAA8B,EAAE,YAAY,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,YAAY;AACzE,QAAA,wBAAwB,EAAE,MAAM;AAChC,QAAA,kCAAkC,EAAE,WAAW;KAChD,CAAA;AAED,IAAA,MAAM,sBAAsB,GAAG,CAAC,OAAiB,KAAY;AAC3D,QAAA,MAAM,aAAa,GAAG,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;;QAGpD,IAAI,MAAM,KAAK,IAAI;AAAE,YAAA,OAAO,aAAa,CAAA;;QAEzC,IAAI,MAAM,YAAY,MAAM;AAAE,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,SAAS,CAAA;;AAE3F,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,SAAS,CAAA;;QAE5F,IAAI,MAAM,YAAY,QAAQ;AAAE,YAAA,OAAO,MAAM,CAAC,aAAa,CAAC,CAAA;;AAG5D,QAAA,OAAO,MAAM,IAAI,GAAG,IAAI,WAAW;AACnC,cAAE,aAAa;cACb,MAAM,CAAA;AACV,KAAC,CAAA;AAED,IAAA,MAAM,SAAS,GAAG,CAAC,OAAgB,KAAI;AACrC,QAAA,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;AAC/B,YAAA,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;AACxB,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;AACtB,oBAAA,6BAA6B,EAAE,sBAAsB,CAAC,OAAO,CAAC;AAC9D,oBAAA,GAAG,WAAW;iBACf,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,aAAA,CAAC,CAAA;AACJ,SAAC;AACH,KAAC,CAAA;AAED,IAAA,MAAM,OAAO,GAAG,CAAC,QAAkB,EAAE,OAAiB,KAAI;;AAExD,QAAA,IACE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,6BAA6B,CAAC;eAClD,QAAQ,CAAC,MAAM,IAAI,GAAG;AACzB,YAAA,OAAO,QAAQ,CAAA;AAEjB,QAAA,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC9C,QAAA,IAAI,MAAM;YAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;AAE1E,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACtD,YAAA,IAAI,KAAK;gBAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;SAC/C;AAED,QAAA,OAAO,QAAQ,CAAA;AACjB,KAAC,CAAA;;AAGD,IAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AAC/B;;;;"}
|
package/cors.mjs
CHANGED
|
@@ -1,2 +1,64 @@
|
|
|
1
|
-
|
|
1
|
+
// Create CORS function with default options.
|
|
2
|
+
const cors = (options = {}) => {
|
|
3
|
+
// Destructure and set defaults for options.
|
|
4
|
+
const { origin = '*', credentials = false, allowMethods = '*', allowHeaders, exposeHeaders, maxAge, } = options;
|
|
5
|
+
// create generic CORS headers
|
|
6
|
+
const corsHeaders = {
|
|
7
|
+
'access-control-allow-headers': allowHeaders?.join?.(',') ?? allowHeaders, // include allowed headers
|
|
8
|
+
// @ts-expect-error
|
|
9
|
+
'access-control-expose-headers': exposeHeaders?.join?.(',') ?? exposeHeaders, // include allowed headers
|
|
10
|
+
// @ts-expect-error
|
|
11
|
+
'access-control-allow-methods': allowMethods?.join?.(',') ?? allowMethods, // include allowed methods
|
|
12
|
+
'access-control-max-age': maxAge,
|
|
13
|
+
'access-control-allow-credentials': credentials,
|
|
14
|
+
};
|
|
15
|
+
const getAccessControlOrigin = (request) => {
|
|
16
|
+
const requestOrigin = request?.headers.get('origin'); // may be null if no request passed
|
|
17
|
+
// @ts-expect-error
|
|
18
|
+
if (origin === true)
|
|
19
|
+
return requestOrigin;
|
|
20
|
+
// @ts-expect-error
|
|
21
|
+
if (origin instanceof RegExp)
|
|
22
|
+
return origin.test(requestOrigin) ? requestOrigin : undefined;
|
|
23
|
+
// @ts-expect-error
|
|
24
|
+
if (Array.isArray(origin))
|
|
25
|
+
return origin.includes(requestOrigin) ? requestOrigin : undefined;
|
|
26
|
+
// @ts-expect-error
|
|
27
|
+
if (origin instanceof Function)
|
|
28
|
+
return origin(requestOrigin);
|
|
29
|
+
// @ts-expect-error
|
|
30
|
+
return origin == '*' && credentials
|
|
31
|
+
? requestOrigin
|
|
32
|
+
: origin;
|
|
33
|
+
};
|
|
34
|
+
const preflight = (request) => {
|
|
35
|
+
if (request.method == 'OPTIONS') {
|
|
36
|
+
return new Response(null, {
|
|
37
|
+
status: 204,
|
|
38
|
+
headers: Object.entries({
|
|
39
|
+
'access-control-allow-origin': getAccessControlOrigin(request),
|
|
40
|
+
...corsHeaders,
|
|
41
|
+
}).filter(v => v[1]),
|
|
42
|
+
});
|
|
43
|
+
} // otherwise ignore
|
|
44
|
+
};
|
|
45
|
+
const corsify = (response, request) => {
|
|
46
|
+
// ignore if already has CORS headers
|
|
47
|
+
if (response?.headers?.get('access-control-allow-origin')
|
|
48
|
+
|| response.status == 101)
|
|
49
|
+
return response;
|
|
50
|
+
const origin = getAccessControlOrigin(request);
|
|
51
|
+
if (origin)
|
|
52
|
+
response.headers.append('access-control-allow-origin', origin);
|
|
53
|
+
for (const [key, value] of Object.entries(corsHeaders)) {
|
|
54
|
+
if (value)
|
|
55
|
+
response.headers.append(key, value);
|
|
56
|
+
}
|
|
57
|
+
return response;
|
|
58
|
+
};
|
|
59
|
+
// Return corsify and preflight methods.
|
|
60
|
+
return { corsify, preflight };
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export { cors };
|
|
2
64
|
//# sourceMappingURL=cors.mjs.map
|
package/cors.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cors.mjs","sources":["../src/src/cors.ts"],"sourcesContent":[null],"names":[
|
|
1
|
+
{"version":3,"file":"cors.mjs","sources":["../src/src/cors.ts"],"sourcesContent":[null],"names":[],"mappings":"AAmBA;MACa,IAAI,GAAG,CAAC,OAAuB,GAAA,EAAE,KAAI;;IAEhD,MAAM,EACJ,MAAM,GAAG,GAAG,EACZ,WAAW,GAAG,KAAK,EACnB,YAAY,GAAG,GAAG,EAClB,YAAY,EACZ,aAAa,EACb,MAAM,GACP,GAAG,OAAO,CAAA;;AAGX,IAAA,MAAM,WAAW,GAAwB;QACvC,8BAA8B,EAAE,YAAY,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,YAAY;;QAEzE,+BAA+B,EAAE,aAAa,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,aAAa;;QAE5E,8BAA8B,EAAE,YAAY,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,YAAY;AACzE,QAAA,wBAAwB,EAAE,MAAM;AAChC,QAAA,kCAAkC,EAAE,WAAW;KAChD,CAAA;AAED,IAAA,MAAM,sBAAsB,GAAG,CAAC,OAAiB,KAAY;AAC3D,QAAA,MAAM,aAAa,GAAG,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;;QAGpD,IAAI,MAAM,KAAK,IAAI;AAAE,YAAA,OAAO,aAAa,CAAA;;QAEzC,IAAI,MAAM,YAAY,MAAM;AAAE,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,SAAS,CAAA;;AAE3F,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,SAAS,CAAA;;QAE5F,IAAI,MAAM,YAAY,QAAQ;AAAE,YAAA,OAAO,MAAM,CAAC,aAAa,CAAC,CAAA;;AAG5D,QAAA,OAAO,MAAM,IAAI,GAAG,IAAI,WAAW;AACnC,cAAE,aAAa;cACb,MAAM,CAAA;AACV,KAAC,CAAA;AAED,IAAA,MAAM,SAAS,GAAG,CAAC,OAAgB,KAAI;AACrC,QAAA,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;AAC/B,YAAA,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;AACxB,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;AACtB,oBAAA,6BAA6B,EAAE,sBAAsB,CAAC,OAAO,CAAC;AAC9D,oBAAA,GAAG,WAAW;iBACf,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,aAAA,CAAC,CAAA;AACJ,SAAC;AACH,KAAC,CAAA;AAED,IAAA,MAAM,OAAO,GAAG,CAAC,QAAkB,EAAE,OAAiB,KAAI;;AAExD,QAAA,IACE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,6BAA6B,CAAC;eAClD,QAAQ,CAAC,MAAM,IAAI,GAAG;AACzB,YAAA,OAAO,QAAQ,CAAA;AAEjB,QAAA,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;AAC9C,QAAA,IAAI,MAAM;YAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;AAE1E,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACtD,YAAA,IAAI,KAAK;gBAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;SAC/C;AAED,QAAA,OAAO,QAAQ,CAAA;AACjB,KAAC,CAAA;;AAGD,IAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AAC/B;;;;"}
|
package/createResponse.js
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const createResponse = (format = 'text/plain; charset=utf-8', transform) => (body, { ...options } = {}) => {
|
|
4
|
+
if (body === undefined || body instanceof Response)
|
|
5
|
+
return body;
|
|
6
|
+
const response = new Response(transform?.(body) ?? body, options);
|
|
7
|
+
response.headers.set('content-type', format);
|
|
8
|
+
return response;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
exports.createResponse = createResponse;
|
|
2
12
|
//# sourceMappingURL=createResponse.js.map
|
package/createResponse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createResponse.js","sources":["../src/src/createResponse.ts"],"sourcesContent":[null],"names":[
|
|
1
|
+
{"version":3,"file":"createResponse.js","sources":["../src/src/createResponse.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAEc,cAAc,GAC1B,CACE,MAAM,GAAG,2BAA2B,EACpC,SAA8B,KAEhC,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAI;AAC5B,IAAA,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,YAAY,QAAQ;AAAE,QAAA,OAAO,IAAI,CAAA;AAE/D,IAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;AAC5C,IAAA,OAAO,QAAQ,CAAA;AACjB;;;;"}
|
package/createResponse.mjs
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
const
|
|
1
|
+
const createResponse = (format = 'text/plain; charset=utf-8', transform) => (body, { ...options } = {}) => {
|
|
2
|
+
if (body === undefined || body instanceof Response)
|
|
3
|
+
return body;
|
|
4
|
+
const response = new Response(transform?.(body) ?? body, options);
|
|
5
|
+
response.headers.set('content-type', format);
|
|
6
|
+
return response;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { createResponse };
|
|
2
10
|
//# sourceMappingURL=createResponse.mjs.map
|
package/createResponse.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createResponse.mjs","sources":["../src/src/createResponse.ts"],"sourcesContent":[null],"names":[
|
|
1
|
+
{"version":3,"file":"createResponse.mjs","sources":["../src/src/createResponse.ts"],"sourcesContent":[null],"names":[],"mappings":"MAEc,cAAc,GAC1B,CACE,MAAM,GAAG,2BAA2B,EACpC,SAA8B,KAEhC,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAI;AAC5B,IAAA,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,YAAY,QAAQ;AAAE,QAAA,OAAO,IAAI,CAAA;AAE/D,IAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;AAC5C,IAAA,OAAO,QAAQ,CAAA;AACjB;;;;"}
|
package/error.js
CHANGED
|
@@ -1,2 +1,38 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const createResponse = (format = 'text/plain; charset=utf-8', transform) => (body, { ...options } = {}) => {
|
|
4
|
+
if (body === undefined || body instanceof Response)
|
|
5
|
+
return body;
|
|
6
|
+
const response = new Response(transform?.(body) ?? body, options);
|
|
7
|
+
response.headers.set('content-type', format);
|
|
8
|
+
return response;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const json = createResponse('application/json; charset=utf-8', JSON.stringify);
|
|
12
|
+
|
|
13
|
+
const getMessage = (code) => ({
|
|
14
|
+
400: 'Bad Request',
|
|
15
|
+
401: 'Unauthorized',
|
|
16
|
+
403: 'Forbidden',
|
|
17
|
+
404: 'Not Found',
|
|
18
|
+
500: 'Internal Server Error',
|
|
19
|
+
})[code] || 'Unknown Error';
|
|
20
|
+
const error = (a = 500, b) => {
|
|
21
|
+
// handle passing an Error | StatusError directly in
|
|
22
|
+
if (a instanceof Error) {
|
|
23
|
+
const { message, ...err } = a;
|
|
24
|
+
a = a.status || 500;
|
|
25
|
+
b = {
|
|
26
|
+
error: message || getMessage(a),
|
|
27
|
+
...err,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
b = {
|
|
31
|
+
status: a,
|
|
32
|
+
...(typeof b === 'object' ? b : { error: b || getMessage(a) }),
|
|
33
|
+
};
|
|
34
|
+
return json(b, { status: a });
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.error = error;
|
|
2
38
|
//# sourceMappingURL=error.js.map
|
package/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sources":["../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts"],"sourcesContent":[null,null,null],"names":[
|
|
1
|
+
{"version":3,"file":"error.js","sources":["../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;AAEQ,MAAM,cAAc,GAC1B,CACE,MAAM,GAAG,2BAA2B,EACpC,SAA8B,KAEhC,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAI;AAC5B,IAAA,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,YAAY,QAAQ;AAAE,QAAA,OAAO,IAAI,CAAA;AAE/D,IAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;AAC5C,IAAA,OAAO,QAAQ,CAAA;AACjB,CAAC;;ACXI,MAAM,IAAI,GAAG,cAAc,CAChC,iCAAiC,EACjC,IAAI,CAAC,SAAS,CACf;;ACFD,MAAM,UAAU,GAAG,CAAC,IAAY,KAAa,CAAC;AAC5C,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,GAAG,EAAE,cAAc;AACnB,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,GAAG,EAAE,uBAAuB;AAC7B,CAAA,EAAE,IAAI,CAAC,IAAI,eAAe,CAAA;AAEd,MAAA,KAAK,GAAmB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAE,KAAI;;AAEnD,IAAA,IAAI,CAAC,YAAY,KAAK,EAAE;QACtB,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAA;AAC7B,QAAA,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,CAAA;AACnB,QAAA,CAAC,GAAG;AACF,YAAA,KAAK,EAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC;AAC/B,YAAA,GAAG,GAAG;SACP,CAAA;KACF;AAED,IAAA,CAAC,GAAG;AACF,QAAA,MAAM,EAAE,CAAC;QACT,IAAI,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;KAC9D,CAAA;IAED,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;AAC/B;;;;"}
|
package/error.mjs
CHANGED
|
@@ -1,2 +1,36 @@
|
|
|
1
|
-
const
|
|
1
|
+
const createResponse = (format = 'text/plain; charset=utf-8', transform) => (body, { ...options } = {}) => {
|
|
2
|
+
if (body === undefined || body instanceof Response)
|
|
3
|
+
return body;
|
|
4
|
+
const response = new Response(transform?.(body) ?? body, options);
|
|
5
|
+
response.headers.set('content-type', format);
|
|
6
|
+
return response;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const json = createResponse('application/json; charset=utf-8', JSON.stringify);
|
|
10
|
+
|
|
11
|
+
const getMessage = (code) => ({
|
|
12
|
+
400: 'Bad Request',
|
|
13
|
+
401: 'Unauthorized',
|
|
14
|
+
403: 'Forbidden',
|
|
15
|
+
404: 'Not Found',
|
|
16
|
+
500: 'Internal Server Error',
|
|
17
|
+
})[code] || 'Unknown Error';
|
|
18
|
+
const error = (a = 500, b) => {
|
|
19
|
+
// handle passing an Error | StatusError directly in
|
|
20
|
+
if (a instanceof Error) {
|
|
21
|
+
const { message, ...err } = a;
|
|
22
|
+
a = a.status || 500;
|
|
23
|
+
b = {
|
|
24
|
+
error: message || getMessage(a),
|
|
25
|
+
...err,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
b = {
|
|
29
|
+
status: a,
|
|
30
|
+
...(typeof b === 'object' ? b : { error: b || getMessage(a) }),
|
|
31
|
+
};
|
|
32
|
+
return json(b, { status: a });
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export { error };
|
|
2
36
|
//# sourceMappingURL=error.mjs.map
|
package/error.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.mjs","sources":["../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts"],"sourcesContent":[null,null,null],"names":[
|
|
1
|
+
{"version":3,"file":"error.mjs","sources":["../src/src/createResponse.ts","../src/src/json.ts","../src/src/error.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"AAEQ,MAAM,cAAc,GAC1B,CACE,MAAM,GAAG,2BAA2B,EACpC,SAA8B,KAEhC,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAI;AAC5B,IAAA,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,YAAY,QAAQ;AAAE,QAAA,OAAO,IAAI,CAAA;AAE/D,IAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;AAC5C,IAAA,OAAO,QAAQ,CAAA;AACjB,CAAC;;ACXI,MAAM,IAAI,GAAG,cAAc,CAChC,iCAAiC,EACjC,IAAI,CAAC,SAAS,CACf;;ACFD,MAAM,UAAU,GAAG,CAAC,IAAY,KAAa,CAAC;AAC5C,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,GAAG,EAAE,cAAc;AACnB,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,GAAG,EAAE,uBAAuB;AAC7B,CAAA,EAAE,IAAI,CAAC,IAAI,eAAe,CAAA;AAEd,MAAA,KAAK,GAAmB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAE,KAAI;;AAEnD,IAAA,IAAI,CAAC,YAAY,KAAK,EAAE;QACtB,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAA;AAC7B,QAAA,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,CAAA;AACnB,QAAA,CAAC,GAAG;AACF,YAAA,KAAK,EAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC;AAC/B,YAAA,GAAG,GAAG;SACP,CAAA;KACF;AAED,IAAA,CAAC,GAAG;AACF,QAAA,MAAM,EAAE,CAAC;QACT,IAAI,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;KAC9D,CAAA;IAED,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;AAC/B;;;;"}
|
package/html.js
CHANGED
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const createResponse = (format = 'text/plain; charset=utf-8', transform) => (body, { ...options } = {}) => {
|
|
4
|
+
if (body === undefined || body instanceof Response)
|
|
5
|
+
return body;
|
|
6
|
+
const response = new Response(transform?.(body) ?? body, options);
|
|
7
|
+
response.headers.set('content-type', format);
|
|
8
|
+
return response;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const html = createResponse('text/html');
|
|
12
|
+
|
|
13
|
+
exports.html = html;
|
|
2
14
|
//# sourceMappingURL=html.js.map
|
package/html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sources":["../src/src/createResponse.ts","../src/src/html.ts"],"sourcesContent":[null,null],"names":[
|
|
1
|
+
{"version":3,"file":"html.js","sources":["../src/src/createResponse.ts","../src/src/html.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;AAEQ,MAAM,cAAc,GAC1B,CACE,MAAM,GAAG,2BAA2B,EACpC,SAA8B,KAEhC,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAI;AAC5B,IAAA,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,YAAY,QAAQ;AAAE,QAAA,OAAO,IAAI,CAAA;AAE/D,IAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;AAC5C,IAAA,OAAO,QAAQ,CAAA;AACjB,CAAC;;MCXU,IAAI,GAAG,cAAc,CAAC,WAAW;;;;"}
|
package/html.mjs
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
|
-
const
|
|
1
|
+
const createResponse = (format = 'text/plain; charset=utf-8', transform) => (body, { ...options } = {}) => {
|
|
2
|
+
if (body === undefined || body instanceof Response)
|
|
3
|
+
return body;
|
|
4
|
+
const response = new Response(transform?.(body) ?? body, options);
|
|
5
|
+
response.headers.set('content-type', format);
|
|
6
|
+
return response;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const html = createResponse('text/html');
|
|
10
|
+
|
|
11
|
+
export { html };
|
|
2
12
|
//# sourceMappingURL=html.mjs.map
|
package/html.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.mjs","sources":["../src/src/createResponse.ts","../src/src/html.ts"],"sourcesContent":[null,null],"names":[
|
|
1
|
+
{"version":3,"file":"html.mjs","sources":["../src/src/createResponse.ts","../src/src/html.ts"],"sourcesContent":[null,null],"names":[],"mappings":"AAEQ,MAAM,cAAc,GAC1B,CACE,MAAM,GAAG,2BAA2B,EACpC,SAA8B,KAEhC,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAI;AAC5B,IAAA,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,YAAY,QAAQ;AAAE,QAAA,OAAO,IAAI,CAAA;AAE/D,IAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;AAC5C,IAAA,OAAO,QAAQ,CAAA;AACjB,CAAC;;MCXU,IAAI,GAAG,cAAc,CAAC,WAAW;;;;"}
|