[{"data":1,"prerenderedAt":707},["ShallowReactive",2],{"navigation":3,"-guide":56,"-guide-surround":703},[4],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Getting Started","/guide","1.guide/1.index",[9,11,16,21,26,31,36,41,46,51],{"title":5,"path":6,"stem":7,"icon":10},"ph:book-open-duotone",{"title":12,"path":13,"stem":14,"icon":15},"Using CLI","/guide/cli","1.guide/10.cli","garden:terminal-cli-stroke-12",{"title":17,"path":18,"stem":19,"icon":20},"Fetch Handler","/guide/handler","1.guide/2.handler","i-fluent:target-24-regular",{"title":22,"path":23,"stem":24,"icon":25},"Server Instance","/guide/server","1.guide/3.server","radix-icons:component-instance",{"title":27,"path":28,"stem":29,"icon":30},"Middleware","/guide/middleware","1.guide/4.middleware","clarity:plugin-line",{"title":32,"path":33,"stem":34,"icon":35},"Server Options","/guide/options","1.guide/5.options","ri:settings-3-line",{"title":37,"path":38,"stem":39,"icon":40},"TLS","/guide/tls","1.guide/6.tls","ri:lock-2-line",{"title":42,"path":43,"stem":44,"icon":45},"Bundler Usage","/guide/bundler","1.guide/7.bundler","clarity:bundle-line",{"title":47,"path":48,"stem":49,"icon":50},"Node.js Support","/guide/node","1.guide/8.node","akar-icons:node-fill",{"title":52,"path":53,"stem":54,"icon":55},"AWS Lambda","/guide/aws-lambda","1.guide/9.aws-lambda","clarity:cloud-traffic-line",{"id":57,"title":5,"body":58,"description":697,"extension":698,"meta":699,"navigation":700,"path":6,"seo":701,"stem":7,"__hash__":702},"content/1.guide/1.index.md",{"type":59,"value":60,"toc":692,"icon":10},"minimark",[61,66,70,154,157,238,242,255,259,270,272,353,359,362,364,414,418,688],[62,63,65],"h2",{"id":64},"quick-start-cli","Quick Start (CLI)",[67,68,69],"p",{},"Create a server entry:",[71,72,78],"pre",{"className":73,"code":74,"filename":75,"language":76,"meta":77,"style":77},"language-js shiki shiki-themes github-light github-dark github-dark","export default {\n  fetch(req: Request) {\n    return Response.json({ hello: \"world!\" });\n  },\n};\n","server.ts","js","",[79,80,81,97,120,142,148],"code",{"__ignoreMap":77},[82,83,86,90,93],"span",{"class":84,"line":85},"line",1,[82,87,89],{"class":88},"so5gQ","export",[82,91,92],{"class":88}," default",[82,94,96],{"class":95},"slsVL"," {\n",[82,98,100,104,107,111,114,117],{"class":84,"line":99},2,[82,101,103],{"class":102},"shcOC","  fetch",[82,105,106],{"class":95},"(",[82,108,110],{"class":109},"sQHwn","req",[82,112,113],{"class":88},":",[82,115,116],{"class":102}," Request",[82,118,119],{"class":95},") {\n",[82,121,123,126,129,132,135,139],{"class":84,"line":122},3,[82,124,125],{"class":88},"    return",[82,127,128],{"class":95}," Response.",[82,130,131],{"class":102},"json",[82,133,134],{"class":95},"({ hello: ",[82,136,138],{"class":137},"sfrk1","\"world!\"",[82,140,141],{"class":95}," });\n",[82,143,145],{"class":84,"line":144},4,[82,146,147],{"class":95},"  },\n",[82,149,151],{"class":84,"line":150},5,[82,152,153],{"class":95},"};\n",[67,155,156],{},"Then, run the server using your favorite runtime:",[158,159,160,176,189,204,222],"CodeGroup",{},[71,161,166],{"className":162,"code":163,"filename":164,"language":165,"meta":77,"style":77},"language-bash shiki shiki-themes github-light github-dark github-dark","npx srvx\n","npm","bash",[79,167,168],{"__ignoreMap":77},[82,169,170,173],{"class":84,"line":85},[82,171,172],{"class":102},"npx",[82,174,175],{"class":137}," srvx\n",[71,177,180],{"className":162,"code":178,"filename":179,"language":165,"meta":77,"style":77},"pnpx srvx\n","pnpm",[79,181,182],{"__ignoreMap":77},[82,183,184,187],{"class":84,"line":85},[82,185,186],{"class":102},"pnpx",[82,188,175],{"class":137},[71,190,193],{"className":162,"code":191,"filename":192,"language":165,"meta":77,"style":77},"yarn dlx srvx\n","yarn",[79,194,195],{"__ignoreMap":77},[82,196,197,199,202],{"class":84,"line":85},[82,198,192],{"class":102},[82,200,201],{"class":137}," dlx",[82,203,175],{"class":137},[71,205,208],{"className":162,"code":206,"filename":207,"language":165,"meta":77,"style":77},"deno -A npm:srvx\n","Deno",[79,209,210],{"__ignoreMap":77},[82,211,212,215,219],{"class":84,"line":85},[82,213,214],{"class":102},"deno",[82,216,218],{"class":217},"suiK_"," -A",[82,220,221],{"class":137}," npm:srvx\n",[71,223,226],{"className":162,"code":224,"filename":225,"language":165,"meta":77,"style":77},"bunx --bun srvx\n","Bun",[79,227,228],{"__ignoreMap":77},[82,229,230,233,236],{"class":84,"line":85},[82,231,232],{"class":102},"bunx",[82,234,235],{"class":217}," --bun",[82,237,175],{"class":137},[239,240],"read-more",{"title":12,"to":241},"/guide/cli#usage",[243,244,245],"tip",{},[67,246,247,248],{},"\nYou can also try examples in the ",[249,250,254],"a",{"href":251,"rel":252},"https://stackblitz.com/fork/github/h3js/srvx/tree/main/examples/stackblitz?startScript=dev&file=server.mjs",[253],"nofollow","online playground",[62,256,258],{"id":257},"quick-start-api","Quick Start (API)",[67,260,261,262,265,266,269],{},"Instead of using the ",[79,263,264],{},"srvx"," CLI, you can directly import the ",[79,267,268],{},"serve"," method to define a self-listening server entry.",[67,271,69],{},[71,273,275],{"className":73,"code":274,"filename":75,"language":76,"meta":77,"style":77},"import { serve } from \"srvx\";\n\nconst server = serve({\n  fetch(request) {\n    return Response.json({ hello: \"world!\" });\n  },\n});\n",[79,276,277,294,300,317,328,342,347],{"__ignoreMap":77},[82,278,279,282,285,288,291],{"class":84,"line":85},[82,280,281],{"class":88},"import",[82,283,284],{"class":95}," { serve } ",[82,286,287],{"class":88},"from",[82,289,290],{"class":137}," \"srvx\"",[82,292,293],{"class":95},";\n",[82,295,296],{"class":84,"line":99},[82,297,299],{"emptyLinePlaceholder":298},true,"\n",[82,301,302,305,308,311,314],{"class":84,"line":122},[82,303,304],{"class":88},"const",[82,306,307],{"class":217}," server",[82,309,310],{"class":88}," =",[82,312,313],{"class":102}," serve",[82,315,316],{"class":95},"({\n",[82,318,319,321,323,326],{"class":84,"line":144},[82,320,103],{"class":102},[82,322,106],{"class":95},[82,324,325],{"class":109},"request",[82,327,119],{"class":95},[82,329,330,332,334,336,338,340],{"class":84,"line":150},[82,331,125],{"class":88},[82,333,128],{"class":95},[82,335,131],{"class":102},[82,337,134],{"class":95},[82,339,138],{"class":137},[82,341,141],{"class":95},[82,343,345],{"class":84,"line":344},6,[82,346,147],{"class":95},[82,348,350],{"class":84,"line":349},7,[82,351,352],{"class":95},"});\n",[67,354,355,356,358],{},"Install ",[79,357,264],{}," as a dependency:",[360,361],"pm-install",{"name":264},[67,363,156],{},[365,366,367,380,400],"code-group",{},[71,368,371],{"className":162,"code":369,"filename":370,"language":165,"meta":77,"style":77},"node server.mjs\n","node",[79,372,373],{"__ignoreMap":77},[82,374,375,377],{"class":84,"line":85},[82,376,370],{"class":102},[82,378,379],{"class":137}," server.mjs\n",[71,381,383],{"className":162,"code":382,"filename":214,"language":165,"meta":77,"style":77},"deno run --allow-env --allow-net server.mjs\n",[79,384,385],{"__ignoreMap":77},[82,386,387,389,392,395,398],{"class":84,"line":85},[82,388,214],{"class":102},[82,390,391],{"class":137}," run",[82,393,394],{"class":217}," --allow-env",[82,396,397],{"class":217}," --allow-net",[82,399,379],{"class":137},[71,401,404],{"className":162,"code":402,"filename":403,"language":165,"meta":77,"style":77},"bun run server.mjs\n","bun",[79,405,406],{"__ignoreMap":77},[82,407,408,410,412],{"class":84,"line":85},[82,409,403],{"class":102},[82,411,391],{"class":137},[82,413,379],{"class":137},[62,415,417],{"id":416},"starter-examples","Starter Examples",[419,420,421,437],"table",{},[422,423,424],"thead",{},[425,426,427,431,434],"tr",{},[428,429,430],"th",{},"Example",[428,432,433],{},"Source",[428,435,436],{},"Try",[438,439,440,460,479,498,517,536,555,574,593,612,631,650,669],"tbody",{},[425,441,442,448,455],{},[443,444,445],"td",{},[79,446,447],{},"aws-lambda",[443,449,450],{},[249,451,454],{"href":452,"rel":453},"https://github.com/h3js/srvx/tree/main/examples/aws-lambda/",[253],"examples/aws-lambda",[443,456,457],{},[79,458,459],{},"npx giget gh:h3js/srvx/examples/aws-lambda srvx-aws-lambda",[425,461,462,467,474],{},[443,463,464],{},[79,465,466],{},"elysia",[443,468,469],{},[249,470,473],{"href":471,"rel":472},"https://github.com/h3js/srvx/tree/main/examples/elysia/",[253],"examples/elysia",[443,475,476],{},[79,477,478],{},"npx giget gh:h3js/srvx/examples/elysia srvx-elysia",[425,480,481,486,493],{},[443,482,483],{},[79,484,485],{},"express",[443,487,488],{},[249,489,492],{"href":490,"rel":491},"https://github.com/h3js/srvx/tree/main/examples/express/",[253],"examples/express",[443,494,495],{},[79,496,497],{},"npx giget gh:h3js/srvx/examples/express srvx-express",[425,499,500,505,512],{},[443,501,502],{},[79,503,504],{},"fastify",[443,506,507],{},[249,508,511],{"href":509,"rel":510},"https://github.com/h3js/srvx/tree/main/examples/fastify/",[253],"examples/fastify",[443,513,514],{},[79,515,516],{},"npx giget gh:h3js/srvx/examples/fastify srvx-fastify",[425,518,519,524,531],{},[443,520,521],{},[79,522,523],{},"h3",[443,525,526],{},[249,527,530],{"href":528,"rel":529},"https://github.com/h3js/srvx/tree/main/examples/h3/",[253],"examples/h3",[443,532,533],{},[79,534,535],{},"npx giget gh:h3js/srvx/examples/h3 srvx-h3",[425,537,538,543,550],{},[443,539,540],{},[79,541,542],{},"hello-world",[443,544,545],{},[249,546,549],{"href":547,"rel":548},"https://github.com/h3js/srvx/tree/main/examples/hello-world/",[253],"examples/hello-world",[443,551,552],{},[79,553,554],{},"npx giget gh:h3js/srvx/examples/hello-world srvx-hello-world",[425,556,557,562,569],{},[443,558,559],{},[79,560,561],{},"hono",[443,563,564],{},[249,565,568],{"href":566,"rel":567},"https://github.com/h3js/srvx/tree/main/examples/hono/",[253],"examples/hono",[443,570,571],{},[79,572,573],{},"npx giget gh:h3js/srvx/examples/hono srvx-hono",[425,575,576,581,588],{},[443,577,578],{},[79,579,580],{},"jsx",[443,582,583],{},[249,584,587],{"href":585,"rel":586},"https://github.com/h3js/srvx/tree/main/examples/jsx/",[253],"examples/jsx",[443,589,590],{},[79,591,592],{},"npx giget gh:h3js/srvx/examples/jsx srvx-jsx",[425,594,595,600,607],{},[443,596,597],{},[79,598,599],{},"node-handler",[443,601,602],{},[249,603,606],{"href":604,"rel":605},"https://github.com/h3js/srvx/tree/main/examples/node-handler/",[253],"examples/node-handler",[443,608,609],{},[79,610,611],{},"npx giget gh:h3js/srvx/examples/node-handler srvx-node-handler",[425,613,614,619,626],{},[443,615,616],{},[79,617,618],{},"service-worker",[443,620,621],{},[249,622,625],{"href":623,"rel":624},"https://github.com/h3js/srvx/tree/main/examples/service-worker/",[253],"examples/service-worker",[443,627,628],{},[79,629,630],{},"npx giget gh:h3js/srvx/examples/service-worker srvx-service-worker",[425,632,633,638,645],{},[443,634,635],{},[79,636,637],{},"streaming",[443,639,640],{},[249,641,644],{"href":642,"rel":643},"https://github.com/h3js/srvx/tree/main/examples/streaming/",[253],"examples/streaming",[443,646,647],{},[79,648,649],{},"npx giget gh:h3js/srvx/examples/streaming srvx-streaming",[425,651,652,657,664],{},[443,653,654],{},[79,655,656],{},"tracing",[443,658,659],{},[249,660,663],{"href":661,"rel":662},"https://github.com/h3js/srvx/tree/main/examples/tracing/",[253],"examples/tracing",[443,665,666],{},[79,667,668],{},"npx giget gh:h3js/srvx/examples/tracing srvx-tracing",[425,670,671,676,683],{},[443,672,673],{},[79,674,675],{},"websocket",[443,677,678],{},[249,679,682],{"href":680,"rel":681},"https://github.com/h3js/srvx/tree/main/examples/websocket/",[253],"examples/websocket",[443,684,685],{},[79,686,687],{},"npx giget gh:h3js/srvx/examples/websocket srvx-websocket",[689,690,691],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}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);}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}",{"title":77,"searchDepth":99,"depth":99,"links":693},[694,695,696],{"id":64,"depth":99,"text":65},{"id":257,"depth":99,"text":258},{"id":416,"depth":99,"text":417},"Build HTTP servers with web standard APIs like fetch, Request, and Response.","md",{"automd":298,"icon":10},{"icon":10},{"title":5,"description":697},"swrcESaKpl--DLY_FTF3MkbRszSJ3fD8HUwYpVivMw0",[704,705],null,{"title":12,"path":13,"stem":14,"description":706,"icon":15,"children":-1},"Use the srvx CLI command to easily start a development or production server.",1784034229312]