fix: handle /assets/ requests before it reaches orpc

This commit is contained in:
Amruth Pillai
2026-04-29 20:40:28 +02:00
parent 9048702cb8
commit b9894c687c
3 changed files with 23 additions and 3 deletions
-3
View File
@@ -15,9 +15,6 @@ type LoaderData = Omit<RouterOutput["resume"]["getBySlug"], "data"> & { data: Re
export const Route = createFileRoute("/$username/$slug")({
component: RouteComponent,
beforeLoad: async ({ location }) => {
console.log("/$username/$slug was invoked with pathname: ", location.pathname);
},
loader: async ({ context, params }) => {
const { username, slug } = params;
const resume = await context.queryClient.ensureQueryData(
+14
View File
@@ -0,0 +1,14 @@
import { describe, expect, it } from "vite-plus/test";
import { isReservedPathRequest } from "./server";
describe("isReservedPathRequest", () => {
it("detects asset requests that should not be handled as public resumes", () => {
expect(isReservedPathRequest(new Request("https://example.com/assets/index-BNEstQDj.js"))).toBe(true);
expect(isReservedPathRequest(new Request("https://example.com/assets/_slug-BJEV_y42.js"))).toBe(true);
});
it("allows public resume routes", () => {
expect(isReservedPathRequest(new Request("https://example.com/amruthpillai/reactive-resume"))).toBe(false);
});
});
+9
View File
@@ -14,8 +14,17 @@ function setIfAbsent(headers: Headers, key: string, value: string) {
if (!headers.has(key)) headers.set(key, value);
}
const reservedPathPrefixes = ["/assets/"];
export function isReservedPathRequest(request: Request) {
const { pathname } = new URL(request.url);
return reservedPathPrefixes.some((prefix) => pathname.startsWith(prefix));
}
export default createServerEntry({
async fetch(request) {
if (isReservedPathRequest(request)) return new Response(null, { status: 404 });
const response = await handler.fetch(request);
const headers = new Headers(response.headers);
const contentType = headers.get("content-type") ?? "";