Requestkontext
Inofficiell Beta-översättning
Denna sida har översatts av PageTurner AI (beta). Inte officiellt godkänd av projektet. Hittade du ett fel? Rapportera problem →
Funktionen createContext() anropas för varje request och resultatet skickas vidare till alla resolvers. Du kan använda detta för att skicka kontextuell data ner till resolvers.
Exempelkod
server/context.tstsimport * as trpc from '@trpc/server';import * as trpcNext from '@trpc/server/adapters/next';// The app's context - is generated for each incoming requestexport async function createContext(opts?: trpcNext.CreateNextContextOptions) {// Create your context based on the request object// Will be available as `ctx` in all your resolvers// This is just an example of something you'd might want to do in your ctx fnasync function getUserFromHeader() {if (opts?.req.headers.authorization) {// const user = await decodeJwtToken(req.headers.authorization.split(' ')[1])// return user;}return null;}const user = await getUserFromHeader();return {user,};}type Context = trpc.inferAsyncReturnType<typeof createContext>;// Helper function to create a router with your app's contextexport function createRouter() {return trpc.router<Context>();}
server/context.tstsimport * as trpc from '@trpc/server';import * as trpcNext from '@trpc/server/adapters/next';// The app's context - is generated for each incoming requestexport async function createContext(opts?: trpcNext.CreateNextContextOptions) {// Create your context based on the request object// Will be available as `ctx` in all your resolvers// This is just an example of something you'd might want to do in your ctx fnasync function getUserFromHeader() {if (opts?.req.headers.authorization) {// const user = await decodeJwtToken(req.headers.authorization.split(' ')[1])// return user;}return null;}const user = await getUserFromHeader();return {user,};}type Context = trpc.inferAsyncReturnType<typeof createContext>;// Helper function to create a router with your app's contextexport function createRouter() {return trpc.router<Context>();}