summaryrefslogtreecommitdiff
path: root/api/headers.js
diff options
context:
space:
mode:
authorEltrac <eltrac233@gmail.com>2024-11-25 22:10:07 +0800
committerEltrac <eltrac233@gmail.com>2024-11-25 22:10:07 +0800
commit66853c1c77daf043f5a56b7fdcf28ce655cac867 (patch)
treea2c9a336f6185d2ddec58a530a9b245408a44654 /api/headers.js
parent5c60cbd822a128be9bd6d6158a8a158cabcc08b9 (diff)
fix: 500 error caused by non-ASCII in HTTP headers
Diffstat (limited to 'api/headers.js')
-rw-r--r--api/headers.js13
1 files changed, 13 insertions, 0 deletions
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