core/apps/webapp/app/routes/ph-relay-core20.$.tsx
Harshith Mullapudi 6b165bfa7f fix: onboarding
2025-09-08 23:45:54 +05:30

40 lines
1.0 KiB
TypeScript

import type { ActionFunction, LoaderFunction } from "@remix-run/node";
const API_HOST = "us.i.posthog.com";
const ASSET_HOST = "us-assets.i.posthog.com";
const posthogProxy = async (request: Request) => {
const url = new URL(request.url);
const hostname = url.pathname.startsWith("/ph-relay-core20/static/")
? ASSET_HOST
: API_HOST;
const newUrl = new URL(url);
newUrl.protocol = "https";
newUrl.hostname = hostname;
newUrl.port = "443";
newUrl.pathname = newUrl.pathname.replace(/^\/ph-relay-core20/, "");
const headers = new Headers(request.headers);
headers.set("host", hostname);
const response = await fetch(newUrl, {
duplex: "half",
method: request.method,
headers,
body: request.body,
});
return new Response(response.body, {
status: response.status,
statusText: response.statusText,
headers: response.headers,
});
};
export const loader: LoaderFunction = async ({ request }) =>
posthogProxy(request);
export const action: ActionFunction = async ({ request }) =>
posthogProxy(request);