initial commit for proxy-bun
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import {
|
||||
normalizeTargetUrl,
|
||||
stripRelayHeaders,
|
||||
buildRelayRequest,
|
||||
createRelayResponse,
|
||||
} from "./relay-utils";
|
||||
|
||||
export const config = { runtime: "edge" };
|
||||
|
||||
export default async function handler(req: Request): Promise<Response> {
|
||||
const target = req.headers.get("x-relay-target");
|
||||
const relayPath = req.headers.get("x-relay-path") || "/";
|
||||
|
||||
const targetUrl = normalizeTargetUrl(target, relayPath);
|
||||
if (!targetUrl) {
|
||||
return new Response(JSON.stringify({ error: "Missing x-relay-target header" }), {
|
||||
status: 400,
|
||||
headers: { "content-type": "application/json" },
|
||||
});
|
||||
}
|
||||
|
||||
const headers = stripRelayHeaders(new Headers(req.headers));
|
||||
const fetchOptions = buildRelayRequest(req, targetUrl, headers);
|
||||
|
||||
const response = await fetch(targetUrl, fetchOptions);
|
||||
return createRelayResponse(response);
|
||||
}
|
||||
Reference in New Issue
Block a user