mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-16 12:37:20 +00:00
26 lines
680 B
TypeScript
26 lines
680 B
TypeScript
import type { IncomingMessage } from "node:http";
|
|
|
|
export function nodeRequestToRequest(req: IncomingMessage): Request {
|
|
let protocol = "http";
|
|
try {
|
|
protocol = req.headers["x-forwarded-proto"] as string;
|
|
} catch (e) {}
|
|
const host = req.headers.host;
|
|
const url = `${protocol}://${host}${req.url}`;
|
|
const headers = new Headers();
|
|
|
|
for (const [key, value] of Object.entries(req.headers)) {
|
|
if (Array.isArray(value)) {
|
|
headers.append(key, value.join(", "));
|
|
} else if (value) {
|
|
headers.append(key, value);
|
|
}
|
|
}
|
|
|
|
const method = req.method || "GET";
|
|
return new Request(url, {
|
|
method,
|
|
headers,
|
|
});
|
|
}
|