diff options
| author | Eltrac <eltrac233@gmail.com> | 2024-11-25 22:10:07 +0800 |
|---|---|---|
| committer | Eltrac <eltrac233@gmail.com> | 2024-11-25 22:10:07 +0800 |
| commit | 66853c1c77daf043f5a56b7fdcf28ce655cac867 (patch) | |
| tree | a2c9a336f6185d2ddec58a530a9b245408a44654 /api/headers.js | |
| parent | 5c60cbd822a128be9bd6d6158a8a158cabcc08b9 (diff) | |
fix: 500 error caused by non-ASCII in HTTP headers
Diffstat (limited to 'api/headers.js')
| -rw-r--r-- | api/headers.js | 13 |
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 |
