-
Notifications
You must be signed in to change notification settings - Fork 3
/
hooks.server.ts
32 lines (27 loc) · 833 Bytes
/
hooks.server.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { appRouter } from "$lib/server/TRPCAppRouter"
import type { Handle } from "@sveltejs/kit"
import type { HTTPHeaders } from "@trpc/client"
import { resolveHTTPResponse } from "@trpc/server/http"
export const handle: Handle = async ({ event, resolve }) => {
if (event.url.pathname.startsWith("/api/trpc/")) {
const result = await resolveHTTPResponse({
createContext: async () => ({ event }),
path: event.url.pathname.substring("/api/trpc/".length),
req: {
body: await event.request.text(),
headers: <HTTPHeaders><unknown>event.request.headers,
method: event.request.method,
query: event.url.searchParams
},
router: appRouter
})
return new Response(
result.body,
{
headers: <HeadersInit><unknown>result.headers,
status: result.status
}
)
}
return resolve(event)
}