oRPC Response Headers Plugin

Set response headers in oRPC.

SKILL.md

GitHub

Response Headers Plugin

Injects a resHeaders instance into the context, enabling you to modify response headers.

Context Setup

import { setCookie } from '@orpc/server/helpers'
import { ResponseHeadersPluginContext } from '@orpc/server/plugins'

interface ORPCContext extends ResponseHeadersPluginContext {}

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

const example = base
  .use(({ context, next }) => {
    context.resHeaders?.set('x-custom-header', 'value')
    return next()
  })
  .handler(({ context }) => {
    setCookie(context.resHeaders, 'session_id', 'abc123', {
      secure: true,
      maxAge: 3600
    })
  })

resHeaders can be undefined to allow procedures to run safely without the plugin (e.g., direct calls).

Combine with Cookie Helpers for streamlined cookie management.

Handler Setup

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

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