@visulima/error-handler 1.0.2 → 1.0.4
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/CHANGELOG.md +21 -0
- package/LICENSE.md +13 -5
- package/README.md +24 -18
- package/dist/error-handler/html-error-handler.d.ts +4 -4
- package/dist/error-handler/html-error-handler.js +7 -35
- package/dist/error-handler/json-error-handler.d.ts +3 -3
- package/dist/error-handler/json-error-handler.js +1 -31
- package/dist/error-handler/jsonapi-error-handler.d.ts +1 -1
- package/dist/error-handler/jsonapi-error-handler.js +1 -46
- package/dist/error-handler/jsonp-error-handler.d.ts +3 -3
- package/dist/error-handler/jsonp-error-handler.js +1 -36
- package/dist/error-handler/problem-error-handler.d.ts +1 -1
- package/dist/error-handler/problem-error-handler.js +1 -53
- package/dist/error-handler/text-error-handler.d.ts +3 -3
- package/dist/error-handler/text-error-handler.js +2 -27
- package/dist/error-handler/xml-error-handler.d.ts +8 -8
- package/dist/error-handler/xml-error-handler.js +1 -45
- package/dist/handler/cli-handler.d.ts +2 -2
- package/dist/handler/cli-handler.js +2 -172
- package/dist/handler/http/fetch-handler.d.ts +2 -2
- package/dist/handler/http/fetch-handler.js +1 -267
- package/dist/handler/http/node-handler.d.ts +4 -4
- package/dist/handler/http/node-handler.js +1 -17
- package/dist/index.d.ts +6 -6
- package/dist/index.js +1 -8
- package/dist/packem_shared/add-status-code-to-response-BE6paXjR.js +1 -0
- package/dist/packem_shared/cliHandler-B3-YFZRV.js +1 -0
- package/dist/packem_shared/createNegotiatedErrorHandler-BLks0_Ak.js +1 -0
- package/dist/packem_shared/send-json-Cedv8-Bt.js +1 -0
- package/dist/packem_shared/set-error-headers-DT9rVGtW.js +1 -0
- package/dist/packem_shared/{types.d-DLy8CCca.d.ts → types.d-BQZBUb3b.d.ts} +1 -4
- package/package.json +3 -3
- package/dist/packem_shared/add-status-code-to-response-DdfxTQsK.js +0 -17
- package/dist/packem_shared/createNegotiatedErrorHandler-Cd7yj67Z.js +0 -52
- package/dist/packem_shared/send-json-o-t1rNfw.js +0 -8
- package/dist/packem_shared/set-error-headers-B6ZeX5k4.js +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## @visulima/error-handler [1.0.4](https://github.com/visulima/visulima/compare/@visulima/error-handler@1.0.3...@visulima/error-handler@1.0.4) (2025-09-20)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* update error-handler configuration and improve code formatting ([0e9717c](https://github.com/visulima/visulima/commit/0e9717c6a642dde4c6d02974143d94597ed72dbd))
|
|
6
|
+
|
|
7
|
+
### Miscellaneous Chores
|
|
8
|
+
|
|
9
|
+
* update package.json and pnpm-lock.yaml to include publint@0.3.12 and adjust build/test commands to exclude shared-utils ([1f7b3c0](https://github.com/visulima/visulima/commit/1f7b3c0381d77edfeec80ea1bf57b3469e929414))
|
|
10
|
+
|
|
11
|
+
## @visulima/error-handler [1.0.3](https://github.com/visulima/visulima/compare/@visulima/error-handler@1.0.2...@visulima/error-handler@1.0.3) (2025-09-19)
|
|
12
|
+
|
|
13
|
+
### Miscellaneous Chores
|
|
14
|
+
|
|
15
|
+
* **deps:** update dependencies and improve build scripts ([1979067](https://github.com/visulima/visulima/commit/197906796481aeaad4c57f7bb207ea6d8a9e227b))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Dependencies
|
|
19
|
+
|
|
20
|
+
* **@visulima/error:** upgraded to 4.6.1
|
|
21
|
+
|
|
1
22
|
## @visulima/error-handler [1.0.2](https://github.com/visulima/visulima/compare/@visulima/error-handler@1.0.1...@visulima/error-handler@1.0.2) (2025-09-12)
|
|
2
23
|
|
|
3
24
|
|
package/LICENSE.md
CHANGED
|
@@ -23,11 +23,14 @@ SOFTWARE.
|
|
|
23
23
|
<!-- DEPENDENCIES -->
|
|
24
24
|
|
|
25
25
|
# Licenses of bundled dependencies
|
|
26
|
+
|
|
26
27
|
The published @visulima/error-handler artifact additionally contains code with the following licenses:
|
|
27
28
|
ISC, MIT
|
|
28
29
|
|
|
29
30
|
# Bundled dependencies:
|
|
31
|
+
|
|
30
32
|
## depd
|
|
33
|
+
|
|
31
34
|
License: MIT
|
|
32
35
|
By: Douglas Christopher Wilson
|
|
33
36
|
Repository: dougwilson/nodejs-depd
|
|
@@ -55,9 +58,10 @@ Repository: dougwilson/nodejs-depd
|
|
|
55
58
|
> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
56
59
|
> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
57
60
|
|
|
58
|
-
|
|
61
|
+
---
|
|
59
62
|
|
|
60
63
|
## http-errors
|
|
64
|
+
|
|
61
65
|
License: MIT
|
|
62
66
|
By: Jonathan Ong, Alan Plum, Douglas Christopher Wilson
|
|
63
67
|
Repository: jshttp/http-errors
|
|
@@ -85,9 +89,10 @@ Repository: jshttp/http-errors
|
|
|
85
89
|
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
86
90
|
> THE SOFTWARE.
|
|
87
91
|
|
|
88
|
-
|
|
92
|
+
---
|
|
89
93
|
|
|
90
94
|
## inherits
|
|
95
|
+
|
|
91
96
|
License: ISC
|
|
92
97
|
Repository: git://github.com/isaacs/inherits
|
|
93
98
|
|
|
@@ -107,9 +112,10 @@ Repository: git://github.com/isaacs/inherits
|
|
|
107
112
|
> OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
108
113
|
> PERFORMANCE OF THIS SOFTWARE.
|
|
109
114
|
|
|
110
|
-
|
|
115
|
+
---
|
|
111
116
|
|
|
112
117
|
## setprototypeof
|
|
118
|
+
|
|
113
119
|
License: ISC
|
|
114
120
|
By: Wes Todd
|
|
115
121
|
Repository: https://github.com/wesleytodd/setprototypeof.git
|
|
@@ -128,9 +134,10 @@ Repository: https://github.com/wesleytodd/setprototypeof.git
|
|
|
128
134
|
> OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
|
129
135
|
> CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
130
136
|
|
|
131
|
-
|
|
137
|
+
---
|
|
132
138
|
|
|
133
139
|
## statuses
|
|
140
|
+
|
|
134
141
|
License: MIT
|
|
135
142
|
By: Douglas Christopher Wilson, Jonathan Ong
|
|
136
143
|
Repository: jshttp/statuses
|
|
@@ -158,9 +165,10 @@ Repository: jshttp/statuses
|
|
|
158
165
|
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
159
166
|
> THE SOFTWARE.
|
|
160
167
|
|
|
161
|
-
|
|
168
|
+
---
|
|
162
169
|
|
|
163
170
|
## toidentifier
|
|
171
|
+
|
|
164
172
|
License: MIT
|
|
165
173
|
By: Douglas Christopher Wilson, Nick Baugh
|
|
166
174
|
Repository: component/toidentifier
|
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ const server = createServer(async (req, res) => {
|
|
|
62
62
|
throw new Error("Boom!");
|
|
63
63
|
} catch (error) {
|
|
64
64
|
const handler = await httpHandler(error as Error, {
|
|
65
|
-
showTrace: process.env.NODE_ENV !== "production"
|
|
65
|
+
showTrace: process.env.NODE_ENV !== "production",
|
|
66
66
|
});
|
|
67
67
|
return handler(req, res);
|
|
68
68
|
}
|
|
@@ -85,7 +85,7 @@ app.get("/", async (req, res) => {
|
|
|
85
85
|
throw new Error("Example error");
|
|
86
86
|
} catch (error) {
|
|
87
87
|
const handler = await httpHandler(error as Error, {
|
|
88
|
-
showTrace: process.env.NODE_ENV !== "production"
|
|
88
|
+
showTrace: process.env.NODE_ENV !== "production",
|
|
89
89
|
});
|
|
90
90
|
return handler(req, res);
|
|
91
91
|
}
|
|
@@ -110,7 +110,7 @@ app.get("/error", () => {
|
|
|
110
110
|
|
|
111
111
|
app.onError(async (error, c) => {
|
|
112
112
|
const handler = await fetchHandler(error as Error, {
|
|
113
|
-
showTrace: process.env.NODE_ENV !== "production"
|
|
113
|
+
showTrace: process.env.NODE_ENV !== "production",
|
|
114
114
|
});
|
|
115
115
|
return handler(c.req.raw);
|
|
116
116
|
});
|
|
@@ -130,7 +130,7 @@ export default {
|
|
|
130
130
|
throw new Error("Boom");
|
|
131
131
|
} catch (error) {
|
|
132
132
|
const handler = await fetchHandler(error as Error, {
|
|
133
|
-
showTrace: process.env.NODE_ENV !== "production"
|
|
133
|
+
showTrace: process.env.NODE_ENV !== "production",
|
|
134
134
|
});
|
|
135
135
|
return handler(request);
|
|
136
136
|
}
|
|
@@ -147,7 +147,7 @@ Deno.serve(async (request: Request) => {
|
|
|
147
147
|
throw new Error("Boom");
|
|
148
148
|
} catch (error) {
|
|
149
149
|
const handler = await fetchHandler(error as Error, {
|
|
150
|
-
showTrace: process.env.NODE_ENV !== "production"
|
|
150
|
+
showTrace: process.env.NODE_ENV !== "production",
|
|
151
151
|
});
|
|
152
152
|
return handler(request);
|
|
153
153
|
}
|
|
@@ -192,10 +192,12 @@ const handler = await httpHandler(error, {
|
|
|
192
192
|
Node.js HTTP handler for Express, Connect, Fastify, Koa, and similar frameworks.
|
|
193
193
|
|
|
194
194
|
**Parameters:**
|
|
195
|
+
|
|
195
196
|
- `error: Error` - The error to handle
|
|
196
197
|
- `options?: HtmlErrorHandlerOptions & { showTrace?: boolean; extraHandlers?: ErrorHandlers }`
|
|
197
198
|
|
|
198
199
|
**Options:**
|
|
200
|
+
|
|
199
201
|
- `showTrace?: boolean` - Include stack trace in responses (default: `true`)
|
|
200
202
|
- `extraHandlers?: ErrorHandlers` - Custom handlers for specific Accept headers
|
|
201
203
|
- `errorPage?: string | ((params) => string | Promise<string>)` - Custom HTML error page
|
|
@@ -207,10 +209,12 @@ Node.js HTTP handler for Express, Connect, Fastify, Koa, and similar frameworks.
|
|
|
207
209
|
Fetch API handler for Cloudflare Workers, Deno, Bun, and other Fetch-based runtimes.
|
|
208
210
|
|
|
209
211
|
**Parameters:**
|
|
212
|
+
|
|
210
213
|
- `error: Error` - The error to handle
|
|
211
214
|
- `options?: HtmlErrorHandlerOptions & { showTrace?: boolean; extraHandlers?: FetchErrorHandlers }`
|
|
212
215
|
|
|
213
216
|
**Options:**
|
|
217
|
+
|
|
214
218
|
- Same as `httpHandler` but uses `FetchErrorHandlers` for custom handlers
|
|
215
219
|
- `onError?: (error, request, response) => void | Promise<void>` - Callback for custom error logging
|
|
216
220
|
|
|
@@ -228,13 +232,15 @@ type FetchErrorHandlers = {
|
|
|
228
232
|
}[];
|
|
229
233
|
|
|
230
234
|
type HtmlErrorHandlerOptions = {
|
|
231
|
-
errorPage?:
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
235
|
+
errorPage?:
|
|
236
|
+
| string
|
|
237
|
+
| ((params: {
|
|
238
|
+
error: Error;
|
|
239
|
+
request: IncomingMessage;
|
|
240
|
+
response: ServerResponse;
|
|
241
|
+
reasonPhrase: string;
|
|
242
|
+
statusCode: number;
|
|
243
|
+
}) => string | Promise<string>);
|
|
238
244
|
cspNonce?: string;
|
|
239
245
|
onError?: (error: Error, request: IncomingMessage, response: ServerResponse) => void | Promise<void>;
|
|
240
246
|
};
|
|
@@ -253,7 +259,7 @@ const server = createServer(async (req, res) => {
|
|
|
253
259
|
throw new Error("Test error");
|
|
254
260
|
} catch (error) {
|
|
255
261
|
const handler = await httpHandler(error as Error, {
|
|
256
|
-
showTrace: process.env.NODE_ENV !== "production"
|
|
262
|
+
showTrace: process.env.NODE_ENV !== "production",
|
|
257
263
|
});
|
|
258
264
|
return handler(req, res);
|
|
259
265
|
}
|
|
@@ -275,7 +281,7 @@ const handler = await httpHandler(error, {
|
|
|
275
281
|
<p>${error.message}</p>
|
|
276
282
|
</body>
|
|
277
283
|
</html>`,
|
|
278
|
-
showTrace: false
|
|
284
|
+
showTrace: false,
|
|
279
285
|
});
|
|
280
286
|
```
|
|
281
287
|
|
|
@@ -286,7 +292,7 @@ import httpHandler from "@visulima/error-handler/handler/http/node";
|
|
|
286
292
|
|
|
287
293
|
const handler = await httpHandler(error, {
|
|
288
294
|
cspNonce: "nonce-abc123", // Will be added to <style> tags
|
|
289
|
-
showTrace: process.env.NODE_ENV !== "production"
|
|
295
|
+
showTrace: process.env.NODE_ENV !== "production",
|
|
290
296
|
});
|
|
291
297
|
```
|
|
292
298
|
|
|
@@ -303,7 +309,7 @@ const handler = await httpHandler(error, {
|
|
|
303
309
|
// Or send to external logging service
|
|
304
310
|
// logToService({ error: error.message, url: request.url, method: request.method });
|
|
305
311
|
},
|
|
306
|
-
showTrace: process.env.NODE_ENV !== "production"
|
|
312
|
+
showTrace: process.env.NODE_ENV !== "production",
|
|
307
313
|
});
|
|
308
314
|
```
|
|
309
315
|
|
|
@@ -373,8 +379,8 @@ If you would like to help take a look at the [list of issues](https://github.com
|
|
|
373
379
|
|
|
374
380
|
## Credits
|
|
375
381
|
|
|
376
|
-
-
|
|
377
|
-
-
|
|
382
|
+
- [Daniel Bannert](https://github.com/prisis)
|
|
383
|
+
- [All Contributors](https://github.com/visulima/visulima/graphs/contributors)
|
|
378
384
|
|
|
379
385
|
## License
|
|
380
386
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
import { a as ErrorHandler } from '../packem_shared/types.d-
|
|
2
|
+
import { a as ErrorHandler } from '../packem_shared/types.d-BQZBUb3b.js';
|
|
3
3
|
|
|
4
4
|
type HtmlErrorHandlerOptions = {
|
|
5
|
-
|
|
5
|
+
cspNonce?: string;
|
|
6
|
+
errorPage?: string | ((parameters: {
|
|
6
7
|
error: Error;
|
|
8
|
+
reasonPhrase: string;
|
|
7
9
|
request: IncomingMessage;
|
|
8
10
|
response: ServerResponse;
|
|
9
|
-
reasonPhrase: string;
|
|
10
11
|
statusCode: number;
|
|
11
12
|
}) => string | Promise<string>);
|
|
12
|
-
cspNonce?: string;
|
|
13
13
|
};
|
|
14
14
|
declare const htmlErrorHandler: (options?: HtmlErrorHandlerOptions) => ErrorHandler;
|
|
15
15
|
|
|
@@ -1,41 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
import { a as addStatusCodeToResponse } from '../packem_shared/add-status-code-to-response-DdfxTQsK.js';
|
|
3
|
-
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
-
const htmlErrorHandler = /* @__PURE__ */ __name((options = {}) => {
|
|
7
|
-
return async (error, request, response) => {
|
|
8
|
-
addStatusCodeToResponse(response, error);
|
|
9
|
-
response.setHeader("content-type", "text/html; charset=utf-8");
|
|
10
|
-
const title = getReasonPhrase(response.statusCode) || "Error";
|
|
11
|
-
const nonceAttr = options.cspNonce ? ` nonce="${options.cspNonce}"` : "";
|
|
12
|
-
if (options.errorPage) {
|
|
13
|
-
const override = typeof options.errorPage === "function" ? await options.errorPage({
|
|
14
|
-
error,
|
|
15
|
-
request,
|
|
16
|
-
response,
|
|
17
|
-
reasonPhrase: title,
|
|
18
|
-
statusCode: response.statusCode
|
|
19
|
-
}) : options.errorPage;
|
|
20
|
-
if (override) {
|
|
21
|
-
response.end(override);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
response.end(`<!DOCTYPE html>
|
|
1
|
+
var l=Object.defineProperty;var d=(e,r)=>l(e,"name",{value:r,configurable:!0});import{getReasonPhrase as c}from"http-status-codes";import{a as m}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";var g=Object.defineProperty,s=d((e,r)=>g(e,"name",{value:r,configurable:!0}),"n");const x=s((e={})=>async(r,n,t)=>{m(t,r),t.setHeader("content-type","text/html; charset=utf-8");const o=c(t.statusCode)||"Error",a=e.cspNonce?` nonce="${e.cspNonce}"`:"";if(e.errorPage){const i=typeof e.errorPage=="function"?await e.errorPage({error:r,reasonPhrase:o,request:n,response:t,statusCode:t.statusCode}):e.errorPage;if(i){t.end(i);return}}t.end(`<!DOCTYPE html>
|
|
26
2
|
<html lang="en">
|
|
27
3
|
<head>
|
|
28
4
|
<meta charset="utf-8">
|
|
29
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
30
6
|
|
|
31
|
-
<title>${
|
|
7
|
+
<title>${o}</title>
|
|
32
8
|
<meta name="robots" content="noindex">
|
|
33
9
|
|
|
34
|
-
<style${
|
|
10
|
+
<style${a}>
|
|
35
11
|
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-r{border-right-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\\:rounded-lg{border-radius:.5rem}.sm\\:block{display:block}.sm\\:items-center{align-items:center}.sm\\:justify-start{justify-content:flex-start}.sm\\:justify-between{justify-content:space-between}.sm\\:h-20{height:5rem}.sm\\:ml-0{margin-left:0}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\\:pt-0{padding-top:0}.sm\\:text-left{text-align:left}.sm\\:text-right{text-align:right}}@media (min-width:768px){.md\\:border-t-0{border-top-width:0}.md\\:border-l{border-left-width:1px}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}}
|
|
36
12
|
</style>
|
|
37
13
|
|
|
38
|
-
<style${
|
|
14
|
+
<style${a}>
|
|
39
15
|
body {
|
|
40
16
|
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
41
17
|
}
|
|
@@ -46,18 +22,14 @@ const htmlErrorHandler = /* @__PURE__ */ __name((options = {}) => {
|
|
|
46
22
|
<div class="max-w-xl mx-auto sm:px-6 lg:px-8">
|
|
47
23
|
<div class="flex items-center justify-center">
|
|
48
24
|
<div class="px-6 text-lg text-gray-600 dark:text-gray-400 border-r border-gray-400 dark:border-gray-700 tracking-wider font-semibold">
|
|
49
|
-
${
|
|
25
|
+
${t.statusCode}
|
|
50
26
|
</div>
|
|
51
27
|
|
|
52
28
|
<div class="ml-4 text-lg text-gray-600 dark:text-gray-400 uppercase tracking-wider">
|
|
53
|
-
${
|
|
29
|
+
${o}
|
|
54
30
|
</div>
|
|
55
31
|
</div>
|
|
56
32
|
</div>
|
|
57
33
|
</div>
|
|
58
34
|
</body>
|
|
59
|
-
</html>`);
|
|
60
|
-
};
|
|
61
|
-
}, "htmlErrorHandler");
|
|
62
|
-
|
|
63
|
-
export { htmlErrorHandler };
|
|
35
|
+
</html>`)},"htmlErrorHandler");export{x as htmlErrorHandler};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
import { a as ErrorHandler } from '../packem_shared/types.d-
|
|
2
|
+
import { a as ErrorHandler } from '../packem_shared/types.d-BQZBUb3b.js';
|
|
3
3
|
|
|
4
4
|
type JsonErrorBody = Record<string, unknown> | unknown[];
|
|
5
|
-
type JsonErrorFormatter = (
|
|
5
|
+
type JsonErrorFormatter = (parameters: {
|
|
6
6
|
error: Error;
|
|
7
|
+
reasonPhrase: string;
|
|
7
8
|
request: IncomingMessage;
|
|
8
9
|
response: ServerResponse;
|
|
9
|
-
reasonPhrase: string;
|
|
10
10
|
statusCode: number;
|
|
11
11
|
}) => JsonErrorBody | Promise<JsonErrorBody>;
|
|
12
12
|
type JsonErrorHandlerOptions = {
|
|
@@ -1,31 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { a as addStatusCodeToResponse } from '../packem_shared/add-status-code-to-response-DdfxTQsK.js';
|
|
3
|
-
import { s as sendJson } from '../packem_shared/send-json-o-t1rNfw.js';
|
|
4
|
-
import { s as setErrorHeaders } from '../packem_shared/set-error-headers-B6ZeX5k4.js';
|
|
5
|
-
|
|
6
|
-
var __defProp = Object.defineProperty;
|
|
7
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
-
const jsonErrorHandler = /* @__PURE__ */ __name((options = {}) => {
|
|
9
|
-
return async (error, request, response) => {
|
|
10
|
-
addStatusCodeToResponse(response, error);
|
|
11
|
-
setErrorHeaders(response, error);
|
|
12
|
-
const statusCode = response.statusCode;
|
|
13
|
-
const reasonPhrase = getReasonPhrase(statusCode) || "An error occurred";
|
|
14
|
-
if (options.formatter) {
|
|
15
|
-
const body = await options.formatter({ error, request, response, reasonPhrase, statusCode });
|
|
16
|
-
sendJson(response, body);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const expose = error.expose;
|
|
20
|
-
sendJson(response, {
|
|
21
|
-
statusCode,
|
|
22
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
23
|
-
error: reasonPhrase,
|
|
24
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
25
|
-
message: error.message || reasonPhrase,
|
|
26
|
-
...expose ? { stack: error.stack } : {}
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
}, "jsonErrorHandler");
|
|
30
|
-
|
|
31
|
-
export { jsonErrorHandler };
|
|
1
|
+
var p=Object.defineProperty;var a=(e,r)=>p(e,"name",{value:r,configurable:!0});import{getReasonPhrase as u}from"http-status-codes";import{a as f}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{s as n}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as i}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,l=a((e,r)=>g(e,"name",{value:r,configurable:!0}),"n");const h=l((e={})=>async(r,m,s)=>{f(s,r),i(s,r);const{statusCode:o}=s,t=u(o)||"An error occurred";if(e.formatter){const c=await e.formatter({error:r,reasonPhrase:t,request:m,response:s,statusCode:o});n(s,c);return}const{expose:d}=r;n(s,{message:r.message||t,error:t,statusCode:o,...d?{stack:r.stack}:{}})},"jsonErrorHandler");export{h as jsonErrorHandler};
|
|
@@ -1,46 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getReasonPhrase } from 'http-status-codes';
|
|
3
|
-
import tsJapi from 'ts-japi';
|
|
4
|
-
import { a as addStatusCodeToResponse } from '../packem_shared/add-status-code-to-response-DdfxTQsK.js';
|
|
5
|
-
import { s as sendJson } from '../packem_shared/send-json-o-t1rNfw.js';
|
|
6
|
-
import { s as setErrorHeaders } from '../packem_shared/set-error-headers-B6ZeX5k4.js';
|
|
7
|
-
|
|
8
|
-
var __defProp = Object.defineProperty;
|
|
9
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
-
const defaultTitle = "An error occurred";
|
|
11
|
-
const jsonapiErrorHandler = /* @__PURE__ */ __name((error, _request, response) => {
|
|
12
|
-
addStatusCodeToResponse(response, error);
|
|
13
|
-
setErrorHeaders(response, error);
|
|
14
|
-
if (error instanceof tsJapi.JapiError || tsJapi.JapiError.isLikeJapiError(error)) {
|
|
15
|
-
const serializer = new tsJapi.ErrorSerializer();
|
|
16
|
-
sendJson(response, serializer.serialize(error));
|
|
17
|
-
} else if (isHttpError(error)) {
|
|
18
|
-
const statusCode = "statusCode" in error && typeof error.statusCode === "number" ? error.statusCode : "status" in error && typeof error.status === "number" ? error.status : response.statusCode;
|
|
19
|
-
const title = "title" in error && typeof error.title === "string" ? error.title : void 0;
|
|
20
|
-
const message = "message" in error && typeof error.message === "string" ? error.message : "";
|
|
21
|
-
sendJson(response, {
|
|
22
|
-
errors: [
|
|
23
|
-
{
|
|
24
|
-
code: statusCode ?? response.statusCode,
|
|
25
|
-
title: title || getReasonPhrase(statusCode) || defaultTitle,
|
|
26
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
27
|
-
detail: message
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
});
|
|
31
|
-
} else {
|
|
32
|
-
const { message } = error;
|
|
33
|
-
sendJson(response, {
|
|
34
|
-
errors: [
|
|
35
|
-
{
|
|
36
|
-
code: "500",
|
|
37
|
-
title: getReasonPhrase(response.statusCode) || defaultTitle,
|
|
38
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
39
|
-
detail: message
|
|
40
|
-
}
|
|
41
|
-
]
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}, "jsonapiErrorHandler");
|
|
45
|
-
|
|
46
|
-
export { jsonapiErrorHandler as default };
|
|
1
|
+
var u=Object.defineProperty;var i=(e,s)=>u(e,"name",{value:s,configurable:!0});import{isHttpError as f}from"http-errors";import{getReasonPhrase as n}from"http-status-codes";import a from"ts-japi";import{a as l}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{s as t}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as c}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,C=i((e,s)=>g(e,"name",{value:s,configurable:!0}),"n");const d="An error occurred",H=C((e,s,r)=>{if(l(r,e),c(r,e),e instanceof a.JapiError||a.JapiError.isLikeJapiError(e)){const o=new a.ErrorSerializer;t(r,o.serialize(e))}else if(f(e)){const o="statusCode"in e&&typeof e.statusCode=="number"?e.statusCode:"status"in e&&typeof e.status=="number"?e.status:r.statusCode,m="title"in e&&typeof e.title=="string"?e.title:void 0,p="message"in e&&typeof e.message=="string"?e.message:"";t(r,{errors:[{code:o??r.statusCode,title:m||n(o)||d,detail:p}]})}else{const{message:o}=e;t(r,{errors:[{code:"500",title:n(r.statusCode)||d,detail:o}]})}},"jsonapiErrorHandler");export{H as default};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
import { a as ErrorHandler } from '../packem_shared/types.d-
|
|
2
|
+
import { a as ErrorHandler } from '../packem_shared/types.d-BQZBUb3b.js';
|
|
3
3
|
|
|
4
4
|
type JsonpErrorBody = Record<string, unknown> | unknown[];
|
|
5
|
-
type JsonpErrorFormatter = (
|
|
5
|
+
type JsonpErrorFormatter = (parameters: {
|
|
6
6
|
error: Error;
|
|
7
|
+
reasonPhrase: string;
|
|
7
8
|
request: IncomingMessage;
|
|
8
9
|
response: ServerResponse;
|
|
9
|
-
reasonPhrase: string;
|
|
10
10
|
statusCode: number;
|
|
11
11
|
}) => JsonpErrorBody | Promise<JsonpErrorBody>;
|
|
12
12
|
type JsonpErrorHandlerOptions = {
|
|
@@ -1,36 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as addStatusCodeToResponse } from '../packem_shared/add-status-code-to-response-DdfxTQsK.js';
|
|
3
|
-
import { s as setErrorHeaders } from '../packem_shared/set-error-headers-B6ZeX5k4.js';
|
|
4
|
-
|
|
5
|
-
var __defProp = Object.defineProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
const defaultCallbackParam = "callback";
|
|
8
|
-
const jsonpErrorHandler = /* @__PURE__ */ __name((options = {}) => {
|
|
9
|
-
return async (error, request, response) => {
|
|
10
|
-
addStatusCodeToResponse(response, error);
|
|
11
|
-
setErrorHeaders(response, error);
|
|
12
|
-
const statusCode = response.statusCode;
|
|
13
|
-
const reasonPhrase = getReasonPhrase(statusCode) || "An error occurred";
|
|
14
|
-
const url = new URL(request.url ?? "http://localhost", "http://localhost");
|
|
15
|
-
const callbackParamName = options.callbackParamName || defaultCallbackParam;
|
|
16
|
-
const callbackName = url.searchParams.get(callbackParamName) || "callback";
|
|
17
|
-
let payload;
|
|
18
|
-
if (options.formatter) {
|
|
19
|
-
payload = await options.formatter({ error, request, response, reasonPhrase, statusCode });
|
|
20
|
-
} else {
|
|
21
|
-
const expose = error.expose;
|
|
22
|
-
payload = {
|
|
23
|
-
statusCode,
|
|
24
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
25
|
-
error: reasonPhrase,
|
|
26
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
27
|
-
message: error.message || reasonPhrase,
|
|
28
|
-
...expose ? { stack: error.stack } : {}
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
response.setHeader("content-type", "application/javascript; charset=utf-8");
|
|
32
|
-
response.end(`${callbackName}(${JSON.stringify(payload)});`);
|
|
33
|
-
};
|
|
34
|
-
}, "jsonpErrorHandler");
|
|
35
|
-
|
|
36
|
-
export { jsonpErrorHandler };
|
|
1
|
+
var i=Object.defineProperty;var n=(e,a)=>i(e,"name",{value:a,configurable:!0});import{getReasonPhrase as f}from"http-status-codes";import{a as u}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{a as h}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,b=n((e,a)=>g(e,"name",{value:a,configurable:!0}),"c");const k="callback",C=b((e={})=>async(a,c,t)=>{u(t,a),h(t,a);const{statusCode:r}=t,s=f(r)||"An error occurred",l=new URL(c.url??"http://localhost","http://localhost"),p=e.callbackParamName||k,m=l.searchParams.get(p)||"callback";let o;if(e.formatter)o=await e.formatter({error:a,reasonPhrase:s,request:c,response:t,statusCode:r});else{const{expose:d}=a;o={message:a.message||s,error:s,statusCode:r,...d?{stack:a.stack}:{}}}t.setHeader("content-type","application/javascript; charset=utf-8"),t.end(`${m}(${JSON.stringify(o)});`)},"jsonpErrorHandler");export{C as jsonpErrorHandler};
|
|
@@ -1,53 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getReasonPhrase } from 'http-status-codes';
|
|
3
|
-
import { a as addStatusCodeToResponse } from '../packem_shared/add-status-code-to-response-DdfxTQsK.js';
|
|
4
|
-
import { s as sendJson } from '../packem_shared/send-json-o-t1rNfw.js';
|
|
5
|
-
import { s as setErrorHeaders } from '../packem_shared/set-error-headers-B6ZeX5k4.js';
|
|
6
|
-
|
|
7
|
-
var __defProp = Object.defineProperty;
|
|
8
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
-
const defaultType = "about:blank";
|
|
10
|
-
const defaultTitle = "An error occurred";
|
|
11
|
-
const problemErrorHandler = /* @__PURE__ */ __name((error, _request, response) => {
|
|
12
|
-
const { message, stack } = error;
|
|
13
|
-
if (isHttpError(error)) {
|
|
14
|
-
const expose = "expose" in error ? error.expose : void 0;
|
|
15
|
-
const statusCode = "statusCode" in error && typeof error.statusCode === "number" ? error.statusCode : "status" in error && typeof error.status === "number" ? error.status : response.statusCode;
|
|
16
|
-
const title = "title" in error && typeof error.title === "string" ? error.title : void 0;
|
|
17
|
-
const type = "type" in error && typeof error.type === "string" ? error.type : void 0;
|
|
18
|
-
response.statusCode = statusCode;
|
|
19
|
-
setErrorHeaders(response, error);
|
|
20
|
-
sendJson(
|
|
21
|
-
response,
|
|
22
|
-
{
|
|
23
|
-
type: type || defaultType,
|
|
24
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
25
|
-
title: title || getReasonPhrase(statusCode) || defaultTitle,
|
|
26
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
27
|
-
status: statusCode,
|
|
28
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
29
|
-
detail: message,
|
|
30
|
-
...expose ? { trace: stack } : {}
|
|
31
|
-
},
|
|
32
|
-
"application/problem+json"
|
|
33
|
-
);
|
|
34
|
-
} else {
|
|
35
|
-
addStatusCodeToResponse(response, error);
|
|
36
|
-
sendJson(
|
|
37
|
-
response,
|
|
38
|
-
{
|
|
39
|
-
type: defaultType,
|
|
40
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
41
|
-
title: getReasonPhrase(response.statusCode) || defaultTitle,
|
|
42
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
43
|
-
status: response.statusCode,
|
|
44
|
-
// eslint-disable-next-line perfectionist/sort-objects
|
|
45
|
-
detail: message,
|
|
46
|
-
...error.expose ? { trace: stack } : {}
|
|
47
|
-
},
|
|
48
|
-
"application/problem+json"
|
|
49
|
-
);
|
|
50
|
-
}
|
|
51
|
-
}, "problemErrorHandler");
|
|
52
|
-
|
|
53
|
-
export { problemErrorHandler as default };
|
|
1
|
+
var c=Object.defineProperty;var i=(e,o)=>c(e,"name",{value:o,configurable:!0});import{isHttpError as y}from"http-errors";import{getReasonPhrase as p}from"http-status-codes";import{a as b}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{s as n}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as C}from"../packem_shared/set-error-headers-DT9rVGtW.js";var v=Object.defineProperty,g=i((e,o)=>v(e,"name",{value:o,configurable:!0}),"i");const d="about:blank",u="An error occurred",R=g((e,o,t)=>{const{message:a,stack:r}=e;if(y(e)){const l="expose"in e?e.expose:void 0,s="statusCode"in e&&typeof e.statusCode=="number"?e.statusCode:"status"in e&&typeof e.status=="number"?e.status:t.statusCode,m="title"in e&&typeof e.title=="string"?e.title:void 0,f="type"in e&&typeof e.type=="string"?e.type:void 0;t.statusCode=s,C(t,e),n(t,{type:f||d,title:m||p(s)||u,status:s,detail:a,...l?{trace:r}:{}},"application/problem+json")}else b(t,e),n(t,{type:d,title:p(t.statusCode)||u,status:t.statusCode,detail:a,...e.expose?{trace:r}:{}},"application/problem+json")},"problemErrorHandler");export{R as default};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
import { a as ErrorHandler } from '../packem_shared/types.d-
|
|
2
|
+
import { a as ErrorHandler } from '../packem_shared/types.d-BQZBUb3b.js';
|
|
3
3
|
|
|
4
|
-
type TextErrorFormatter = (
|
|
4
|
+
type TextErrorFormatter = (parameters: {
|
|
5
5
|
error: Error;
|
|
6
|
+
reasonPhrase: string;
|
|
6
7
|
request: IncomingMessage;
|
|
7
8
|
response: ServerResponse;
|
|
8
|
-
reasonPhrase: string;
|
|
9
9
|
statusCode: number;
|
|
10
10
|
}) => string | Promise<string>;
|
|
11
11
|
type TextErrorHandlerOptions = {
|
|
@@ -1,28 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import { a as addStatusCodeToResponse } from '../packem_shared/add-status-code-to-response-DdfxTQsK.js';
|
|
3
|
-
import { s as setErrorHeaders } from '../packem_shared/set-error-headers-B6ZeX5k4.js';
|
|
1
|
+
var f=Object.defineProperty;var d=(r,e)=>f(r,"name",{value:e,configurable:!0});import{getReasonPhrase as i}from"http-status-codes";import{a as u}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{a as l}from"../packem_shared/set-error-headers-DT9rVGtW.js";var x=Object.defineProperty,v=d((r,e)=>x(r,"name",{value:e,configurable:!0}),"m");const E=v((r={})=>async(e,c,t)=>{u(t,e),l(t,e);const{statusCode:o}=t,a=i(o)||"Error";if(t.setHeader("content-type","text/plain; charset=utf-8"),r.formatter){const p=await r.formatter({error:e,reasonPhrase:a,request:c,response:t,statusCode:o});t.end(p);return}const s=e.message||a,{expose:m}=e,n=m?e.stack:void 0;t.end(n?`${s}
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
const textErrorHandler = /* @__PURE__ */ __name((options = {}) => {
|
|
8
|
-
return async (error, request, response) => {
|
|
9
|
-
addStatusCodeToResponse(response, error);
|
|
10
|
-
setErrorHeaders(response, error);
|
|
11
|
-
const statusCode = response.statusCode;
|
|
12
|
-
const reasonPhrase = getReasonPhrase(statusCode) || "Error";
|
|
13
|
-
response.setHeader("content-type", "text/plain; charset=utf-8");
|
|
14
|
-
if (options.formatter) {
|
|
15
|
-
const text = await options.formatter({ error, request, response, reasonPhrase, statusCode });
|
|
16
|
-
response.end(text);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const message = error.message || reasonPhrase;
|
|
20
|
-
const expose = error.expose;
|
|
21
|
-
const stack = expose ? error.stack : void 0;
|
|
22
|
-
response.end(stack ? `${message}
|
|
23
|
-
|
|
24
|
-
${stack}` : message);
|
|
25
|
-
};
|
|
26
|
-
}, "textErrorHandler");
|
|
27
|
-
|
|
28
|
-
export { textErrorHandler };
|
|
3
|
+
${n}`:s)},"textErrorHandler");export{E as textErrorHandler};
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
-
import { a as ErrorHandler } from '../packem_shared/types.d-
|
|
2
|
+
import { a as ErrorHandler } from '../packem_shared/types.d-BQZBUb3b.js';
|
|
3
3
|
|
|
4
4
|
type XmlErrorBody = Record<string, unknown> | unknown[];
|
|
5
|
-
type XmlErrorFormatter = (
|
|
5
|
+
type XmlErrorFormatter = (parameters: {
|
|
6
6
|
error: Error;
|
|
7
|
+
reasonPhrase: string;
|
|
7
8
|
request: IncomingMessage;
|
|
8
9
|
response: ServerResponse;
|
|
9
|
-
reasonPhrase: string;
|
|
10
10
|
statusCode: number;
|
|
11
11
|
}) => XmlErrorBody | Promise<XmlErrorBody>;
|
|
12
12
|
type ToXmlOptions = {
|
|
13
|
-
indent?: string;
|
|
14
|
-
header?: string | boolean;
|
|
15
|
-
attributeReplacements?: Record<string, string>;
|
|
16
|
-
attributeFilter?: (key: string, value: unknown) => boolean;
|
|
17
13
|
attributeExplicitTrue?: boolean;
|
|
14
|
+
attributeFilter?: (key: string, value: unknown) => boolean;
|
|
15
|
+
attributeReplacements?: Record<string, string>;
|
|
18
16
|
contentMap?: (content: string) => string;
|
|
19
17
|
contentReplacements?: Record<string, string>;
|
|
18
|
+
header?: string | boolean;
|
|
19
|
+
indent?: string;
|
|
20
20
|
selfCloseTags?: boolean;
|
|
21
21
|
};
|
|
22
22
|
type XmlErrorHandlerOptions = {
|
|
23
23
|
formatter?: XmlErrorFormatter;
|
|
24
|
-
xmlHeader?: boolean;
|
|
25
24
|
toXml?: ToXmlOptions;
|
|
25
|
+
xmlHeader?: boolean;
|
|
26
26
|
};
|
|
27
27
|
declare const xmlErrorHandler: (options?: XmlErrorHandlerOptions) => ErrorHandler;
|
|
28
28
|
|