[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-trpc-adapter-standalone":3,"mdc--jn9tp0-key":40,"related-org-trpc-adapter-standalone":3430,"related-repo-trpc-adapter-standalone":3586},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":35,"sourceUrl":38,"mdContent":39},"adapter-standalone","mount tRPC on Node.js servers","Mount tRPC on Node.js built-in HTTP server with createHTTPServer() from @trpc\u002Fserver\u002Fadapters\u002Fstandalone, createHTTPHandler() for custom http.createServer, createHTTP2Handler() for HTTP\u002F2 with TLS. Configure basePath to slice URL prefix, CORS via the cors npm package passed as middleware option. CreateHTTPContextOptions provides req and res for context creation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"trpc","tRPC","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftrpc.png",[12,16,19,20],{"name":13,"slug":14,"type":15},"Backend","backend","tag",{"name":17,"slug":18,"type":15},"Node.js","node-js",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"API Development","api-development",40424,"https:\u002F\u002Fgithub.com\u002Ftrpc\u002Ftrpc","2026-07-18T05:46:58.093869",null,1636,[29,30,31,32,33,34],"api","next","nextjs","prisma","react","typescript",{"repoUrl":24,"stars":23,"forks":27,"topics":36,"description":37},[29,30,31,32,33,34],"🧙‍♀️  Move Fast and Break Nothing. End-to-end typesafe APIs made easy. ","https:\u002F\u002Fgithub.com\u002Ftrpc\u002Ftrpc\u002Ftree\u002FHEAD\u002Fpackages\u002Fserver\u002Fskills\u002Fadapter-standalone","---\nname: adapter-standalone\ndescription: >\n  Mount tRPC on Node.js built-in HTTP server with createHTTPServer() from\n  @trpc\u002Fserver\u002Fadapters\u002Fstandalone, createHTTPHandler() for custom http.createServer,\n  createHTTP2Handler() for HTTP\u002F2 with TLS. Configure basePath to slice URL prefix,\n  CORS via the cors npm package passed as middleware option. CreateHTTPContextOptions\n  provides req and res for context creation.\ntype: core\nlibrary: trpc\nlibrary_version: '11.16.0'\nrequires:\n  - server-setup\nsources:\n  - www\u002Fdocs\u002Fserver\u002Fadapters\u002Fstandalone.md\n  - examples\u002Fstandalone-server\u002Fsrc\u002Fserver.ts\n---\n\n# tRPC — Adapter: Standalone\n\n## Setup\n\n```ts\n\u002F\u002F server.ts\nimport { initTRPC } from '@trpc\u002Fserver';\nimport { createHTTPServer } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport { z } from 'zod';\n\nconst t = initTRPC.create();\n\nconst appRouter = t.router({\n  greet: t.procedure\n    .input(z.object({ name: z.string() }))\n    .query(({ input }) => ({ greeting: `Hello, ${input.name}!` })),\n});\n\nexport type AppRouter = typeof appRouter;\n\ncreateHTTPServer({\n  router: appRouter,\n  createContext() {\n    return {};\n  },\n}).listen(3000);\n\nconsole.log('Listening on http:\u002F\u002Flocalhost:3000');\n```\n\n## Core Patterns\n\n### CORS with the cors package\n\n```ts\nimport { createHTTPServer } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport cors from 'cors';\nimport { createContext } from '.\u002Fcontext';\nimport { appRouter } from '.\u002Frouter';\n\ncreateHTTPServer({\n  middleware: cors({ origin: 'http:\u002F\u002Flocalhost:5173' }),\n  router: appRouter,\n  createContext,\n}).listen(3000);\n```\n\nInstall CORS support: `npm install cors @types\u002Fcors`\n\n### Custom HTTP server with createHTTPHandler\n\n```ts\nimport { createServer } from 'http';\nimport { createHTTPHandler } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport { appRouter } from '.\u002Frouter';\n\nconst handler = createHTTPHandler({\n  router: appRouter,\n  createContext() {\n    return {};\n  },\n});\n\ncreateServer((req, res) => {\n  if (req.url?.startsWith('\u002Fhealth')) {\n    res.writeHead(200);\n    res.end('OK');\n    return;\n  }\n  handler(req, res);\n}).listen(3000);\n```\n\n### basePath for URL prefix stripping\n\n```ts\nimport { createServer } from 'http';\nimport { createHTTPHandler } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport { appRouter } from '.\u002Frouter';\n\nconst handler = createHTTPHandler({\n  router: appRouter,\n  basePath: '\u002Ftrpc\u002F',\n});\n\ncreateServer((req, res) => {\n  if (req.url?.startsWith('\u002Ftrpc\u002F')) {\n    return handler(req, res);\n  }\n  res.statusCode = 404;\n  res.end('Not Found');\n}).listen(3000);\n```\n\nThe `basePath` option strips the prefix before routing, so `\u002Ftrpc\u002Fgreet` resolves to the `greet` procedure.\n\n### HTTP\u002F2 with createHTTP2Handler\n\n```ts\nimport http2 from 'http2';\nimport { readFileSync } from 'node:fs';\nimport { createHTTP2Handler } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport type { CreateHTTP2ContextOptions } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport { appRouter } from '.\u002Frouter';\n\nconst tlsKey = readFileSync('.\u002Fcerts\u002Fserver.key');\nconst tlsCert = readFileSync('.\u002Fcerts\u002Fserver.crt');\n\nasync function createContext(opts: CreateHTTP2ContextOptions) {\n  return {};\n}\n\nconst handler = createHTTP2Handler({\n  router: appRouter,\n  createContext,\n});\n\nconst server = http2.createSecureServer(\n  { key: tlsKey, cert: tlsCert },\n  (req, res) => {\n    handler(req, res);\n  },\n);\n\nserver.listen(3001);\n```\n\n### Limiting batch size with maxBatchSize\n\n```ts\nimport { createHTTPServer } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport { appRouter } from '.\u002Frouter';\n\ncreateHTTPServer({\n  router: appRouter,\n  maxBatchSize: 10,\n}).listen(3000);\n```\n\nRequests batching more than `maxBatchSize` operations are rejected with a `400 Bad Request` error. Set `maxItems` on your client's `httpBatchLink` to the same value to avoid exceeding the limit.\n\n## Common Mistakes\n\n### HIGH No CORS configuration for cross-origin requests\n\nWrong:\n\n```ts\ncreateHTTPServer({\n  router: appRouter,\n  createContext() {\n    return {};\n  },\n}).listen(3000);\n```\n\nCorrect:\n\n```ts\nimport cors from 'cors';\n\ncreateHTTPServer({\n  middleware: cors({ origin: 'http:\u002F\u002Flocalhost:5173' }),\n  router: appRouter,\n  createContext() {\n    return {};\n  },\n}).listen(3000);\n```\n\nThe standalone adapter has no CORS handling by default. Cross-origin browser requests fail silently because preflight OPTIONS requests receive no CORS headers.\n\nSource: www\u002Fdocs\u002Fserver\u002Fadapters\u002Fstandalone.md\n\n## See Also\n\n- **server-setup** -- `initTRPC.create()`, router\u002Fprocedure definition, context\n- **adapter-express** -- alternative adapter when you need Express middleware ecosystem\n- **adapter-fetch** -- alternative adapter for edge\u002Fserverless runtimes\n- **subscriptions** -- adding real-time subscriptions to a standalone server\n",{"data":41,"body":49},{"name":4,"description":6,"type":42,"library":8,"library_version":43,"requires":44,"sources":46},"core","11.16.0",[45],"server-setup",[47,48],"www\u002Fdocs\u002Fserver\u002Fadapters\u002Fstandalone.md","examples\u002Fstandalone-server\u002Fsrc\u002Fserver.ts",{"type":50,"children":51},"root",[52,61,68,787,793,800,1107,1119,1125,1626,1632,2102,2131,2137,2797,2803,2985,3022,3028,3034,3039,3148,3153,3355,3360,3365,3371,3424],{"type":53,"tag":54,"props":55,"children":57},"element","h1",{"id":56},"trpc-adapter-standalone",[58],{"type":59,"value":60},"text","tRPC — Adapter: Standalone",{"type":53,"tag":62,"props":63,"children":65},"h2",{"id":64},"setup",[66],{"type":59,"value":67},"Setup",{"type":53,"tag":69,"props":70,"children":75},"pre",{"className":71,"code":72,"language":73,"meta":74,"style":74},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F server.ts\nimport { initTRPC } from '@trpc\u002Fserver';\nimport { createHTTPServer } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport { z } from 'zod';\n\nconst t = initTRPC.create();\n\nconst appRouter = t.router({\n  greet: t.procedure\n    .input(z.object({ name: z.string() }))\n    .query(({ input }) => ({ greeting: `Hello, ${input.name}!` })),\n});\n\nexport type AppRouter = typeof appRouter;\n\ncreateHTTPServer({\n  router: appRouter,\n  createContext() {\n    return {};\n  },\n}).listen(3000);\n\nconsole.log('Listening on http:\u002F\u002Flocalhost:3000');\n","ts","",[76],{"type":53,"tag":77,"props":78,"children":79},"code",{"__ignoreMap":74},[80,92,145,187,229,239,283,291,332,360,434,546,563,571,610,618,635,656,674,688,697,736,744],{"type":53,"tag":81,"props":82,"children":85},"span",{"class":83,"line":84},"line",1,[86],{"type":53,"tag":81,"props":87,"children":89},{"style":88},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[90],{"type":59,"value":91},"\u002F\u002F server.ts\n",{"type":53,"tag":81,"props":93,"children":95},{"class":83,"line":94},2,[96,102,108,114,119,124,129,135,140],{"type":53,"tag":81,"props":97,"children":99},{"style":98},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[100],{"type":59,"value":101},"import",{"type":53,"tag":81,"props":103,"children":105},{"style":104},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[106],{"type":59,"value":107}," {",{"type":53,"tag":81,"props":109,"children":111},{"style":110},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[112],{"type":59,"value":113}," initTRPC",{"type":53,"tag":81,"props":115,"children":116},{"style":104},[117],{"type":59,"value":118}," }",{"type":53,"tag":81,"props":120,"children":121},{"style":98},[122],{"type":59,"value":123}," from",{"type":53,"tag":81,"props":125,"children":126},{"style":104},[127],{"type":59,"value":128}," '",{"type":53,"tag":81,"props":130,"children":132},{"style":131},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[133],{"type":59,"value":134},"@trpc\u002Fserver",{"type":53,"tag":81,"props":136,"children":137},{"style":104},[138],{"type":59,"value":139},"'",{"type":53,"tag":81,"props":141,"children":142},{"style":104},[143],{"type":59,"value":144},";\n",{"type":53,"tag":81,"props":146,"children":148},{"class":83,"line":147},3,[149,153,157,162,166,170,174,179,183],{"type":53,"tag":81,"props":150,"children":151},{"style":98},[152],{"type":59,"value":101},{"type":53,"tag":81,"props":154,"children":155},{"style":104},[156],{"type":59,"value":107},{"type":53,"tag":81,"props":158,"children":159},{"style":110},[160],{"type":59,"value":161}," createHTTPServer",{"type":53,"tag":81,"props":163,"children":164},{"style":104},[165],{"type":59,"value":118},{"type":53,"tag":81,"props":167,"children":168},{"style":98},[169],{"type":59,"value":123},{"type":53,"tag":81,"props":171,"children":172},{"style":104},[173],{"type":59,"value":128},{"type":53,"tag":81,"props":175,"children":176},{"style":131},[177],{"type":59,"value":178},"@trpc\u002Fserver\u002Fadapters\u002Fstandalone",{"type":53,"tag":81,"props":180,"children":181},{"style":104},[182],{"type":59,"value":139},{"type":53,"tag":81,"props":184,"children":185},{"style":104},[186],{"type":59,"value":144},{"type":53,"tag":81,"props":188,"children":190},{"class":83,"line":189},4,[191,195,199,204,208,212,216,221,225],{"type":53,"tag":81,"props":192,"children":193},{"style":98},[194],{"type":59,"value":101},{"type":53,"tag":81,"props":196,"children":197},{"style":104},[198],{"type":59,"value":107},{"type":53,"tag":81,"props":200,"children":201},{"style":110},[202],{"type":59,"value":203}," z",{"type":53,"tag":81,"props":205,"children":206},{"style":104},[207],{"type":59,"value":118},{"type":53,"tag":81,"props":209,"children":210},{"style":98},[211],{"type":59,"value":123},{"type":53,"tag":81,"props":213,"children":214},{"style":104},[215],{"type":59,"value":128},{"type":53,"tag":81,"props":217,"children":218},{"style":131},[219],{"type":59,"value":220},"zod",{"type":53,"tag":81,"props":222,"children":223},{"style":104},[224],{"type":59,"value":139},{"type":53,"tag":81,"props":226,"children":227},{"style":104},[228],{"type":59,"value":144},{"type":53,"tag":81,"props":230,"children":232},{"class":83,"line":231},5,[233],{"type":53,"tag":81,"props":234,"children":236},{"emptyLinePlaceholder":235},true,[237],{"type":59,"value":238},"\n",{"type":53,"tag":81,"props":240,"children":242},{"class":83,"line":241},6,[243,249,254,259,263,268,274,279],{"type":53,"tag":81,"props":244,"children":246},{"style":245},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[247],{"type":59,"value":248},"const",{"type":53,"tag":81,"props":250,"children":251},{"style":110},[252],{"type":59,"value":253}," t ",{"type":53,"tag":81,"props":255,"children":256},{"style":104},[257],{"type":59,"value":258},"=",{"type":53,"tag":81,"props":260,"children":261},{"style":110},[262],{"type":59,"value":113},{"type":53,"tag":81,"props":264,"children":265},{"style":104},[266],{"type":59,"value":267},".",{"type":53,"tag":81,"props":269,"children":271},{"style":270},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[272],{"type":59,"value":273},"create",{"type":53,"tag":81,"props":275,"children":276},{"style":110},[277],{"type":59,"value":278},"()",{"type":53,"tag":81,"props":280,"children":281},{"style":104},[282],{"type":59,"value":144},{"type":53,"tag":81,"props":284,"children":286},{"class":83,"line":285},7,[287],{"type":53,"tag":81,"props":288,"children":289},{"emptyLinePlaceholder":235},[290],{"type":59,"value":238},{"type":53,"tag":81,"props":292,"children":294},{"class":83,"line":293},8,[295,299,304,308,313,317,322,327],{"type":53,"tag":81,"props":296,"children":297},{"style":245},[298],{"type":59,"value":248},{"type":53,"tag":81,"props":300,"children":301},{"style":110},[302],{"type":59,"value":303}," appRouter ",{"type":53,"tag":81,"props":305,"children":306},{"style":104},[307],{"type":59,"value":258},{"type":53,"tag":81,"props":309,"children":310},{"style":110},[311],{"type":59,"value":312}," t",{"type":53,"tag":81,"props":314,"children":315},{"style":104},[316],{"type":59,"value":267},{"type":53,"tag":81,"props":318,"children":319},{"style":270},[320],{"type":59,"value":321},"router",{"type":53,"tag":81,"props":323,"children":324},{"style":110},[325],{"type":59,"value":326},"(",{"type":53,"tag":81,"props":328,"children":329},{"style":104},[330],{"type":59,"value":331},"{\n",{"type":53,"tag":81,"props":333,"children":335},{"class":83,"line":334},9,[336,342,347,351,355],{"type":53,"tag":81,"props":337,"children":339},{"style":338},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[340],{"type":59,"value":341},"  greet",{"type":53,"tag":81,"props":343,"children":344},{"style":104},[345],{"type":59,"value":346},":",{"type":53,"tag":81,"props":348,"children":349},{"style":110},[350],{"type":59,"value":312},{"type":53,"tag":81,"props":352,"children":353},{"style":104},[354],{"type":59,"value":267},{"type":53,"tag":81,"props":356,"children":357},{"style":110},[358],{"type":59,"value":359},"procedure\n",{"type":53,"tag":81,"props":361,"children":363},{"class":83,"line":362},10,[364,369,374,379,383,388,392,397,402,406,410,414,419,424,429],{"type":53,"tag":81,"props":365,"children":366},{"style":104},[367],{"type":59,"value":368},"    .",{"type":53,"tag":81,"props":370,"children":371},{"style":270},[372],{"type":59,"value":373},"input",{"type":53,"tag":81,"props":375,"children":376},{"style":110},[377],{"type":59,"value":378},"(z",{"type":53,"tag":81,"props":380,"children":381},{"style":104},[382],{"type":59,"value":267},{"type":53,"tag":81,"props":384,"children":385},{"style":270},[386],{"type":59,"value":387},"object",{"type":53,"tag":81,"props":389,"children":390},{"style":110},[391],{"type":59,"value":326},{"type":53,"tag":81,"props":393,"children":394},{"style":104},[395],{"type":59,"value":396},"{",{"type":53,"tag":81,"props":398,"children":399},{"style":338},[400],{"type":59,"value":401}," name",{"type":53,"tag":81,"props":403,"children":404},{"style":104},[405],{"type":59,"value":346},{"type":53,"tag":81,"props":407,"children":408},{"style":110},[409],{"type":59,"value":203},{"type":53,"tag":81,"props":411,"children":412},{"style":104},[413],{"type":59,"value":267},{"type":53,"tag":81,"props":415,"children":416},{"style":270},[417],{"type":59,"value":418},"string",{"type":53,"tag":81,"props":420,"children":421},{"style":110},[422],{"type":59,"value":423},"() ",{"type":53,"tag":81,"props":425,"children":426},{"style":104},[427],{"type":59,"value":428},"}",{"type":53,"tag":81,"props":430,"children":431},{"style":110},[432],{"type":59,"value":433},"))\n",{"type":53,"tag":81,"props":435,"children":437},{"class":83,"line":436},11,[438,442,447,451,456,462,467,472,477,481,486,490,495,500,505,509,513,518,522,527,532,536,541],{"type":53,"tag":81,"props":439,"children":440},{"style":104},[441],{"type":59,"value":368},{"type":53,"tag":81,"props":443,"children":444},{"style":270},[445],{"type":59,"value":446},"query",{"type":53,"tag":81,"props":448,"children":449},{"style":110},[450],{"type":59,"value":326},{"type":53,"tag":81,"props":452,"children":453},{"style":104},[454],{"type":59,"value":455},"({",{"type":53,"tag":81,"props":457,"children":459},{"style":458},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[460],{"type":59,"value":461}," input",{"type":53,"tag":81,"props":463,"children":464},{"style":104},[465],{"type":59,"value":466}," })",{"type":53,"tag":81,"props":468,"children":469},{"style":245},[470],{"type":59,"value":471}," =>",{"type":53,"tag":81,"props":473,"children":474},{"style":110},[475],{"type":59,"value":476}," (",{"type":53,"tag":81,"props":478,"children":479},{"style":104},[480],{"type":59,"value":396},{"type":53,"tag":81,"props":482,"children":483},{"style":338},[484],{"type":59,"value":485}," greeting",{"type":53,"tag":81,"props":487,"children":488},{"style":104},[489],{"type":59,"value":346},{"type":53,"tag":81,"props":491,"children":492},{"style":104},[493],{"type":59,"value":494}," `",{"type":53,"tag":81,"props":496,"children":497},{"style":131},[498],{"type":59,"value":499},"Hello, ",{"type":53,"tag":81,"props":501,"children":502},{"style":104},[503],{"type":59,"value":504},"${",{"type":53,"tag":81,"props":506,"children":507},{"style":110},[508],{"type":59,"value":373},{"type":53,"tag":81,"props":510,"children":511},{"style":104},[512],{"type":59,"value":267},{"type":53,"tag":81,"props":514,"children":515},{"style":110},[516],{"type":59,"value":517},"name",{"type":53,"tag":81,"props":519,"children":520},{"style":104},[521],{"type":59,"value":428},{"type":53,"tag":81,"props":523,"children":524},{"style":131},[525],{"type":59,"value":526},"!",{"type":53,"tag":81,"props":528,"children":529},{"style":104},[530],{"type":59,"value":531},"`",{"type":53,"tag":81,"props":533,"children":534},{"style":104},[535],{"type":59,"value":118},{"type":53,"tag":81,"props":537,"children":538},{"style":110},[539],{"type":59,"value":540},"))",{"type":53,"tag":81,"props":542,"children":543},{"style":104},[544],{"type":59,"value":545},",\n",{"type":53,"tag":81,"props":547,"children":549},{"class":83,"line":548},12,[550,554,559],{"type":53,"tag":81,"props":551,"children":552},{"style":104},[553],{"type":59,"value":428},{"type":53,"tag":81,"props":555,"children":556},{"style":110},[557],{"type":59,"value":558},")",{"type":53,"tag":81,"props":560,"children":561},{"style":104},[562],{"type":59,"value":144},{"type":53,"tag":81,"props":564,"children":566},{"class":83,"line":565},13,[567],{"type":53,"tag":81,"props":568,"children":569},{"emptyLinePlaceholder":235},[570],{"type":59,"value":238},{"type":53,"tag":81,"props":572,"children":574},{"class":83,"line":573},14,[575,580,585,591,596,601,606],{"type":53,"tag":81,"props":576,"children":577},{"style":98},[578],{"type":59,"value":579},"export",{"type":53,"tag":81,"props":581,"children":582},{"style":245},[583],{"type":59,"value":584}," type",{"type":53,"tag":81,"props":586,"children":588},{"style":587},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[589],{"type":59,"value":590}," AppRouter",{"type":53,"tag":81,"props":592,"children":593},{"style":104},[594],{"type":59,"value":595}," =",{"type":53,"tag":81,"props":597,"children":598},{"style":104},[599],{"type":59,"value":600}," typeof",{"type":53,"tag":81,"props":602,"children":603},{"style":110},[604],{"type":59,"value":605}," appRouter",{"type":53,"tag":81,"props":607,"children":608},{"style":104},[609],{"type":59,"value":144},{"type":53,"tag":81,"props":611,"children":613},{"class":83,"line":612},15,[614],{"type":53,"tag":81,"props":615,"children":616},{"emptyLinePlaceholder":235},[617],{"type":59,"value":238},{"type":53,"tag":81,"props":619,"children":621},{"class":83,"line":620},16,[622,627,631],{"type":53,"tag":81,"props":623,"children":624},{"style":270},[625],{"type":59,"value":626},"createHTTPServer",{"type":53,"tag":81,"props":628,"children":629},{"style":110},[630],{"type":59,"value":326},{"type":53,"tag":81,"props":632,"children":633},{"style":104},[634],{"type":59,"value":331},{"type":53,"tag":81,"props":636,"children":638},{"class":83,"line":637},17,[639,644,648,652],{"type":53,"tag":81,"props":640,"children":641},{"style":338},[642],{"type":59,"value":643},"  router",{"type":53,"tag":81,"props":645,"children":646},{"style":104},[647],{"type":59,"value":346},{"type":53,"tag":81,"props":649,"children":650},{"style":110},[651],{"type":59,"value":605},{"type":53,"tag":81,"props":653,"children":654},{"style":104},[655],{"type":59,"value":545},{"type":53,"tag":81,"props":657,"children":659},{"class":83,"line":658},18,[660,665,669],{"type":53,"tag":81,"props":661,"children":662},{"style":338},[663],{"type":59,"value":664},"  createContext",{"type":53,"tag":81,"props":666,"children":667},{"style":104},[668],{"type":59,"value":278},{"type":53,"tag":81,"props":670,"children":671},{"style":104},[672],{"type":59,"value":673}," {\n",{"type":53,"tag":81,"props":675,"children":677},{"class":83,"line":676},19,[678,683],{"type":53,"tag":81,"props":679,"children":680},{"style":98},[681],{"type":59,"value":682},"    return",{"type":53,"tag":81,"props":684,"children":685},{"style":104},[686],{"type":59,"value":687}," {};\n",{"type":53,"tag":81,"props":689,"children":691},{"class":83,"line":690},20,[692],{"type":53,"tag":81,"props":693,"children":694},{"style":104},[695],{"type":59,"value":696},"  },\n",{"type":53,"tag":81,"props":698,"children":700},{"class":83,"line":699},21,[701,705,709,713,718,722,728,732],{"type":53,"tag":81,"props":702,"children":703},{"style":104},[704],{"type":59,"value":428},{"type":53,"tag":81,"props":706,"children":707},{"style":110},[708],{"type":59,"value":558},{"type":53,"tag":81,"props":710,"children":711},{"style":104},[712],{"type":59,"value":267},{"type":53,"tag":81,"props":714,"children":715},{"style":270},[716],{"type":59,"value":717},"listen",{"type":53,"tag":81,"props":719,"children":720},{"style":110},[721],{"type":59,"value":326},{"type":53,"tag":81,"props":723,"children":725},{"style":724},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[726],{"type":59,"value":727},"3000",{"type":53,"tag":81,"props":729,"children":730},{"style":110},[731],{"type":59,"value":558},{"type":53,"tag":81,"props":733,"children":734},{"style":104},[735],{"type":59,"value":144},{"type":53,"tag":81,"props":737,"children":739},{"class":83,"line":738},22,[740],{"type":53,"tag":81,"props":741,"children":742},{"emptyLinePlaceholder":235},[743],{"type":59,"value":238},{"type":53,"tag":81,"props":745,"children":747},{"class":83,"line":746},23,[748,753,757,762,766,770,775,779,783],{"type":53,"tag":81,"props":749,"children":750},{"style":110},[751],{"type":59,"value":752},"console",{"type":53,"tag":81,"props":754,"children":755},{"style":104},[756],{"type":59,"value":267},{"type":53,"tag":81,"props":758,"children":759},{"style":270},[760],{"type":59,"value":761},"log",{"type":53,"tag":81,"props":763,"children":764},{"style":110},[765],{"type":59,"value":326},{"type":53,"tag":81,"props":767,"children":768},{"style":104},[769],{"type":59,"value":139},{"type":53,"tag":81,"props":771,"children":772},{"style":131},[773],{"type":59,"value":774},"Listening on http:\u002F\u002Flocalhost:3000",{"type":53,"tag":81,"props":776,"children":777},{"style":104},[778],{"type":59,"value":139},{"type":53,"tag":81,"props":780,"children":781},{"style":110},[782],{"type":59,"value":558},{"type":53,"tag":81,"props":784,"children":785},{"style":104},[786],{"type":59,"value":144},{"type":53,"tag":62,"props":788,"children":790},{"id":789},"core-patterns",[791],{"type":59,"value":792},"Core Patterns",{"type":53,"tag":794,"props":795,"children":797},"h3",{"id":796},"cors-with-the-cors-package",[798],{"type":59,"value":799},"CORS with the cors package",{"type":53,"tag":69,"props":801,"children":803},{"className":71,"code":802,"language":73,"meta":74,"style":74},"import { createHTTPServer } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport cors from 'cors';\nimport { createContext } from '.\u002Fcontext';\nimport { appRouter } from '.\u002Frouter';\n\ncreateHTTPServer({\n  middleware: cors({ origin: 'http:\u002F\u002Flocalhost:5173' }),\n  router: appRouter,\n  createContext,\n}).listen(3000);\n",[804],{"type":53,"tag":77,"props":805,"children":806},{"__ignoreMap":74},[807,846,880,921,961,968,983,1042,1061,1072],{"type":53,"tag":81,"props":808,"children":809},{"class":83,"line":84},[810,814,818,822,826,830,834,838,842],{"type":53,"tag":81,"props":811,"children":812},{"style":98},[813],{"type":59,"value":101},{"type":53,"tag":81,"props":815,"children":816},{"style":104},[817],{"type":59,"value":107},{"type":53,"tag":81,"props":819,"children":820},{"style":110},[821],{"type":59,"value":161},{"type":53,"tag":81,"props":823,"children":824},{"style":104},[825],{"type":59,"value":118},{"type":53,"tag":81,"props":827,"children":828},{"style":98},[829],{"type":59,"value":123},{"type":53,"tag":81,"props":831,"children":832},{"style":104},[833],{"type":59,"value":128},{"type":53,"tag":81,"props":835,"children":836},{"style":131},[837],{"type":59,"value":178},{"type":53,"tag":81,"props":839,"children":840},{"style":104},[841],{"type":59,"value":139},{"type":53,"tag":81,"props":843,"children":844},{"style":104},[845],{"type":59,"value":144},{"type":53,"tag":81,"props":847,"children":848},{"class":83,"line":94},[849,853,858,863,867,872,876],{"type":53,"tag":81,"props":850,"children":851},{"style":98},[852],{"type":59,"value":101},{"type":53,"tag":81,"props":854,"children":855},{"style":110},[856],{"type":59,"value":857}," cors ",{"type":53,"tag":81,"props":859,"children":860},{"style":98},[861],{"type":59,"value":862},"from",{"type":53,"tag":81,"props":864,"children":865},{"style":104},[866],{"type":59,"value":128},{"type":53,"tag":81,"props":868,"children":869},{"style":131},[870],{"type":59,"value":871},"cors",{"type":53,"tag":81,"props":873,"children":874},{"style":104},[875],{"type":59,"value":139},{"type":53,"tag":81,"props":877,"children":878},{"style":104},[879],{"type":59,"value":144},{"type":53,"tag":81,"props":881,"children":882},{"class":83,"line":147},[883,887,891,896,900,904,908,913,917],{"type":53,"tag":81,"props":884,"children":885},{"style":98},[886],{"type":59,"value":101},{"type":53,"tag":81,"props":888,"children":889},{"style":104},[890],{"type":59,"value":107},{"type":53,"tag":81,"props":892,"children":893},{"style":110},[894],{"type":59,"value":895}," createContext",{"type":53,"tag":81,"props":897,"children":898},{"style":104},[899],{"type":59,"value":118},{"type":53,"tag":81,"props":901,"children":902},{"style":98},[903],{"type":59,"value":123},{"type":53,"tag":81,"props":905,"children":906},{"style":104},[907],{"type":59,"value":128},{"type":53,"tag":81,"props":909,"children":910},{"style":131},[911],{"type":59,"value":912},".\u002Fcontext",{"type":53,"tag":81,"props":914,"children":915},{"style":104},[916],{"type":59,"value":139},{"type":53,"tag":81,"props":918,"children":919},{"style":104},[920],{"type":59,"value":144},{"type":53,"tag":81,"props":922,"children":923},{"class":83,"line":189},[924,928,932,936,940,944,948,953,957],{"type":53,"tag":81,"props":925,"children":926},{"style":98},[927],{"type":59,"value":101},{"type":53,"tag":81,"props":929,"children":930},{"style":104},[931],{"type":59,"value":107},{"type":53,"tag":81,"props":933,"children":934},{"style":110},[935],{"type":59,"value":605},{"type":53,"tag":81,"props":937,"children":938},{"style":104},[939],{"type":59,"value":118},{"type":53,"tag":81,"props":941,"children":942},{"style":98},[943],{"type":59,"value":123},{"type":53,"tag":81,"props":945,"children":946},{"style":104},[947],{"type":59,"value":128},{"type":53,"tag":81,"props":949,"children":950},{"style":131},[951],{"type":59,"value":952},".\u002Frouter",{"type":53,"tag":81,"props":954,"children":955},{"style":104},[956],{"type":59,"value":139},{"type":53,"tag":81,"props":958,"children":959},{"style":104},[960],{"type":59,"value":144},{"type":53,"tag":81,"props":962,"children":963},{"class":83,"line":231},[964],{"type":53,"tag":81,"props":965,"children":966},{"emptyLinePlaceholder":235},[967],{"type":59,"value":238},{"type":53,"tag":81,"props":969,"children":970},{"class":83,"line":241},[971,975,979],{"type":53,"tag":81,"props":972,"children":973},{"style":270},[974],{"type":59,"value":626},{"type":53,"tag":81,"props":976,"children":977},{"style":110},[978],{"type":59,"value":326},{"type":53,"tag":81,"props":980,"children":981},{"style":104},[982],{"type":59,"value":331},{"type":53,"tag":81,"props":984,"children":985},{"class":83,"line":285},[986,991,995,1000,1004,1008,1013,1017,1021,1026,1030,1034,1038],{"type":53,"tag":81,"props":987,"children":988},{"style":338},[989],{"type":59,"value":990},"  middleware",{"type":53,"tag":81,"props":992,"children":993},{"style":104},[994],{"type":59,"value":346},{"type":53,"tag":81,"props":996,"children":997},{"style":270},[998],{"type":59,"value":999}," cors",{"type":53,"tag":81,"props":1001,"children":1002},{"style":110},[1003],{"type":59,"value":326},{"type":53,"tag":81,"props":1005,"children":1006},{"style":104},[1007],{"type":59,"value":396},{"type":53,"tag":81,"props":1009,"children":1010},{"style":338},[1011],{"type":59,"value":1012}," origin",{"type":53,"tag":81,"props":1014,"children":1015},{"style":104},[1016],{"type":59,"value":346},{"type":53,"tag":81,"props":1018,"children":1019},{"style":104},[1020],{"type":59,"value":128},{"type":53,"tag":81,"props":1022,"children":1023},{"style":131},[1024],{"type":59,"value":1025},"http:\u002F\u002Flocalhost:5173",{"type":53,"tag":81,"props":1027,"children":1028},{"style":104},[1029],{"type":59,"value":139},{"type":53,"tag":81,"props":1031,"children":1032},{"style":104},[1033],{"type":59,"value":118},{"type":53,"tag":81,"props":1035,"children":1036},{"style":110},[1037],{"type":59,"value":558},{"type":53,"tag":81,"props":1039,"children":1040},{"style":104},[1041],{"type":59,"value":545},{"type":53,"tag":81,"props":1043,"children":1044},{"class":83,"line":293},[1045,1049,1053,1057],{"type":53,"tag":81,"props":1046,"children":1047},{"style":338},[1048],{"type":59,"value":643},{"type":53,"tag":81,"props":1050,"children":1051},{"style":104},[1052],{"type":59,"value":346},{"type":53,"tag":81,"props":1054,"children":1055},{"style":110},[1056],{"type":59,"value":605},{"type":53,"tag":81,"props":1058,"children":1059},{"style":104},[1060],{"type":59,"value":545},{"type":53,"tag":81,"props":1062,"children":1063},{"class":83,"line":334},[1064,1068],{"type":53,"tag":81,"props":1065,"children":1066},{"style":110},[1067],{"type":59,"value":664},{"type":53,"tag":81,"props":1069,"children":1070},{"style":104},[1071],{"type":59,"value":545},{"type":53,"tag":81,"props":1073,"children":1074},{"class":83,"line":362},[1075,1079,1083,1087,1091,1095,1099,1103],{"type":53,"tag":81,"props":1076,"children":1077},{"style":104},[1078],{"type":59,"value":428},{"type":53,"tag":81,"props":1080,"children":1081},{"style":110},[1082],{"type":59,"value":558},{"type":53,"tag":81,"props":1084,"children":1085},{"style":104},[1086],{"type":59,"value":267},{"type":53,"tag":81,"props":1088,"children":1089},{"style":270},[1090],{"type":59,"value":717},{"type":53,"tag":81,"props":1092,"children":1093},{"style":110},[1094],{"type":59,"value":326},{"type":53,"tag":81,"props":1096,"children":1097},{"style":724},[1098],{"type":59,"value":727},{"type":53,"tag":81,"props":1100,"children":1101},{"style":110},[1102],{"type":59,"value":558},{"type":53,"tag":81,"props":1104,"children":1105},{"style":104},[1106],{"type":59,"value":144},{"type":53,"tag":1108,"props":1109,"children":1110},"p",{},[1111,1113],{"type":59,"value":1112},"Install CORS support: ",{"type":53,"tag":77,"props":1114,"children":1116},{"className":1115},[],[1117],{"type":59,"value":1118},"npm install cors @types\u002Fcors",{"type":53,"tag":794,"props":1120,"children":1122},{"id":1121},"custom-http-server-with-createhttphandler",[1123],{"type":59,"value":1124},"Custom HTTP server with createHTTPHandler",{"type":53,"tag":69,"props":1126,"children":1128},{"className":71,"code":1127,"language":73,"meta":74,"style":74},"import { createServer } from 'http';\nimport { createHTTPHandler } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport { appRouter } from '.\u002Frouter';\n\nconst handler = createHTTPHandler({\n  router: appRouter,\n  createContext() {\n    return {};\n  },\n});\n\ncreateServer((req, res) => {\n  if (req.url?.startsWith('\u002Fhealth')) {\n    res.writeHead(200);\n    res.end('OK');\n    return;\n  }\n  handler(req, res);\n}).listen(3000);\n",[1129],{"type":53,"tag":77,"props":1130,"children":1131},{"__ignoreMap":74},[1132,1173,1213,1252,1259,1287,1306,1321,1332,1339,1354,1361,1404,1465,1499,1540,1551,1559,1591],{"type":53,"tag":81,"props":1133,"children":1134},{"class":83,"line":84},[1135,1139,1143,1148,1152,1156,1160,1165,1169],{"type":53,"tag":81,"props":1136,"children":1137},{"style":98},[1138],{"type":59,"value":101},{"type":53,"tag":81,"props":1140,"children":1141},{"style":104},[1142],{"type":59,"value":107},{"type":53,"tag":81,"props":1144,"children":1145},{"style":110},[1146],{"type":59,"value":1147}," createServer",{"type":53,"tag":81,"props":1149,"children":1150},{"style":104},[1151],{"type":59,"value":118},{"type":53,"tag":81,"props":1153,"children":1154},{"style":98},[1155],{"type":59,"value":123},{"type":53,"tag":81,"props":1157,"children":1158},{"style":104},[1159],{"type":59,"value":128},{"type":53,"tag":81,"props":1161,"children":1162},{"style":131},[1163],{"type":59,"value":1164},"http",{"type":53,"tag":81,"props":1166,"children":1167},{"style":104},[1168],{"type":59,"value":139},{"type":53,"tag":81,"props":1170,"children":1171},{"style":104},[1172],{"type":59,"value":144},{"type":53,"tag":81,"props":1174,"children":1175},{"class":83,"line":94},[1176,1180,1184,1189,1193,1197,1201,1205,1209],{"type":53,"tag":81,"props":1177,"children":1178},{"style":98},[1179],{"type":59,"value":101},{"type":53,"tag":81,"props":1181,"children":1182},{"style":104},[1183],{"type":59,"value":107},{"type":53,"tag":81,"props":1185,"children":1186},{"style":110},[1187],{"type":59,"value":1188}," createHTTPHandler",{"type":53,"tag":81,"props":1190,"children":1191},{"style":104},[1192],{"type":59,"value":118},{"type":53,"tag":81,"props":1194,"children":1195},{"style":98},[1196],{"type":59,"value":123},{"type":53,"tag":81,"props":1198,"children":1199},{"style":104},[1200],{"type":59,"value":128},{"type":53,"tag":81,"props":1202,"children":1203},{"style":131},[1204],{"type":59,"value":178},{"type":53,"tag":81,"props":1206,"children":1207},{"style":104},[1208],{"type":59,"value":139},{"type":53,"tag":81,"props":1210,"children":1211},{"style":104},[1212],{"type":59,"value":144},{"type":53,"tag":81,"props":1214,"children":1215},{"class":83,"line":147},[1216,1220,1224,1228,1232,1236,1240,1244,1248],{"type":53,"tag":81,"props":1217,"children":1218},{"style":98},[1219],{"type":59,"value":101},{"type":53,"tag":81,"props":1221,"children":1222},{"style":104},[1223],{"type":59,"value":107},{"type":53,"tag":81,"props":1225,"children":1226},{"style":110},[1227],{"type":59,"value":605},{"type":53,"tag":81,"props":1229,"children":1230},{"style":104},[1231],{"type":59,"value":118},{"type":53,"tag":81,"props":1233,"children":1234},{"style":98},[1235],{"type":59,"value":123},{"type":53,"tag":81,"props":1237,"children":1238},{"style":104},[1239],{"type":59,"value":128},{"type":53,"tag":81,"props":1241,"children":1242},{"style":131},[1243],{"type":59,"value":952},{"type":53,"tag":81,"props":1245,"children":1246},{"style":104},[1247],{"type":59,"value":139},{"type":53,"tag":81,"props":1249,"children":1250},{"style":104},[1251],{"type":59,"value":144},{"type":53,"tag":81,"props":1253,"children":1254},{"class":83,"line":189},[1255],{"type":53,"tag":81,"props":1256,"children":1257},{"emptyLinePlaceholder":235},[1258],{"type":59,"value":238},{"type":53,"tag":81,"props":1260,"children":1261},{"class":83,"line":231},[1262,1266,1271,1275,1279,1283],{"type":53,"tag":81,"props":1263,"children":1264},{"style":245},[1265],{"type":59,"value":248},{"type":53,"tag":81,"props":1267,"children":1268},{"style":110},[1269],{"type":59,"value":1270}," handler ",{"type":53,"tag":81,"props":1272,"children":1273},{"style":104},[1274],{"type":59,"value":258},{"type":53,"tag":81,"props":1276,"children":1277},{"style":270},[1278],{"type":59,"value":1188},{"type":53,"tag":81,"props":1280,"children":1281},{"style":110},[1282],{"type":59,"value":326},{"type":53,"tag":81,"props":1284,"children":1285},{"style":104},[1286],{"type":59,"value":331},{"type":53,"tag":81,"props":1288,"children":1289},{"class":83,"line":241},[1290,1294,1298,1302],{"type":53,"tag":81,"props":1291,"children":1292},{"style":338},[1293],{"type":59,"value":643},{"type":53,"tag":81,"props":1295,"children":1296},{"style":104},[1297],{"type":59,"value":346},{"type":53,"tag":81,"props":1299,"children":1300},{"style":110},[1301],{"type":59,"value":605},{"type":53,"tag":81,"props":1303,"children":1304},{"style":104},[1305],{"type":59,"value":545},{"type":53,"tag":81,"props":1307,"children":1308},{"class":83,"line":285},[1309,1313,1317],{"type":53,"tag":81,"props":1310,"children":1311},{"style":338},[1312],{"type":59,"value":664},{"type":53,"tag":81,"props":1314,"children":1315},{"style":104},[1316],{"type":59,"value":278},{"type":53,"tag":81,"props":1318,"children":1319},{"style":104},[1320],{"type":59,"value":673},{"type":53,"tag":81,"props":1322,"children":1323},{"class":83,"line":293},[1324,1328],{"type":53,"tag":81,"props":1325,"children":1326},{"style":98},[1327],{"type":59,"value":682},{"type":53,"tag":81,"props":1329,"children":1330},{"style":104},[1331],{"type":59,"value":687},{"type":53,"tag":81,"props":1333,"children":1334},{"class":83,"line":334},[1335],{"type":53,"tag":81,"props":1336,"children":1337},{"style":104},[1338],{"type":59,"value":696},{"type":53,"tag":81,"props":1340,"children":1341},{"class":83,"line":362},[1342,1346,1350],{"type":53,"tag":81,"props":1343,"children":1344},{"style":104},[1345],{"type":59,"value":428},{"type":53,"tag":81,"props":1347,"children":1348},{"style":110},[1349],{"type":59,"value":558},{"type":53,"tag":81,"props":1351,"children":1352},{"style":104},[1353],{"type":59,"value":144},{"type":53,"tag":81,"props":1355,"children":1356},{"class":83,"line":436},[1357],{"type":53,"tag":81,"props":1358,"children":1359},{"emptyLinePlaceholder":235},[1360],{"type":59,"value":238},{"type":53,"tag":81,"props":1362,"children":1363},{"class":83,"line":548},[1364,1369,1373,1377,1382,1387,1392,1396,1400],{"type":53,"tag":81,"props":1365,"children":1366},{"style":270},[1367],{"type":59,"value":1368},"createServer",{"type":53,"tag":81,"props":1370,"children":1371},{"style":110},[1372],{"type":59,"value":326},{"type":53,"tag":81,"props":1374,"children":1375},{"style":104},[1376],{"type":59,"value":326},{"type":53,"tag":81,"props":1378,"children":1379},{"style":458},[1380],{"type":59,"value":1381},"req",{"type":53,"tag":81,"props":1383,"children":1384},{"style":104},[1385],{"type":59,"value":1386},",",{"type":53,"tag":81,"props":1388,"children":1389},{"style":458},[1390],{"type":59,"value":1391}," res",{"type":53,"tag":81,"props":1393,"children":1394},{"style":104},[1395],{"type":59,"value":558},{"type":53,"tag":81,"props":1397,"children":1398},{"style":245},[1399],{"type":59,"value":471},{"type":53,"tag":81,"props":1401,"children":1402},{"style":104},[1403],{"type":59,"value":673},{"type":53,"tag":81,"props":1405,"children":1406},{"class":83,"line":565},[1407,1412,1416,1420,1424,1429,1434,1439,1443,1447,1452,1456,1461],{"type":53,"tag":81,"props":1408,"children":1409},{"style":98},[1410],{"type":59,"value":1411},"  if",{"type":53,"tag":81,"props":1413,"children":1414},{"style":338},[1415],{"type":59,"value":476},{"type":53,"tag":81,"props":1417,"children":1418},{"style":110},[1419],{"type":59,"value":1381},{"type":53,"tag":81,"props":1421,"children":1422},{"style":104},[1423],{"type":59,"value":267},{"type":53,"tag":81,"props":1425,"children":1426},{"style":110},[1427],{"type":59,"value":1428},"url",{"type":53,"tag":81,"props":1430,"children":1431},{"style":104},[1432],{"type":59,"value":1433},"?.",{"type":53,"tag":81,"props":1435,"children":1436},{"style":270},[1437],{"type":59,"value":1438},"startsWith",{"type":53,"tag":81,"props":1440,"children":1441},{"style":338},[1442],{"type":59,"value":326},{"type":53,"tag":81,"props":1444,"children":1445},{"style":104},[1446],{"type":59,"value":139},{"type":53,"tag":81,"props":1448,"children":1449},{"style":131},[1450],{"type":59,"value":1451},"\u002Fhealth",{"type":53,"tag":81,"props":1453,"children":1454},{"style":104},[1455],{"type":59,"value":139},{"type":53,"tag":81,"props":1457,"children":1458},{"style":338},[1459],{"type":59,"value":1460},")) ",{"type":53,"tag":81,"props":1462,"children":1463},{"style":104},[1464],{"type":59,"value":331},{"type":53,"tag":81,"props":1466,"children":1467},{"class":83,"line":573},[1468,1473,1477,1482,1486,1491,1495],{"type":53,"tag":81,"props":1469,"children":1470},{"style":110},[1471],{"type":59,"value":1472},"    res",{"type":53,"tag":81,"props":1474,"children":1475},{"style":104},[1476],{"type":59,"value":267},{"type":53,"tag":81,"props":1478,"children":1479},{"style":270},[1480],{"type":59,"value":1481},"writeHead",{"type":53,"tag":81,"props":1483,"children":1484},{"style":338},[1485],{"type":59,"value":326},{"type":53,"tag":81,"props":1487,"children":1488},{"style":724},[1489],{"type":59,"value":1490},"200",{"type":53,"tag":81,"props":1492,"children":1493},{"style":338},[1494],{"type":59,"value":558},{"type":53,"tag":81,"props":1496,"children":1497},{"style":104},[1498],{"type":59,"value":144},{"type":53,"tag":81,"props":1500,"children":1501},{"class":83,"line":612},[1502,1506,1510,1515,1519,1523,1528,1532,1536],{"type":53,"tag":81,"props":1503,"children":1504},{"style":110},[1505],{"type":59,"value":1472},{"type":53,"tag":81,"props":1507,"children":1508},{"style":104},[1509],{"type":59,"value":267},{"type":53,"tag":81,"props":1511,"children":1512},{"style":270},[1513],{"type":59,"value":1514},"end",{"type":53,"tag":81,"props":1516,"children":1517},{"style":338},[1518],{"type":59,"value":326},{"type":53,"tag":81,"props":1520,"children":1521},{"style":104},[1522],{"type":59,"value":139},{"type":53,"tag":81,"props":1524,"children":1525},{"style":131},[1526],{"type":59,"value":1527},"OK",{"type":53,"tag":81,"props":1529,"children":1530},{"style":104},[1531],{"type":59,"value":139},{"type":53,"tag":81,"props":1533,"children":1534},{"style":338},[1535],{"type":59,"value":558},{"type":53,"tag":81,"props":1537,"children":1538},{"style":104},[1539],{"type":59,"value":144},{"type":53,"tag":81,"props":1541,"children":1542},{"class":83,"line":620},[1543,1547],{"type":53,"tag":81,"props":1544,"children":1545},{"style":98},[1546],{"type":59,"value":682},{"type":53,"tag":81,"props":1548,"children":1549},{"style":104},[1550],{"type":59,"value":144},{"type":53,"tag":81,"props":1552,"children":1553},{"class":83,"line":637},[1554],{"type":53,"tag":81,"props":1555,"children":1556},{"style":104},[1557],{"type":59,"value":1558},"  }\n",{"type":53,"tag":81,"props":1560,"children":1561},{"class":83,"line":658},[1562,1567,1571,1575,1579,1583,1587],{"type":53,"tag":81,"props":1563,"children":1564},{"style":270},[1565],{"type":59,"value":1566},"  handler",{"type":53,"tag":81,"props":1568,"children":1569},{"style":338},[1570],{"type":59,"value":326},{"type":53,"tag":81,"props":1572,"children":1573},{"style":110},[1574],{"type":59,"value":1381},{"type":53,"tag":81,"props":1576,"children":1577},{"style":104},[1578],{"type":59,"value":1386},{"type":53,"tag":81,"props":1580,"children":1581},{"style":110},[1582],{"type":59,"value":1391},{"type":53,"tag":81,"props":1584,"children":1585},{"style":338},[1586],{"type":59,"value":558},{"type":53,"tag":81,"props":1588,"children":1589},{"style":104},[1590],{"type":59,"value":144},{"type":53,"tag":81,"props":1592,"children":1593},{"class":83,"line":676},[1594,1598,1602,1606,1610,1614,1618,1622],{"type":53,"tag":81,"props":1595,"children":1596},{"style":104},[1597],{"type":59,"value":428},{"type":53,"tag":81,"props":1599,"children":1600},{"style":110},[1601],{"type":59,"value":558},{"type":53,"tag":81,"props":1603,"children":1604},{"style":104},[1605],{"type":59,"value":267},{"type":53,"tag":81,"props":1607,"children":1608},{"style":270},[1609],{"type":59,"value":717},{"type":53,"tag":81,"props":1611,"children":1612},{"style":110},[1613],{"type":59,"value":326},{"type":53,"tag":81,"props":1615,"children":1616},{"style":724},[1617],{"type":59,"value":727},{"type":53,"tag":81,"props":1619,"children":1620},{"style":110},[1621],{"type":59,"value":558},{"type":53,"tag":81,"props":1623,"children":1624},{"style":104},[1625],{"type":59,"value":144},{"type":53,"tag":794,"props":1627,"children":1629},{"id":1628},"basepath-for-url-prefix-stripping",[1630],{"type":59,"value":1631},"basePath for URL prefix stripping",{"type":53,"tag":69,"props":1633,"children":1635},{"className":71,"code":1634,"language":73,"meta":74,"style":74},"import { createServer } from 'http';\nimport { createHTTPHandler } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport { appRouter } from '.\u002Frouter';\n\nconst handler = createHTTPHandler({\n  router: appRouter,\n  basePath: '\u002Ftrpc\u002F',\n});\n\ncreateServer((req, res) => {\n  if (req.url?.startsWith('\u002Ftrpc\u002F')) {\n    return handler(req, res);\n  }\n  res.statusCode = 404;\n  res.end('Not Found');\n}).listen(3000);\n",[1636],{"type":53,"tag":77,"props":1637,"children":1638},{"__ignoreMap":74},[1639,1678,1717,1756,1763,1790,1809,1838,1853,1860,1899,1954,1990,1997,2027,2067],{"type":53,"tag":81,"props":1640,"children":1641},{"class":83,"line":84},[1642,1646,1650,1654,1658,1662,1666,1670,1674],{"type":53,"tag":81,"props":1643,"children":1644},{"style":98},[1645],{"type":59,"value":101},{"type":53,"tag":81,"props":1647,"children":1648},{"style":104},[1649],{"type":59,"value":107},{"type":53,"tag":81,"props":1651,"children":1652},{"style":110},[1653],{"type":59,"value":1147},{"type":53,"tag":81,"props":1655,"children":1656},{"style":104},[1657],{"type":59,"value":118},{"type":53,"tag":81,"props":1659,"children":1660},{"style":98},[1661],{"type":59,"value":123},{"type":53,"tag":81,"props":1663,"children":1664},{"style":104},[1665],{"type":59,"value":128},{"type":53,"tag":81,"props":1667,"children":1668},{"style":131},[1669],{"type":59,"value":1164},{"type":53,"tag":81,"props":1671,"children":1672},{"style":104},[1673],{"type":59,"value":139},{"type":53,"tag":81,"props":1675,"children":1676},{"style":104},[1677],{"type":59,"value":144},{"type":53,"tag":81,"props":1679,"children":1680},{"class":83,"line":94},[1681,1685,1689,1693,1697,1701,1705,1709,1713],{"type":53,"tag":81,"props":1682,"children":1683},{"style":98},[1684],{"type":59,"value":101},{"type":53,"tag":81,"props":1686,"children":1687},{"style":104},[1688],{"type":59,"value":107},{"type":53,"tag":81,"props":1690,"children":1691},{"style":110},[1692],{"type":59,"value":1188},{"type":53,"tag":81,"props":1694,"children":1695},{"style":104},[1696],{"type":59,"value":118},{"type":53,"tag":81,"props":1698,"children":1699},{"style":98},[1700],{"type":59,"value":123},{"type":53,"tag":81,"props":1702,"children":1703},{"style":104},[1704],{"type":59,"value":128},{"type":53,"tag":81,"props":1706,"children":1707},{"style":131},[1708],{"type":59,"value":178},{"type":53,"tag":81,"props":1710,"children":1711},{"style":104},[1712],{"type":59,"value":139},{"type":53,"tag":81,"props":1714,"children":1715},{"style":104},[1716],{"type":59,"value":144},{"type":53,"tag":81,"props":1718,"children":1719},{"class":83,"line":147},[1720,1724,1728,1732,1736,1740,1744,1748,1752],{"type":53,"tag":81,"props":1721,"children":1722},{"style":98},[1723],{"type":59,"value":101},{"type":53,"tag":81,"props":1725,"children":1726},{"style":104},[1727],{"type":59,"value":107},{"type":53,"tag":81,"props":1729,"children":1730},{"style":110},[1731],{"type":59,"value":605},{"type":53,"tag":81,"props":1733,"children":1734},{"style":104},[1735],{"type":59,"value":118},{"type":53,"tag":81,"props":1737,"children":1738},{"style":98},[1739],{"type":59,"value":123},{"type":53,"tag":81,"props":1741,"children":1742},{"style":104},[1743],{"type":59,"value":128},{"type":53,"tag":81,"props":1745,"children":1746},{"style":131},[1747],{"type":59,"value":952},{"type":53,"tag":81,"props":1749,"children":1750},{"style":104},[1751],{"type":59,"value":139},{"type":53,"tag":81,"props":1753,"children":1754},{"style":104},[1755],{"type":59,"value":144},{"type":53,"tag":81,"props":1757,"children":1758},{"class":83,"line":189},[1759],{"type":53,"tag":81,"props":1760,"children":1761},{"emptyLinePlaceholder":235},[1762],{"type":59,"value":238},{"type":53,"tag":81,"props":1764,"children":1765},{"class":83,"line":231},[1766,1770,1774,1778,1782,1786],{"type":53,"tag":81,"props":1767,"children":1768},{"style":245},[1769],{"type":59,"value":248},{"type":53,"tag":81,"props":1771,"children":1772},{"style":110},[1773],{"type":59,"value":1270},{"type":53,"tag":81,"props":1775,"children":1776},{"style":104},[1777],{"type":59,"value":258},{"type":53,"tag":81,"props":1779,"children":1780},{"style":270},[1781],{"type":59,"value":1188},{"type":53,"tag":81,"props":1783,"children":1784},{"style":110},[1785],{"type":59,"value":326},{"type":53,"tag":81,"props":1787,"children":1788},{"style":104},[1789],{"type":59,"value":331},{"type":53,"tag":81,"props":1791,"children":1792},{"class":83,"line":241},[1793,1797,1801,1805],{"type":53,"tag":81,"props":1794,"children":1795},{"style":338},[1796],{"type":59,"value":643},{"type":53,"tag":81,"props":1798,"children":1799},{"style":104},[1800],{"type":59,"value":346},{"type":53,"tag":81,"props":1802,"children":1803},{"style":110},[1804],{"type":59,"value":605},{"type":53,"tag":81,"props":1806,"children":1807},{"style":104},[1808],{"type":59,"value":545},{"type":53,"tag":81,"props":1810,"children":1811},{"class":83,"line":285},[1812,1817,1821,1825,1830,1834],{"type":53,"tag":81,"props":1813,"children":1814},{"style":338},[1815],{"type":59,"value":1816},"  basePath",{"type":53,"tag":81,"props":1818,"children":1819},{"style":104},[1820],{"type":59,"value":346},{"type":53,"tag":81,"props":1822,"children":1823},{"style":104},[1824],{"type":59,"value":128},{"type":53,"tag":81,"props":1826,"children":1827},{"style":131},[1828],{"type":59,"value":1829},"\u002Ftrpc\u002F",{"type":53,"tag":81,"props":1831,"children":1832},{"style":104},[1833],{"type":59,"value":139},{"type":53,"tag":81,"props":1835,"children":1836},{"style":104},[1837],{"type":59,"value":545},{"type":53,"tag":81,"props":1839,"children":1840},{"class":83,"line":293},[1841,1845,1849],{"type":53,"tag":81,"props":1842,"children":1843},{"style":104},[1844],{"type":59,"value":428},{"type":53,"tag":81,"props":1846,"children":1847},{"style":110},[1848],{"type":59,"value":558},{"type":53,"tag":81,"props":1850,"children":1851},{"style":104},[1852],{"type":59,"value":144},{"type":53,"tag":81,"props":1854,"children":1855},{"class":83,"line":334},[1856],{"type":53,"tag":81,"props":1857,"children":1858},{"emptyLinePlaceholder":235},[1859],{"type":59,"value":238},{"type":53,"tag":81,"props":1861,"children":1862},{"class":83,"line":362},[1863,1867,1871,1875,1879,1883,1887,1891,1895],{"type":53,"tag":81,"props":1864,"children":1865},{"style":270},[1866],{"type":59,"value":1368},{"type":53,"tag":81,"props":1868,"children":1869},{"style":110},[1870],{"type":59,"value":326},{"type":53,"tag":81,"props":1872,"children":1873},{"style":104},[1874],{"type":59,"value":326},{"type":53,"tag":81,"props":1876,"children":1877},{"style":458},[1878],{"type":59,"value":1381},{"type":53,"tag":81,"props":1880,"children":1881},{"style":104},[1882],{"type":59,"value":1386},{"type":53,"tag":81,"props":1884,"children":1885},{"style":458},[1886],{"type":59,"value":1391},{"type":53,"tag":81,"props":1888,"children":1889},{"style":104},[1890],{"type":59,"value":558},{"type":53,"tag":81,"props":1892,"children":1893},{"style":245},[1894],{"type":59,"value":471},{"type":53,"tag":81,"props":1896,"children":1897},{"style":104},[1898],{"type":59,"value":673},{"type":53,"tag":81,"props":1900,"children":1901},{"class":83,"line":436},[1902,1906,1910,1914,1918,1922,1926,1930,1934,1938,1942,1946,1950],{"type":53,"tag":81,"props":1903,"children":1904},{"style":98},[1905],{"type":59,"value":1411},{"type":53,"tag":81,"props":1907,"children":1908},{"style":338},[1909],{"type":59,"value":476},{"type":53,"tag":81,"props":1911,"children":1912},{"style":110},[1913],{"type":59,"value":1381},{"type":53,"tag":81,"props":1915,"children":1916},{"style":104},[1917],{"type":59,"value":267},{"type":53,"tag":81,"props":1919,"children":1920},{"style":110},[1921],{"type":59,"value":1428},{"type":53,"tag":81,"props":1923,"children":1924},{"style":104},[1925],{"type":59,"value":1433},{"type":53,"tag":81,"props":1927,"children":1928},{"style":270},[1929],{"type":59,"value":1438},{"type":53,"tag":81,"props":1931,"children":1932},{"style":338},[1933],{"type":59,"value":326},{"type":53,"tag":81,"props":1935,"children":1936},{"style":104},[1937],{"type":59,"value":139},{"type":53,"tag":81,"props":1939,"children":1940},{"style":131},[1941],{"type":59,"value":1829},{"type":53,"tag":81,"props":1943,"children":1944},{"style":104},[1945],{"type":59,"value":139},{"type":53,"tag":81,"props":1947,"children":1948},{"style":338},[1949],{"type":59,"value":1460},{"type":53,"tag":81,"props":1951,"children":1952},{"style":104},[1953],{"type":59,"value":331},{"type":53,"tag":81,"props":1955,"children":1956},{"class":83,"line":548},[1957,1961,1966,1970,1974,1978,1982,1986],{"type":53,"tag":81,"props":1958,"children":1959},{"style":98},[1960],{"type":59,"value":682},{"type":53,"tag":81,"props":1962,"children":1963},{"style":270},[1964],{"type":59,"value":1965}," handler",{"type":53,"tag":81,"props":1967,"children":1968},{"style":338},[1969],{"type":59,"value":326},{"type":53,"tag":81,"props":1971,"children":1972},{"style":110},[1973],{"type":59,"value":1381},{"type":53,"tag":81,"props":1975,"children":1976},{"style":104},[1977],{"type":59,"value":1386},{"type":53,"tag":81,"props":1979,"children":1980},{"style":110},[1981],{"type":59,"value":1391},{"type":53,"tag":81,"props":1983,"children":1984},{"style":338},[1985],{"type":59,"value":558},{"type":53,"tag":81,"props":1987,"children":1988},{"style":104},[1989],{"type":59,"value":144},{"type":53,"tag":81,"props":1991,"children":1992},{"class":83,"line":565},[1993],{"type":53,"tag":81,"props":1994,"children":1995},{"style":104},[1996],{"type":59,"value":1558},{"type":53,"tag":81,"props":1998,"children":1999},{"class":83,"line":573},[2000,2005,2009,2014,2018,2023],{"type":53,"tag":81,"props":2001,"children":2002},{"style":110},[2003],{"type":59,"value":2004},"  res",{"type":53,"tag":81,"props":2006,"children":2007},{"style":104},[2008],{"type":59,"value":267},{"type":53,"tag":81,"props":2010,"children":2011},{"style":110},[2012],{"type":59,"value":2013},"statusCode",{"type":53,"tag":81,"props":2015,"children":2016},{"style":104},[2017],{"type":59,"value":595},{"type":53,"tag":81,"props":2019,"children":2020},{"style":724},[2021],{"type":59,"value":2022}," 404",{"type":53,"tag":81,"props":2024,"children":2025},{"style":104},[2026],{"type":59,"value":144},{"type":53,"tag":81,"props":2028,"children":2029},{"class":83,"line":612},[2030,2034,2038,2042,2046,2050,2055,2059,2063],{"type":53,"tag":81,"props":2031,"children":2032},{"style":110},[2033],{"type":59,"value":2004},{"type":53,"tag":81,"props":2035,"children":2036},{"style":104},[2037],{"type":59,"value":267},{"type":53,"tag":81,"props":2039,"children":2040},{"style":270},[2041],{"type":59,"value":1514},{"type":53,"tag":81,"props":2043,"children":2044},{"style":338},[2045],{"type":59,"value":326},{"type":53,"tag":81,"props":2047,"children":2048},{"style":104},[2049],{"type":59,"value":139},{"type":53,"tag":81,"props":2051,"children":2052},{"style":131},[2053],{"type":59,"value":2054},"Not Found",{"type":53,"tag":81,"props":2056,"children":2057},{"style":104},[2058],{"type":59,"value":139},{"type":53,"tag":81,"props":2060,"children":2061},{"style":338},[2062],{"type":59,"value":558},{"type":53,"tag":81,"props":2064,"children":2065},{"style":104},[2066],{"type":59,"value":144},{"type":53,"tag":81,"props":2068,"children":2069},{"class":83,"line":620},[2070,2074,2078,2082,2086,2090,2094,2098],{"type":53,"tag":81,"props":2071,"children":2072},{"style":104},[2073],{"type":59,"value":428},{"type":53,"tag":81,"props":2075,"children":2076},{"style":110},[2077],{"type":59,"value":558},{"type":53,"tag":81,"props":2079,"children":2080},{"style":104},[2081],{"type":59,"value":267},{"type":53,"tag":81,"props":2083,"children":2084},{"style":270},[2085],{"type":59,"value":717},{"type":53,"tag":81,"props":2087,"children":2088},{"style":110},[2089],{"type":59,"value":326},{"type":53,"tag":81,"props":2091,"children":2092},{"style":724},[2093],{"type":59,"value":727},{"type":53,"tag":81,"props":2095,"children":2096},{"style":110},[2097],{"type":59,"value":558},{"type":53,"tag":81,"props":2099,"children":2100},{"style":104},[2101],{"type":59,"value":144},{"type":53,"tag":1108,"props":2103,"children":2104},{},[2105,2107,2113,2115,2121,2123,2129],{"type":59,"value":2106},"The ",{"type":53,"tag":77,"props":2108,"children":2110},{"className":2109},[],[2111],{"type":59,"value":2112},"basePath",{"type":59,"value":2114}," option strips the prefix before routing, so ",{"type":53,"tag":77,"props":2116,"children":2118},{"className":2117},[],[2119],{"type":59,"value":2120},"\u002Ftrpc\u002Fgreet",{"type":59,"value":2122}," resolves to the ",{"type":53,"tag":77,"props":2124,"children":2126},{"className":2125},[],[2127],{"type":59,"value":2128},"greet",{"type":59,"value":2130}," procedure.",{"type":53,"tag":794,"props":2132,"children":2134},{"id":2133},"http2-with-createhttp2handler",[2135],{"type":59,"value":2136},"HTTP\u002F2 with createHTTP2Handler",{"type":53,"tag":69,"props":2138,"children":2140},{"className":71,"code":2139,"language":73,"meta":74,"style":74},"import http2 from 'http2';\nimport { readFileSync } from 'node:fs';\nimport { createHTTP2Handler } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport type { CreateHTTP2ContextOptions } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport { appRouter } from '.\u002Frouter';\n\nconst tlsKey = readFileSync('.\u002Fcerts\u002Fserver.key');\nconst tlsCert = readFileSync('.\u002Fcerts\u002Fserver.crt');\n\nasync function createContext(opts: CreateHTTP2ContextOptions) {\n  return {};\n}\n\nconst handler = createHTTP2Handler({\n  router: appRouter,\n  createContext,\n});\n\nconst server = http2.createSecureServer(\n  { key: tlsKey, cert: tlsCert },\n  (req, res) => {\n    handler(req, res);\n  },\n);\n\nserver.listen(3001);\n",[2141],{"type":53,"tag":77,"props":2142,"children":2143},{"__ignoreMap":74},[2144,2177,2218,2258,2302,2341,2348,2393,2438,2445,2487,2499,2507,2514,2541,2560,2571,2586,2593,2628,2672,2704,2736,2743,2755,2763],{"type":53,"tag":81,"props":2145,"children":2146},{"class":83,"line":84},[2147,2151,2156,2160,2164,2169,2173],{"type":53,"tag":81,"props":2148,"children":2149},{"style":98},[2150],{"type":59,"value":101},{"type":53,"tag":81,"props":2152,"children":2153},{"style":110},[2154],{"type":59,"value":2155}," http2 ",{"type":53,"tag":81,"props":2157,"children":2158},{"style":98},[2159],{"type":59,"value":862},{"type":53,"tag":81,"props":2161,"children":2162},{"style":104},[2163],{"type":59,"value":128},{"type":53,"tag":81,"props":2165,"children":2166},{"style":131},[2167],{"type":59,"value":2168},"http2",{"type":53,"tag":81,"props":2170,"children":2171},{"style":104},[2172],{"type":59,"value":139},{"type":53,"tag":81,"props":2174,"children":2175},{"style":104},[2176],{"type":59,"value":144},{"type":53,"tag":81,"props":2178,"children":2179},{"class":83,"line":94},[2180,2184,2188,2193,2197,2201,2205,2210,2214],{"type":53,"tag":81,"props":2181,"children":2182},{"style":98},[2183],{"type":59,"value":101},{"type":53,"tag":81,"props":2185,"children":2186},{"style":104},[2187],{"type":59,"value":107},{"type":53,"tag":81,"props":2189,"children":2190},{"style":110},[2191],{"type":59,"value":2192}," readFileSync",{"type":53,"tag":81,"props":2194,"children":2195},{"style":104},[2196],{"type":59,"value":118},{"type":53,"tag":81,"props":2198,"children":2199},{"style":98},[2200],{"type":59,"value":123},{"type":53,"tag":81,"props":2202,"children":2203},{"style":104},[2204],{"type":59,"value":128},{"type":53,"tag":81,"props":2206,"children":2207},{"style":131},[2208],{"type":59,"value":2209},"node:fs",{"type":53,"tag":81,"props":2211,"children":2212},{"style":104},[2213],{"type":59,"value":139},{"type":53,"tag":81,"props":2215,"children":2216},{"style":104},[2217],{"type":59,"value":144},{"type":53,"tag":81,"props":2219,"children":2220},{"class":83,"line":147},[2221,2225,2229,2234,2238,2242,2246,2250,2254],{"type":53,"tag":81,"props":2222,"children":2223},{"style":98},[2224],{"type":59,"value":101},{"type":53,"tag":81,"props":2226,"children":2227},{"style":104},[2228],{"type":59,"value":107},{"type":53,"tag":81,"props":2230,"children":2231},{"style":110},[2232],{"type":59,"value":2233}," createHTTP2Handler",{"type":53,"tag":81,"props":2235,"children":2236},{"style":104},[2237],{"type":59,"value":118},{"type":53,"tag":81,"props":2239,"children":2240},{"style":98},[2241],{"type":59,"value":123},{"type":53,"tag":81,"props":2243,"children":2244},{"style":104},[2245],{"type":59,"value":128},{"type":53,"tag":81,"props":2247,"children":2248},{"style":131},[2249],{"type":59,"value":178},{"type":53,"tag":81,"props":2251,"children":2252},{"style":104},[2253],{"type":59,"value":139},{"type":53,"tag":81,"props":2255,"children":2256},{"style":104},[2257],{"type":59,"value":144},{"type":53,"tag":81,"props":2259,"children":2260},{"class":83,"line":189},[2261,2265,2269,2273,2278,2282,2286,2290,2294,2298],{"type":53,"tag":81,"props":2262,"children":2263},{"style":98},[2264],{"type":59,"value":101},{"type":53,"tag":81,"props":2266,"children":2267},{"style":98},[2268],{"type":59,"value":584},{"type":53,"tag":81,"props":2270,"children":2271},{"style":104},[2272],{"type":59,"value":107},{"type":53,"tag":81,"props":2274,"children":2275},{"style":110},[2276],{"type":59,"value":2277}," CreateHTTP2ContextOptions",{"type":53,"tag":81,"props":2279,"children":2280},{"style":104},[2281],{"type":59,"value":118},{"type":53,"tag":81,"props":2283,"children":2284},{"style":98},[2285],{"type":59,"value":123},{"type":53,"tag":81,"props":2287,"children":2288},{"style":104},[2289],{"type":59,"value":128},{"type":53,"tag":81,"props":2291,"children":2292},{"style":131},[2293],{"type":59,"value":178},{"type":53,"tag":81,"props":2295,"children":2296},{"style":104},[2297],{"type":59,"value":139},{"type":53,"tag":81,"props":2299,"children":2300},{"style":104},[2301],{"type":59,"value":144},{"type":53,"tag":81,"props":2303,"children":2304},{"class":83,"line":231},[2305,2309,2313,2317,2321,2325,2329,2333,2337],{"type":53,"tag":81,"props":2306,"children":2307},{"style":98},[2308],{"type":59,"value":101},{"type":53,"tag":81,"props":2310,"children":2311},{"style":104},[2312],{"type":59,"value":107},{"type":53,"tag":81,"props":2314,"children":2315},{"style":110},[2316],{"type":59,"value":605},{"type":53,"tag":81,"props":2318,"children":2319},{"style":104},[2320],{"type":59,"value":118},{"type":53,"tag":81,"props":2322,"children":2323},{"style":98},[2324],{"type":59,"value":123},{"type":53,"tag":81,"props":2326,"children":2327},{"style":104},[2328],{"type":59,"value":128},{"type":53,"tag":81,"props":2330,"children":2331},{"style":131},[2332],{"type":59,"value":952},{"type":53,"tag":81,"props":2334,"children":2335},{"style":104},[2336],{"type":59,"value":139},{"type":53,"tag":81,"props":2338,"children":2339},{"style":104},[2340],{"type":59,"value":144},{"type":53,"tag":81,"props":2342,"children":2343},{"class":83,"line":241},[2344],{"type":53,"tag":81,"props":2345,"children":2346},{"emptyLinePlaceholder":235},[2347],{"type":59,"value":238},{"type":53,"tag":81,"props":2349,"children":2350},{"class":83,"line":285},[2351,2355,2360,2364,2368,2372,2376,2381,2385,2389],{"type":53,"tag":81,"props":2352,"children":2353},{"style":245},[2354],{"type":59,"value":248},{"type":53,"tag":81,"props":2356,"children":2357},{"style":110},[2358],{"type":59,"value":2359}," tlsKey ",{"type":53,"tag":81,"props":2361,"children":2362},{"style":104},[2363],{"type":59,"value":258},{"type":53,"tag":81,"props":2365,"children":2366},{"style":270},[2367],{"type":59,"value":2192},{"type":53,"tag":81,"props":2369,"children":2370},{"style":110},[2371],{"type":59,"value":326},{"type":53,"tag":81,"props":2373,"children":2374},{"style":104},[2375],{"type":59,"value":139},{"type":53,"tag":81,"props":2377,"children":2378},{"style":131},[2379],{"type":59,"value":2380},".\u002Fcerts\u002Fserver.key",{"type":53,"tag":81,"props":2382,"children":2383},{"style":104},[2384],{"type":59,"value":139},{"type":53,"tag":81,"props":2386,"children":2387},{"style":110},[2388],{"type":59,"value":558},{"type":53,"tag":81,"props":2390,"children":2391},{"style":104},[2392],{"type":59,"value":144},{"type":53,"tag":81,"props":2394,"children":2395},{"class":83,"line":293},[2396,2400,2405,2409,2413,2417,2421,2426,2430,2434],{"type":53,"tag":81,"props":2397,"children":2398},{"style":245},[2399],{"type":59,"value":248},{"type":53,"tag":81,"props":2401,"children":2402},{"style":110},[2403],{"type":59,"value":2404}," tlsCert ",{"type":53,"tag":81,"props":2406,"children":2407},{"style":104},[2408],{"type":59,"value":258},{"type":53,"tag":81,"props":2410,"children":2411},{"style":270},[2412],{"type":59,"value":2192},{"type":53,"tag":81,"props":2414,"children":2415},{"style":110},[2416],{"type":59,"value":326},{"type":53,"tag":81,"props":2418,"children":2419},{"style":104},[2420],{"type":59,"value":139},{"type":53,"tag":81,"props":2422,"children":2423},{"style":131},[2424],{"type":59,"value":2425},".\u002Fcerts\u002Fserver.crt",{"type":53,"tag":81,"props":2427,"children":2428},{"style":104},[2429],{"type":59,"value":139},{"type":53,"tag":81,"props":2431,"children":2432},{"style":110},[2433],{"type":59,"value":558},{"type":53,"tag":81,"props":2435,"children":2436},{"style":104},[2437],{"type":59,"value":144},{"type":53,"tag":81,"props":2439,"children":2440},{"class":83,"line":334},[2441],{"type":53,"tag":81,"props":2442,"children":2443},{"emptyLinePlaceholder":235},[2444],{"type":59,"value":238},{"type":53,"tag":81,"props":2446,"children":2447},{"class":83,"line":362},[2448,2453,2458,2462,2466,2471,2475,2479,2483],{"type":53,"tag":81,"props":2449,"children":2450},{"style":245},[2451],{"type":59,"value":2452},"async",{"type":53,"tag":81,"props":2454,"children":2455},{"style":245},[2456],{"type":59,"value":2457}," function",{"type":53,"tag":81,"props":2459,"children":2460},{"style":270},[2461],{"type":59,"value":895},{"type":53,"tag":81,"props":2463,"children":2464},{"style":104},[2465],{"type":59,"value":326},{"type":53,"tag":81,"props":2467,"children":2468},{"style":458},[2469],{"type":59,"value":2470},"opts",{"type":53,"tag":81,"props":2472,"children":2473},{"style":104},[2474],{"type":59,"value":346},{"type":53,"tag":81,"props":2476,"children":2477},{"style":587},[2478],{"type":59,"value":2277},{"type":53,"tag":81,"props":2480,"children":2481},{"style":104},[2482],{"type":59,"value":558},{"type":53,"tag":81,"props":2484,"children":2485},{"style":104},[2486],{"type":59,"value":673},{"type":53,"tag":81,"props":2488,"children":2489},{"class":83,"line":436},[2490,2495],{"type":53,"tag":81,"props":2491,"children":2492},{"style":98},[2493],{"type":59,"value":2494},"  return",{"type":53,"tag":81,"props":2496,"children":2497},{"style":104},[2498],{"type":59,"value":687},{"type":53,"tag":81,"props":2500,"children":2501},{"class":83,"line":548},[2502],{"type":53,"tag":81,"props":2503,"children":2504},{"style":104},[2505],{"type":59,"value":2506},"}\n",{"type":53,"tag":81,"props":2508,"children":2509},{"class":83,"line":565},[2510],{"type":53,"tag":81,"props":2511,"children":2512},{"emptyLinePlaceholder":235},[2513],{"type":59,"value":238},{"type":53,"tag":81,"props":2515,"children":2516},{"class":83,"line":573},[2517,2521,2525,2529,2533,2537],{"type":53,"tag":81,"props":2518,"children":2519},{"style":245},[2520],{"type":59,"value":248},{"type":53,"tag":81,"props":2522,"children":2523},{"style":110},[2524],{"type":59,"value":1270},{"type":53,"tag":81,"props":2526,"children":2527},{"style":104},[2528],{"type":59,"value":258},{"type":53,"tag":81,"props":2530,"children":2531},{"style":270},[2532],{"type":59,"value":2233},{"type":53,"tag":81,"props":2534,"children":2535},{"style":110},[2536],{"type":59,"value":326},{"type":53,"tag":81,"props":2538,"children":2539},{"style":104},[2540],{"type":59,"value":331},{"type":53,"tag":81,"props":2542,"children":2543},{"class":83,"line":612},[2544,2548,2552,2556],{"type":53,"tag":81,"props":2545,"children":2546},{"style":338},[2547],{"type":59,"value":643},{"type":53,"tag":81,"props":2549,"children":2550},{"style":104},[2551],{"type":59,"value":346},{"type":53,"tag":81,"props":2553,"children":2554},{"style":110},[2555],{"type":59,"value":605},{"type":53,"tag":81,"props":2557,"children":2558},{"style":104},[2559],{"type":59,"value":545},{"type":53,"tag":81,"props":2561,"children":2562},{"class":83,"line":620},[2563,2567],{"type":53,"tag":81,"props":2564,"children":2565},{"style":110},[2566],{"type":59,"value":664},{"type":53,"tag":81,"props":2568,"children":2569},{"style":104},[2570],{"type":59,"value":545},{"type":53,"tag":81,"props":2572,"children":2573},{"class":83,"line":637},[2574,2578,2582],{"type":53,"tag":81,"props":2575,"children":2576},{"style":104},[2577],{"type":59,"value":428},{"type":53,"tag":81,"props":2579,"children":2580},{"style":110},[2581],{"type":59,"value":558},{"type":53,"tag":81,"props":2583,"children":2584},{"style":104},[2585],{"type":59,"value":144},{"type":53,"tag":81,"props":2587,"children":2588},{"class":83,"line":658},[2589],{"type":53,"tag":81,"props":2590,"children":2591},{"emptyLinePlaceholder":235},[2592],{"type":59,"value":238},{"type":53,"tag":81,"props":2594,"children":2595},{"class":83,"line":676},[2596,2600,2605,2609,2614,2618,2623],{"type":53,"tag":81,"props":2597,"children":2598},{"style":245},[2599],{"type":59,"value":248},{"type":53,"tag":81,"props":2601,"children":2602},{"style":110},[2603],{"type":59,"value":2604}," server ",{"type":53,"tag":81,"props":2606,"children":2607},{"style":104},[2608],{"type":59,"value":258},{"type":53,"tag":81,"props":2610,"children":2611},{"style":110},[2612],{"type":59,"value":2613}," http2",{"type":53,"tag":81,"props":2615,"children":2616},{"style":104},[2617],{"type":59,"value":267},{"type":53,"tag":81,"props":2619,"children":2620},{"style":270},[2621],{"type":59,"value":2622},"createSecureServer",{"type":53,"tag":81,"props":2624,"children":2625},{"style":110},[2626],{"type":59,"value":2627},"(\n",{"type":53,"tag":81,"props":2629,"children":2630},{"class":83,"line":690},[2631,2636,2641,2645,2650,2654,2659,2663,2667],{"type":53,"tag":81,"props":2632,"children":2633},{"style":104},[2634],{"type":59,"value":2635},"  {",{"type":53,"tag":81,"props":2637,"children":2638},{"style":338},[2639],{"type":59,"value":2640}," key",{"type":53,"tag":81,"props":2642,"children":2643},{"style":104},[2644],{"type":59,"value":346},{"type":53,"tag":81,"props":2646,"children":2647},{"style":110},[2648],{"type":59,"value":2649}," tlsKey",{"type":53,"tag":81,"props":2651,"children":2652},{"style":104},[2653],{"type":59,"value":1386},{"type":53,"tag":81,"props":2655,"children":2656},{"style":338},[2657],{"type":59,"value":2658}," cert",{"type":53,"tag":81,"props":2660,"children":2661},{"style":104},[2662],{"type":59,"value":346},{"type":53,"tag":81,"props":2664,"children":2665},{"style":110},[2666],{"type":59,"value":2404},{"type":53,"tag":81,"props":2668,"children":2669},{"style":104},[2670],{"type":59,"value":2671},"},\n",{"type":53,"tag":81,"props":2673,"children":2674},{"class":83,"line":699},[2675,2680,2684,2688,2692,2696,2700],{"type":53,"tag":81,"props":2676,"children":2677},{"style":104},[2678],{"type":59,"value":2679},"  (",{"type":53,"tag":81,"props":2681,"children":2682},{"style":458},[2683],{"type":59,"value":1381},{"type":53,"tag":81,"props":2685,"children":2686},{"style":104},[2687],{"type":59,"value":1386},{"type":53,"tag":81,"props":2689,"children":2690},{"style":458},[2691],{"type":59,"value":1391},{"type":53,"tag":81,"props":2693,"children":2694},{"style":104},[2695],{"type":59,"value":558},{"type":53,"tag":81,"props":2697,"children":2698},{"style":245},[2699],{"type":59,"value":471},{"type":53,"tag":81,"props":2701,"children":2702},{"style":104},[2703],{"type":59,"value":673},{"type":53,"tag":81,"props":2705,"children":2706},{"class":83,"line":738},[2707,2712,2716,2720,2724,2728,2732],{"type":53,"tag":81,"props":2708,"children":2709},{"style":270},[2710],{"type":59,"value":2711},"    handler",{"type":53,"tag":81,"props":2713,"children":2714},{"style":338},[2715],{"type":59,"value":326},{"type":53,"tag":81,"props":2717,"children":2718},{"style":110},[2719],{"type":59,"value":1381},{"type":53,"tag":81,"props":2721,"children":2722},{"style":104},[2723],{"type":59,"value":1386},{"type":53,"tag":81,"props":2725,"children":2726},{"style":110},[2727],{"type":59,"value":1391},{"type":53,"tag":81,"props":2729,"children":2730},{"style":338},[2731],{"type":59,"value":558},{"type":53,"tag":81,"props":2733,"children":2734},{"style":104},[2735],{"type":59,"value":144},{"type":53,"tag":81,"props":2737,"children":2738},{"class":83,"line":746},[2739],{"type":53,"tag":81,"props":2740,"children":2741},{"style":104},[2742],{"type":59,"value":696},{"type":53,"tag":81,"props":2744,"children":2746},{"class":83,"line":2745},24,[2747,2751],{"type":53,"tag":81,"props":2748,"children":2749},{"style":110},[2750],{"type":59,"value":558},{"type":53,"tag":81,"props":2752,"children":2753},{"style":104},[2754],{"type":59,"value":144},{"type":53,"tag":81,"props":2756,"children":2758},{"class":83,"line":2757},25,[2759],{"type":53,"tag":81,"props":2760,"children":2761},{"emptyLinePlaceholder":235},[2762],{"type":59,"value":238},{"type":53,"tag":81,"props":2764,"children":2766},{"class":83,"line":2765},26,[2767,2772,2776,2780,2784,2789,2793],{"type":53,"tag":81,"props":2768,"children":2769},{"style":110},[2770],{"type":59,"value":2771},"server",{"type":53,"tag":81,"props":2773,"children":2774},{"style":104},[2775],{"type":59,"value":267},{"type":53,"tag":81,"props":2777,"children":2778},{"style":270},[2779],{"type":59,"value":717},{"type":53,"tag":81,"props":2781,"children":2782},{"style":110},[2783],{"type":59,"value":326},{"type":53,"tag":81,"props":2785,"children":2786},{"style":724},[2787],{"type":59,"value":2788},"3001",{"type":53,"tag":81,"props":2790,"children":2791},{"style":110},[2792],{"type":59,"value":558},{"type":53,"tag":81,"props":2794,"children":2795},{"style":104},[2796],{"type":59,"value":144},{"type":53,"tag":794,"props":2798,"children":2800},{"id":2799},"limiting-batch-size-with-maxbatchsize",[2801],{"type":59,"value":2802},"Limiting batch size with maxBatchSize",{"type":53,"tag":69,"props":2804,"children":2806},{"className":71,"code":2805,"language":73,"meta":74,"style":74},"import { createHTTPServer } from '@trpc\u002Fserver\u002Fadapters\u002Fstandalone';\nimport { appRouter } from '.\u002Frouter';\n\ncreateHTTPServer({\n  router: appRouter,\n  maxBatchSize: 10,\n}).listen(3000);\n",[2807],{"type":53,"tag":77,"props":2808,"children":2809},{"__ignoreMap":74},[2810,2849,2888,2895,2910,2929,2950],{"type":53,"tag":81,"props":2811,"children":2812},{"class":83,"line":84},[2813,2817,2821,2825,2829,2833,2837,2841,2845],{"type":53,"tag":81,"props":2814,"children":2815},{"style":98},[2816],{"type":59,"value":101},{"type":53,"tag":81,"props":2818,"children":2819},{"style":104},[2820],{"type":59,"value":107},{"type":53,"tag":81,"props":2822,"children":2823},{"style":110},[2824],{"type":59,"value":161},{"type":53,"tag":81,"props":2826,"children":2827},{"style":104},[2828],{"type":59,"value":118},{"type":53,"tag":81,"props":2830,"children":2831},{"style":98},[2832],{"type":59,"value":123},{"type":53,"tag":81,"props":2834,"children":2835},{"style":104},[2836],{"type":59,"value":128},{"type":53,"tag":81,"props":2838,"children":2839},{"style":131},[2840],{"type":59,"value":178},{"type":53,"tag":81,"props":2842,"children":2843},{"style":104},[2844],{"type":59,"value":139},{"type":53,"tag":81,"props":2846,"children":2847},{"style":104},[2848],{"type":59,"value":144},{"type":53,"tag":81,"props":2850,"children":2851},{"class":83,"line":94},[2852,2856,2860,2864,2868,2872,2876,2880,2884],{"type":53,"tag":81,"props":2853,"children":2854},{"style":98},[2855],{"type":59,"value":101},{"type":53,"tag":81,"props":2857,"children":2858},{"style":104},[2859],{"type":59,"value":107},{"type":53,"tag":81,"props":2861,"children":2862},{"style":110},[2863],{"type":59,"value":605},{"type":53,"tag":81,"props":2865,"children":2866},{"style":104},[2867],{"type":59,"value":118},{"type":53,"tag":81,"props":2869,"children":2870},{"style":98},[2871],{"type":59,"value":123},{"type":53,"tag":81,"props":2873,"children":2874},{"style":104},[2875],{"type":59,"value":128},{"type":53,"tag":81,"props":2877,"children":2878},{"style":131},[2879],{"type":59,"value":952},{"type":53,"tag":81,"props":2881,"children":2882},{"style":104},[2883],{"type":59,"value":139},{"type":53,"tag":81,"props":2885,"children":2886},{"style":104},[2887],{"type":59,"value":144},{"type":53,"tag":81,"props":2889,"children":2890},{"class":83,"line":147},[2891],{"type":53,"tag":81,"props":2892,"children":2893},{"emptyLinePlaceholder":235},[2894],{"type":59,"value":238},{"type":53,"tag":81,"props":2896,"children":2897},{"class":83,"line":189},[2898,2902,2906],{"type":53,"tag":81,"props":2899,"children":2900},{"style":270},[2901],{"type":59,"value":626},{"type":53,"tag":81,"props":2903,"children":2904},{"style":110},[2905],{"type":59,"value":326},{"type":53,"tag":81,"props":2907,"children":2908},{"style":104},[2909],{"type":59,"value":331},{"type":53,"tag":81,"props":2911,"children":2912},{"class":83,"line":231},[2913,2917,2921,2925],{"type":53,"tag":81,"props":2914,"children":2915},{"style":338},[2916],{"type":59,"value":643},{"type":53,"tag":81,"props":2918,"children":2919},{"style":104},[2920],{"type":59,"value":346},{"type":53,"tag":81,"props":2922,"children":2923},{"style":110},[2924],{"type":59,"value":605},{"type":53,"tag":81,"props":2926,"children":2927},{"style":104},[2928],{"type":59,"value":545},{"type":53,"tag":81,"props":2930,"children":2931},{"class":83,"line":241},[2932,2937,2941,2946],{"type":53,"tag":81,"props":2933,"children":2934},{"style":338},[2935],{"type":59,"value":2936},"  maxBatchSize",{"type":53,"tag":81,"props":2938,"children":2939},{"style":104},[2940],{"type":59,"value":346},{"type":53,"tag":81,"props":2942,"children":2943},{"style":724},[2944],{"type":59,"value":2945}," 10",{"type":53,"tag":81,"props":2947,"children":2948},{"style":104},[2949],{"type":59,"value":545},{"type":53,"tag":81,"props":2951,"children":2952},{"class":83,"line":285},[2953,2957,2961,2965,2969,2973,2977,2981],{"type":53,"tag":81,"props":2954,"children":2955},{"style":104},[2956],{"type":59,"value":428},{"type":53,"tag":81,"props":2958,"children":2959},{"style":110},[2960],{"type":59,"value":558},{"type":53,"tag":81,"props":2962,"children":2963},{"style":104},[2964],{"type":59,"value":267},{"type":53,"tag":81,"props":2966,"children":2967},{"style":270},[2968],{"type":59,"value":717},{"type":53,"tag":81,"props":2970,"children":2971},{"style":110},[2972],{"type":59,"value":326},{"type":53,"tag":81,"props":2974,"children":2975},{"style":724},[2976],{"type":59,"value":727},{"type":53,"tag":81,"props":2978,"children":2979},{"style":110},[2980],{"type":59,"value":558},{"type":53,"tag":81,"props":2982,"children":2983},{"style":104},[2984],{"type":59,"value":144},{"type":53,"tag":1108,"props":2986,"children":2987},{},[2988,2990,2996,2998,3004,3006,3012,3014,3020],{"type":59,"value":2989},"Requests batching more than ",{"type":53,"tag":77,"props":2991,"children":2993},{"className":2992},[],[2994],{"type":59,"value":2995},"maxBatchSize",{"type":59,"value":2997}," operations are rejected with a ",{"type":53,"tag":77,"props":2999,"children":3001},{"className":3000},[],[3002],{"type":59,"value":3003},"400 Bad Request",{"type":59,"value":3005}," error. Set ",{"type":53,"tag":77,"props":3007,"children":3009},{"className":3008},[],[3010],{"type":59,"value":3011},"maxItems",{"type":59,"value":3013}," on your client's ",{"type":53,"tag":77,"props":3015,"children":3017},{"className":3016},[],[3018],{"type":59,"value":3019},"httpBatchLink",{"type":59,"value":3021}," to the same value to avoid exceeding the limit.",{"type":53,"tag":62,"props":3023,"children":3025},{"id":3024},"common-mistakes",[3026],{"type":59,"value":3027},"Common Mistakes",{"type":53,"tag":794,"props":3029,"children":3031},{"id":3030},"high-no-cors-configuration-for-cross-origin-requests",[3032],{"type":59,"value":3033},"HIGH No CORS configuration for cross-origin requests",{"type":53,"tag":1108,"props":3035,"children":3036},{},[3037],{"type":59,"value":3038},"Wrong:",{"type":53,"tag":69,"props":3040,"children":3042},{"className":71,"code":3041,"language":73,"meta":74,"style":74},"createHTTPServer({\n  router: appRouter,\n  createContext() {\n    return {};\n  },\n}).listen(3000);\n",[3043],{"type":53,"tag":77,"props":3044,"children":3045},{"__ignoreMap":74},[3046,3061,3080,3095,3106,3113],{"type":53,"tag":81,"props":3047,"children":3048},{"class":83,"line":84},[3049,3053,3057],{"type":53,"tag":81,"props":3050,"children":3051},{"style":270},[3052],{"type":59,"value":626},{"type":53,"tag":81,"props":3054,"children":3055},{"style":110},[3056],{"type":59,"value":326},{"type":53,"tag":81,"props":3058,"children":3059},{"style":104},[3060],{"type":59,"value":331},{"type":53,"tag":81,"props":3062,"children":3063},{"class":83,"line":94},[3064,3068,3072,3076],{"type":53,"tag":81,"props":3065,"children":3066},{"style":338},[3067],{"type":59,"value":643},{"type":53,"tag":81,"props":3069,"children":3070},{"style":104},[3071],{"type":59,"value":346},{"type":53,"tag":81,"props":3073,"children":3074},{"style":110},[3075],{"type":59,"value":605},{"type":53,"tag":81,"props":3077,"children":3078},{"style":104},[3079],{"type":59,"value":545},{"type":53,"tag":81,"props":3081,"children":3082},{"class":83,"line":147},[3083,3087,3091],{"type":53,"tag":81,"props":3084,"children":3085},{"style":338},[3086],{"type":59,"value":664},{"type":53,"tag":81,"props":3088,"children":3089},{"style":104},[3090],{"type":59,"value":278},{"type":53,"tag":81,"props":3092,"children":3093},{"style":104},[3094],{"type":59,"value":673},{"type":53,"tag":81,"props":3096,"children":3097},{"class":83,"line":189},[3098,3102],{"type":53,"tag":81,"props":3099,"children":3100},{"style":98},[3101],{"type":59,"value":682},{"type":53,"tag":81,"props":3103,"children":3104},{"style":104},[3105],{"type":59,"value":687},{"type":53,"tag":81,"props":3107,"children":3108},{"class":83,"line":231},[3109],{"type":53,"tag":81,"props":3110,"children":3111},{"style":104},[3112],{"type":59,"value":696},{"type":53,"tag":81,"props":3114,"children":3115},{"class":83,"line":241},[3116,3120,3124,3128,3132,3136,3140,3144],{"type":53,"tag":81,"props":3117,"children":3118},{"style":104},[3119],{"type":59,"value":428},{"type":53,"tag":81,"props":3121,"children":3122},{"style":110},[3123],{"type":59,"value":558},{"type":53,"tag":81,"props":3125,"children":3126},{"style":104},[3127],{"type":59,"value":267},{"type":53,"tag":81,"props":3129,"children":3130},{"style":270},[3131],{"type":59,"value":717},{"type":53,"tag":81,"props":3133,"children":3134},{"style":110},[3135],{"type":59,"value":326},{"type":53,"tag":81,"props":3137,"children":3138},{"style":724},[3139],{"type":59,"value":727},{"type":53,"tag":81,"props":3141,"children":3142},{"style":110},[3143],{"type":59,"value":558},{"type":53,"tag":81,"props":3145,"children":3146},{"style":104},[3147],{"type":59,"value":144},{"type":53,"tag":1108,"props":3149,"children":3150},{},[3151],{"type":59,"value":3152},"Correct:",{"type":53,"tag":69,"props":3154,"children":3156},{"className":71,"code":3155,"language":73,"meta":74,"style":74},"import cors from 'cors';\n\ncreateHTTPServer({\n  middleware: cors({ origin: 'http:\u002F\u002Flocalhost:5173' }),\n  router: appRouter,\n  createContext() {\n    return {};\n  },\n}).listen(3000);\n",[3157],{"type":53,"tag":77,"props":3158,"children":3159},{"__ignoreMap":74},[3160,3191,3198,3213,3268,3287,3302,3313,3320],{"type":53,"tag":81,"props":3161,"children":3162},{"class":83,"line":84},[3163,3167,3171,3175,3179,3183,3187],{"type":53,"tag":81,"props":3164,"children":3165},{"style":98},[3166],{"type":59,"value":101},{"type":53,"tag":81,"props":3168,"children":3169},{"style":110},[3170],{"type":59,"value":857},{"type":53,"tag":81,"props":3172,"children":3173},{"style":98},[3174],{"type":59,"value":862},{"type":53,"tag":81,"props":3176,"children":3177},{"style":104},[3178],{"type":59,"value":128},{"type":53,"tag":81,"props":3180,"children":3181},{"style":131},[3182],{"type":59,"value":871},{"type":53,"tag":81,"props":3184,"children":3185},{"style":104},[3186],{"type":59,"value":139},{"type":53,"tag":81,"props":3188,"children":3189},{"style":104},[3190],{"type":59,"value":144},{"type":53,"tag":81,"props":3192,"children":3193},{"class":83,"line":94},[3194],{"type":53,"tag":81,"props":3195,"children":3196},{"emptyLinePlaceholder":235},[3197],{"type":59,"value":238},{"type":53,"tag":81,"props":3199,"children":3200},{"class":83,"line":147},[3201,3205,3209],{"type":53,"tag":81,"props":3202,"children":3203},{"style":270},[3204],{"type":59,"value":626},{"type":53,"tag":81,"props":3206,"children":3207},{"style":110},[3208],{"type":59,"value":326},{"type":53,"tag":81,"props":3210,"children":3211},{"style":104},[3212],{"type":59,"value":331},{"type":53,"tag":81,"props":3214,"children":3215},{"class":83,"line":189},[3216,3220,3224,3228,3232,3236,3240,3244,3248,3252,3256,3260,3264],{"type":53,"tag":81,"props":3217,"children":3218},{"style":338},[3219],{"type":59,"value":990},{"type":53,"tag":81,"props":3221,"children":3222},{"style":104},[3223],{"type":59,"value":346},{"type":53,"tag":81,"props":3225,"children":3226},{"style":270},[3227],{"type":59,"value":999},{"type":53,"tag":81,"props":3229,"children":3230},{"style":110},[3231],{"type":59,"value":326},{"type":53,"tag":81,"props":3233,"children":3234},{"style":104},[3235],{"type":59,"value":396},{"type":53,"tag":81,"props":3237,"children":3238},{"style":338},[3239],{"type":59,"value":1012},{"type":53,"tag":81,"props":3241,"children":3242},{"style":104},[3243],{"type":59,"value":346},{"type":53,"tag":81,"props":3245,"children":3246},{"style":104},[3247],{"type":59,"value":128},{"type":53,"tag":81,"props":3249,"children":3250},{"style":131},[3251],{"type":59,"value":1025},{"type":53,"tag":81,"props":3253,"children":3254},{"style":104},[3255],{"type":59,"value":139},{"type":53,"tag":81,"props":3257,"children":3258},{"style":104},[3259],{"type":59,"value":118},{"type":53,"tag":81,"props":3261,"children":3262},{"style":110},[3263],{"type":59,"value":558},{"type":53,"tag":81,"props":3265,"children":3266},{"style":104},[3267],{"type":59,"value":545},{"type":53,"tag":81,"props":3269,"children":3270},{"class":83,"line":231},[3271,3275,3279,3283],{"type":53,"tag":81,"props":3272,"children":3273},{"style":338},[3274],{"type":59,"value":643},{"type":53,"tag":81,"props":3276,"children":3277},{"style":104},[3278],{"type":59,"value":346},{"type":53,"tag":81,"props":3280,"children":3281},{"style":110},[3282],{"type":59,"value":605},{"type":53,"tag":81,"props":3284,"children":3285},{"style":104},[3286],{"type":59,"value":545},{"type":53,"tag":81,"props":3288,"children":3289},{"class":83,"line":241},[3290,3294,3298],{"type":53,"tag":81,"props":3291,"children":3292},{"style":338},[3293],{"type":59,"value":664},{"type":53,"tag":81,"props":3295,"children":3296},{"style":104},[3297],{"type":59,"value":278},{"type":53,"tag":81,"props":3299,"children":3300},{"style":104},[3301],{"type":59,"value":673},{"type":53,"tag":81,"props":3303,"children":3304},{"class":83,"line":285},[3305,3309],{"type":53,"tag":81,"props":3306,"children":3307},{"style":98},[3308],{"type":59,"value":682},{"type":53,"tag":81,"props":3310,"children":3311},{"style":104},[3312],{"type":59,"value":687},{"type":53,"tag":81,"props":3314,"children":3315},{"class":83,"line":293},[3316],{"type":53,"tag":81,"props":3317,"children":3318},{"style":104},[3319],{"type":59,"value":696},{"type":53,"tag":81,"props":3321,"children":3322},{"class":83,"line":334},[3323,3327,3331,3335,3339,3343,3347,3351],{"type":53,"tag":81,"props":3324,"children":3325},{"style":104},[3326],{"type":59,"value":428},{"type":53,"tag":81,"props":3328,"children":3329},{"style":110},[3330],{"type":59,"value":558},{"type":53,"tag":81,"props":3332,"children":3333},{"style":104},[3334],{"type":59,"value":267},{"type":53,"tag":81,"props":3336,"children":3337},{"style":270},[3338],{"type":59,"value":717},{"type":53,"tag":81,"props":3340,"children":3341},{"style":110},[3342],{"type":59,"value":326},{"type":53,"tag":81,"props":3344,"children":3345},{"style":724},[3346],{"type":59,"value":727},{"type":53,"tag":81,"props":3348,"children":3349},{"style":110},[3350],{"type":59,"value":558},{"type":53,"tag":81,"props":3352,"children":3353},{"style":104},[3354],{"type":59,"value":144},{"type":53,"tag":1108,"props":3356,"children":3357},{},[3358],{"type":59,"value":3359},"The standalone adapter has no CORS handling by default. Cross-origin browser requests fail silently because preflight OPTIONS requests receive no CORS headers.",{"type":53,"tag":1108,"props":3361,"children":3362},{},[3363],{"type":59,"value":3364},"Source: www\u002Fdocs\u002Fserver\u002Fadapters\u002Fstandalone.md",{"type":53,"tag":62,"props":3366,"children":3368},{"id":3367},"see-also",[3369],{"type":59,"value":3370},"See Also",{"type":53,"tag":3372,"props":3373,"children":3374},"ul",{},[3375,3394,3404,3414],{"type":53,"tag":3376,"props":3377,"children":3378},"li",{},[3379,3384,3386,3392],{"type":53,"tag":3380,"props":3381,"children":3382},"strong",{},[3383],{"type":59,"value":45},{"type":59,"value":3385}," -- ",{"type":53,"tag":77,"props":3387,"children":3389},{"className":3388},[],[3390],{"type":59,"value":3391},"initTRPC.create()",{"type":59,"value":3393},", router\u002Fprocedure definition, context",{"type":53,"tag":3376,"props":3395,"children":3396},{},[3397,3402],{"type":53,"tag":3380,"props":3398,"children":3399},{},[3400],{"type":59,"value":3401},"adapter-express",{"type":59,"value":3403}," -- alternative adapter when you need Express middleware ecosystem",{"type":53,"tag":3376,"props":3405,"children":3406},{},[3407,3412],{"type":53,"tag":3380,"props":3408,"children":3409},{},[3410],{"type":59,"value":3411},"adapter-fetch",{"type":59,"value":3413}," -- alternative adapter for edge\u002Fserverless runtimes",{"type":53,"tag":3376,"props":3415,"children":3416},{},[3417,3422],{"type":53,"tag":3380,"props":3418,"children":3419},{},[3420],{"type":59,"value":3421},"subscriptions",{"type":59,"value":3423}," -- adding real-time subscriptions to a standalone server",{"type":53,"tag":3425,"props":3426,"children":3427},"style",{},[3428],{"type":59,"value":3429},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":3431,"total":2745},[3432,3445,3457,3470,3489,3496,3510,3524,3536,3550,3560,3572],{"slug":3433,"name":3433,"fn":3434,"description":3435,"org":3436,"tags":3437,"stars":23,"repoUrl":24,"updatedAt":3444},"adapter-aws-lambda","deploy tRPC APIs on AWS Lambda","Deploy tRPC on AWS Lambda with awsLambdaRequestHandler() from @trpc\u002Fserver\u002Fadapters\u002Faws-lambda for API Gateway v1 (REST, APIGatewayProxyEvent) and v2 (HTTP, APIGatewayProxyEventV2), and Lambda Function URLs. Enable response streaming with awsLambdaStreamingRequestHandler() wrapped in awslambda.streamifyResponse(). CreateAWSLambdaContextOptions provides event and context for context creation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3438,3439,3442,3443],{"name":21,"slug":22,"type":15},{"name":3440,"slug":3441,"type":15},"AWS","aws",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-18T05:47:05.451869",{"slug":3401,"name":3401,"fn":3446,"description":3447,"org":3448,"tags":3449,"stars":23,"repoUrl":24,"updatedAt":3456},"mount tRPC as Express middleware","Mount tRPC as Express middleware with createExpressMiddleware() from @trpc\u002Fserver\u002Fadapters\u002Fexpress. Access Express req\u002Fres in createContext via CreateExpressContextOptions. Mount at a path prefix like app.use('\u002Ftrpc', ...). Avoid global express.json() conflicting with tRPC body parsing for FormData.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3450,3451,3452,3455],{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":3453,"slug":3454,"type":15},"Express","express",{"name":9,"slug":8,"type":15},"2026-07-18T05:46:53.274248",{"slug":3458,"name":3458,"fn":3459,"description":3460,"org":3461,"tags":3462,"stars":23,"repoUrl":24,"updatedAt":3469},"adapter-fastify","mount tRPC as a Fastify plugin","Mount tRPC as a Fastify plugin with fastifyTRPCPlugin from @trpc\u002Fserver\u002Fadapters\u002Ffastify. Configure prefix, trpcOptions (router, createContext, onError). Enable WebSocket subscriptions with useWSS and @fastify\u002Fwebsocket. Set routerOptions.maxParamLength for batch requests. Requires Fastify v5+. FastifyTRPCPluginOptions for type-safe onError. CreateFastifyContextOptions provides req, res.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3463,3464,3465,3468],{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":3466,"slug":3467,"type":15},"Fastify","fastify",{"name":9,"slug":8,"type":15},"2026-07-18T05:46:53.746621",{"slug":3411,"name":3411,"fn":3471,"description":3472,"org":3473,"tags":3474,"stars":23,"repoUrl":24,"updatedAt":3488},"deploy tRPC on edge runtimes","Deploy tRPC on WinterCG-compliant edge runtimes with fetchRequestHandler() from @trpc\u002Fserver\u002Fadapters\u002Ffetch. Supports Cloudflare Workers, Deno Deploy, Vercel Edge Runtime, Astro, Remix, SolidStart. FetchCreateContextFnOptions provides req (Request) and resHeaders (Headers) for context creation. The endpoint option must match the URL path prefix where the handler is mounted.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3475,3478,3481,3484,3485],{"name":3476,"slug":3477,"type":15},"Cloudflare","cloudflare",{"name":3479,"slug":3480,"type":15},"Deployment","deployment",{"name":3482,"slug":3483,"type":15},"Edge","edge",{"name":9,"slug":8,"type":15},{"name":3486,"slug":3487,"type":15},"Vercel","vercel","2026-07-18T05:46:50.548228",{"slug":4,"name":4,"fn":5,"description":6,"org":3490,"tags":3491,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3492,3493,3494,3495],{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"slug":3497,"name":3497,"fn":3498,"description":3499,"org":3500,"tags":3501,"stars":23,"repoUrl":24,"updatedAt":3509},"auth","implement authentication in tRPC applications","Implement JWT\u002Fcookie authentication and authorization in tRPC using createContext for user extraction, t.middleware with opts.next({ ctx }) for context narrowing to non-null user, protectedProcedure base pattern, client-side Authorization headers via httpBatchLink headers(), WebSocket connectionParams, and SSE auth via cookies or EventSource polyfill custom headers.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3502,3504,3507,3508],{"name":3503,"slug":3497,"type":15},"Auth",{"name":3505,"slug":3506,"type":15},"Authentication","authentication",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-18T05:46:45.347628",{"slug":3511,"name":3511,"fn":3512,"description":3513,"org":3514,"tags":3515,"stars":23,"repoUrl":24,"updatedAt":3523},"caching","configure HTTP caching for tRPC queries","Set HTTP cache headers on tRPC query responses via responseMeta callback for CDN and browser caching. Configure Cache-Control, s-maxage, stale-while-revalidate. Handle caching with batching and authenticated requests. Avoid caching mutations, errors, and authenticated responses.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3516,3517,3519,3522],{"name":13,"slug":14,"type":15},{"name":3518,"slug":3511,"type":15},"Caching",{"name":3520,"slug":3521,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},"2026-07-18T05:46:45.86443",{"slug":3525,"name":3525,"fn":3526,"description":3527,"org":3528,"tags":3529,"stars":23,"repoUrl":24,"updatedAt":3535},"client-setup","set up vanilla tRPC clients","Create a vanilla tRPC client with createTRPCClient\u003CAppRouter>(), configure link chain with httpBatchLink\u002FhttpLink, dynamic headers for auth, transformer on links (not client constructor). Infer types with inferRouterInputs and inferRouterOutputs. AbortController signal support. TRPCClientError typing.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3530,3531,3534],{"name":21,"slug":22,"type":15},{"name":3532,"slug":3533,"type":15},"Frontend","frontend",{"name":9,"slug":8,"type":15},"2026-07-18T05:48:11.437946",{"slug":3537,"name":3537,"fn":3538,"description":3539,"org":3540,"tags":3541,"stars":23,"repoUrl":24,"updatedAt":3549},"error-handling","implement typed error handling in tRPC","Throw typed errors with TRPCError and error codes (NOT_FOUND, UNAUTHORIZED, BAD_REQUEST, INTERNAL_SERVER_ERROR), configure errorFormatter for client-side Zod error display, handle errors globally with onError callback, map tRPC errors to HTTP status codes with getHTTPStatusCodeFromError().\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3542,3543,3546,3547],{"name":13,"slug":14,"type":15},{"name":3544,"slug":3545,"type":15},"Debugging","debugging",{"name":9,"slug":8,"type":15},{"name":3548,"slug":34,"type":15},"TypeScript","2026-07-18T05:46:52.798151",{"slug":3551,"name":3551,"fn":3552,"description":3553,"org":3554,"tags":3555,"stars":23,"repoUrl":24,"updatedAt":3559},"links","configure tRPC client link chains","Configure the tRPC client link chain: httpLink, httpBatchLink, httpBatchStreamLink, splitLink, loggerLink, wsLink, createWSClient, httpSubscriptionLink, unstable_localLink, retryLink. Choose the right terminating link. Route subscriptions via splitLink. Build custom links for SOA routing. Link options: url, headers, transformer, maxURLLength, maxItems, connectionParams, EventSource ponyfill.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3556,3557,3558],{"name":21,"slug":22,"type":15},{"name":3532,"slug":3533,"type":15},{"name":9,"slug":8,"type":15},"2026-07-18T05:47:06.847309",{"slug":3561,"name":3561,"fn":3562,"description":3563,"org":3564,"tags":3565,"stars":23,"repoUrl":24,"updatedAt":3571},"middlewares","compose middleware for tRPC procedures","Create and compose tRPC middleware with t.procedure.use(), extend context via opts.next({ ctx }), build reusable middleware with .concat() and .unstable_pipe(), define base procedures like publicProcedure and authedProcedure. Access raw input with getRawInput(). Logging, timing, OTEL tracing patterns.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3566,3567,3570],{"name":13,"slug":14,"type":15},{"name":3568,"slug":3569,"type":15},"Middleware","middleware",{"name":9,"slug":8,"type":15},"2026-07-18T05:46:49.132255",{"slug":3573,"name":3573,"fn":3574,"description":3575,"org":3576,"tags":3577,"stars":23,"repoUrl":24,"updatedAt":3585},"nextjs-app-router","implement tRPC in Next.js App Router","Full end-to-end tRPC setup for Next.js App Router. Covers route handler with fetchRequestHandler (GET + POST exports), TRPCProvider with QueryClientProvider, createTRPCOptionsProxy for RSC prefetching, HydrateClient\u002FHydrationBoundary for hydration, useSuspenseQuery for Suspense, and server-side callers.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3578,3579,3580,3583,3584],{"name":13,"slug":14,"type":15},{"name":3532,"slug":3533,"type":15},{"name":3581,"slug":3582,"type":15},"Next.js","next-js",{"name":9,"slug":8,"type":15},{"name":3548,"slug":34,"type":15},"2026-07-18T05:47:10.468453",{"items":3587,"total":2745},[3588,3595,3602,3609,3617,3624,3631],{"slug":3433,"name":3433,"fn":3434,"description":3435,"org":3589,"tags":3590,"stars":23,"repoUrl":24,"updatedAt":3444},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3591,3592,3593,3594],{"name":21,"slug":22,"type":15},{"name":3440,"slug":3441,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"slug":3401,"name":3401,"fn":3446,"description":3447,"org":3596,"tags":3597,"stars":23,"repoUrl":24,"updatedAt":3456},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3598,3599,3600,3601],{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":3453,"slug":3454,"type":15},{"name":9,"slug":8,"type":15},{"slug":3458,"name":3458,"fn":3459,"description":3460,"org":3603,"tags":3604,"stars":23,"repoUrl":24,"updatedAt":3469},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3605,3606,3607,3608],{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":3466,"slug":3467,"type":15},{"name":9,"slug":8,"type":15},{"slug":3411,"name":3411,"fn":3471,"description":3472,"org":3610,"tags":3611,"stars":23,"repoUrl":24,"updatedAt":3488},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3612,3613,3614,3615,3616],{"name":3476,"slug":3477,"type":15},{"name":3479,"slug":3480,"type":15},{"name":3482,"slug":3483,"type":15},{"name":9,"slug":8,"type":15},{"name":3486,"slug":3487,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":3618,"tags":3619,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3620,3621,3622,3623],{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15},{"slug":3497,"name":3497,"fn":3498,"description":3499,"org":3625,"tags":3626,"stars":23,"repoUrl":24,"updatedAt":3509},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3627,3628,3629,3630],{"name":3503,"slug":3497,"type":15},{"name":3505,"slug":3506,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"slug":3511,"name":3511,"fn":3512,"description":3513,"org":3632,"tags":3633,"stars":23,"repoUrl":24,"updatedAt":3523},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3634,3635,3636,3637],{"name":13,"slug":14,"type":15},{"name":3518,"slug":3511,"type":15},{"name":3520,"slug":3521,"type":15},{"name":9,"slug":8,"type":15}]