Contexte de requête
Traduction Bêta Non Officielle
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
La fonction createContext() est appelée pour chaque requête, et son résultat est propagé à tous les résolveurs. Vous pouvez l'utiliser pour transmettre des données contextuelles aux résolveurs.
Exemple de code
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>();}