From 66853c1c77daf043f5a56b7fdcf28ce655cac867 Mon Sep 17 00:00:00 2001 From: Eltrac Date: Mon, 25 Nov 2024 22:10:07 +0800 Subject: fix: 500 error caused by non-ASCII in HTTP headers --- api/headers.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 api/headers.js (limited to 'api/headers.js') diff --git a/api/headers.js b/api/headers.js new file mode 100644 index 00000000..9cbf6ac3 --- /dev/null +++ b/api/headers.js @@ -0,0 +1,13 @@ +// headers.js +export default (req, res) => { + const headers = res.headers(); + for (const key in headers) { + const value = headers[key]; + if (typeof value === 'string') { + headers[key] = value.replace(/[^\x00-\x7F]/g, (char) => { + return `%${char.charCodeAt(0).toString(16).toUpperCase()}`; + }); + } + } + return res; + }; \ No newline at end of file -- cgit v1.2.3