This repo is no longer under development, please use MediaKit - https://github.com/solidjs-community/mediakit/tree/main/packages/prpc
Write server code in frontend files with built in colocation, middlewares, schema validation and more, everything is type safed and works with SolidStart
Read more at our docs
import{middleware$,query$,response$,error$}from'@prpc/solid'import{z}from'zod'consttestMw=middleware$(async({ request$ })=>{constua=request$.headers.get('user-agent')console.log('middleware called on server ',ua)if(ua?.includes('bot')){returnerror$('Bots are not allowed')}return{
ua,}})constmyQuery=query$({queryFn: ({ request$, ctx$, payload })=>{console.log('queryFn called on server ',ctx$.ua===request$.headers.get('user-agent'),payload)returnresponse$(payload.num/2)},key: 'testQuery',middlewares: [testMw],schema: z.object({num: z.number(),}),})