Contexto de la solicitud
Traducción Beta No Oficial
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
La función createContext() se llama para cada solicitud y el resultado se propaga a todos los resolvers. Puedes usar esto para pasar datos contextuales a los resolvers.
Código de ejemplo
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>();}