remove cf internal headers before proxying

This commit is contained in:
mrjvs
2023-10-16 20:01:29 +02:00
parent 714b91ef8c
commit f890f59d43
2 changed files with 28 additions and 1 deletions

View File

@@ -1,3 +1,13 @@
import { H3Event } from 'h3';
const blacklistedHeaders = [
'cf-connecting-ip',
'cf-worker',
'cf-ray',
'cf-visitor',
'cf-ew-via',
];
function copyHeader(
headers: Headers,
outputHeaders: Headers,
@@ -44,3 +54,15 @@ export function getAfterResponseHeaders(
'X-Final-Destination': finalUrl,
};
}
export function removeHeadersFromEvent(event: H3Event, key: string) {
const normalizedKey = key.toLowerCase();
if (event.node.req.headers[normalizedKey])
delete event.node.req.headers[normalizedKey];
}
export function cleanupHeadersBeforeProxy(event: H3Event) {
blacklistedHeaders.forEach((key) => {
removeHeadersFromEvent(event, key);
});
}