oRPC Request Headers Plugin

Access request headers in oRPC.

SKILL.md

GitHub

Request Headers Plugin

Injects a reqHeaders instance into the context, enabling you to read incoming request headers.

Context Setup

import { getCookie } from '@orpc/server/helpers'
import { RequestHeadersPluginContext } from '@orpc/server/plugins'

interface ORPCContext extends RequestHeadersPluginContext {}

const base = os.$context<ORPCContext>()

const example = base
  .use(({ context, next }) => {
    const sessionId = getCookie(context.reqHeaders, 'session_id')
    return next()
  })
  .handler(({ context }) => {
    const userAgent = context.reqHeaders?.get('user-agent')
    return { userAgent }
  })

reqHeaders can be undefined to allow procedures to run safely without RequestHeadersPlugin, such as in direct calls.

Combine with Cookie Helpers for streamlined cookie management.

Handler Setup

import { RequestHeadersPlugin } from '@orpc/server/plugins'

const handler = new RPCHandler(router, {
  plugins: [new RequestHeadersPlugin()],
})

The handler can be any supported oRPC handler.