summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/headers.js13
-rw-r--r--vercel.json20
2 files changed, 33 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
diff --git a/vercel.json b/vercel.json
new file mode 100644
index 00000000..64a090ca
--- /dev/null
+++ b/vercel.json
@@ -0,0 +1,20 @@
+{
+ "version": 2,
+ "functions": {
+ "api/headers.js": {
+ "runtime": "nodejs14.x",
+ "includeFiles": "api/headers.js"
+ }
+ },
+ "headers": [
+ {
+ "source": "/(.*)",
+ "headers": [
+ {
+ "key": "X-Headers-Source",
+ "value": "headers.js"
+ }
+ ]
+ }
+ ]
+ } \ No newline at end of file