import { applyWSSHandler } from '@trpc/server/adapters/ws';
import type { ServerWebSocket } from 'bun';
...
const app = new Hono();
const { websocket } = createBunWebSocket<ServerWebSocket>();
...
app.use(
'/trpc/*',
trpcServer({
router: appRouter,
createContext: (_opts, c) => createTRPCContext(c.req.raw.headers),
})
);
applyWSSHandler({
wss: websocket,
router: appRouter,
createContext: (_opts) => createTRPCContext(_opts.req.headers),
keepAlive: {
enabled: true,
pingMs: 30000,
pongWaitMs: 5000,
},
});
...
export default {
fetch: app.fetch,
websocket,
};
import { applyWSSHandler } from '@trpc/server/adapters/ws';
import type { ServerWebSocket } from 'bun';
...
const app = new Hono();
const { websocket } = createBunWebSocket<ServerWebSocket>();
...
app.use(
'/trpc/*',
trpcServer({
router: appRouter,
createContext: (_opts, c) => createTRPCContext(c.req.raw.headers),
})
);
applyWSSHandler({
wss: websocket,
router: appRouter,
createContext: (_opts) => createTRPCContext(_opts.req.headers),
keepAlive: {
enabled: true,
pingMs: 30000,
pongWaitMs: 5000,
},
});
...
export default {
fetch: app.fetch,
websocket,
};