oRPC Elysia Adapter

Use oRPC inside an Elysia project.

SKILL.md

GitHub

Elysia Adapter

Elysia is a high-performance Bun web framework following the Fetch API.

Basic

import { Elysia } from 'elysia'
import { RPCHandler } from '@orpc/server/fetch'
import { onError } from '@orpc/server'

const handler = new RPCHandler(router, {
  interceptors: [onError(e => console.error(e))],
})

const app = new Elysia()
  .all('/rpc*', async ({ request }: { request: Request }) => {
    const { response } = await handler.handle(request, { prefix: '/rpc' })
    return response ?? new Response('Not Found', { status: 404 })
  }, {
    parse: 'none' // Disable Elysia body parser to prevent "body already used" error
  })
  .listen(3000)

The handler can be any supported oRPC handler — RPCHandler, OpenAPIHandler, or a custom handler.