[{"data":1,"prerenderedAt":1086},["ShallowReactive",2],{"navigation":3,"-guide-basics-response":189,"-guide-basics-response-surround":1081},[4,91,138,166,173],{"title":5,"path":6,"stem":7,"children":8,"icon":90},"Guide","/guide","1.guide/0.index",[9,12,53,69],{"title":10,"path":6,"stem":7,"icon":11},"Getting Started","pixel:play",{"title":5,"icon":13,"path":14,"stem":15,"children":16,"page":52},"ph:book-open-duotone","/guide/basics","1.guide/1.basics",[17,22,27,32,37,42,47],{"title":18,"path":19,"stem":20,"icon":21},"Request Lifecycle","/guide/basics/lifecycle","1.guide/1.basics/1.lifecycle","icon-park-outline:handle-round",{"title":23,"path":24,"stem":25,"icon":26},"Routing","/guide/basics/routing","1.guide/1.basics/2.routing","solar:routing-bold",{"title":28,"path":29,"stem":30,"icon":31},"Middleware","/guide/basics/middleware","1.guide/1.basics/3.middleware","mdi:middleware-outline",{"title":33,"path":34,"stem":35,"icon":36},"Event Handlers","/guide/basics/handler","1.guide/1.basics/4.handler","mdi:function",{"title":38,"path":39,"stem":40,"icon":41},"Sending Response","/guide/basics/response","1.guide/1.basics/5.response","tabler:json",{"title":43,"path":44,"stem":45,"icon":46},"Error Handling","/guide/basics/error","1.guide/1.basics/6.error","tabler:error-404",{"title":48,"path":49,"stem":50,"icon":51},"Nested Apps","/guide/basics/nested-apps","1.guide/1.basics/7.nested-apps","material-symbols-light:layers-outline",false,{"title":54,"icon":55,"path":56,"stem":57,"children":58,"page":52},"API","material-symbols-light:api-rounded","/guide/api","1.guide/900.api",[59,64],{"title":60,"path":61,"stem":62,"icon":63},"H3","/guide/api/h3","1.guide/900.api/1.h3","material-symbols:bolt-rounded",{"title":65,"path":66,"stem":67,"icon":68},"H3Event","/guide/api/h3event","1.guide/900.api/2.h3event","material-symbols:data-object-rounded",{"title":70,"icon":71,"path":72,"stem":73,"children":74,"page":52},"Advanced","hugeicons:more-01","/guide/advanced","1.guide/901.advanced",[75,80,85],{"title":76,"path":77,"stem":78,"icon":79},"Plugins","/guide/advanced/plugins","1.guide/901.advanced/1.plugins","clarity:plugin-line",{"title":81,"path":82,"stem":83,"icon":84},"WebSockets","/guide/advanced/websocket","1.guide/901.advanced/2.websocket","hugeicons:live-streaming-02",{"title":86,"path":87,"stem":88,"icon":89},"Nightly Builds","/guide/advanced/nightly","1.guide/901.advanced/9.nightly","game-icons:barn-owl","i-ph:book-open-duotone",{"title":92,"path":93,"stem":94,"children":95,"icon":97},"Utils","/utils","2.utils/0.index",[96,98,103,108,113,118,123,128,133],{"title":92,"path":93,"stem":94,"icon":97},"ph:function-bold",{"title":99,"path":100,"stem":101,"icon":102},"Request","/utils/request","2.utils/1.request","material-symbols-light:input",{"title":104,"path":105,"stem":106,"icon":107},"Response","/utils/response","2.utils/2.response","material-symbols-light:output",{"title":109,"path":110,"stem":111,"icon":112},"Cookie","/utils/cookie","2.utils/3.cookie","material-symbols:cookie-outline",{"title":114,"path":115,"stem":116,"icon":117},"Security","/utils/security","2.utils/4.security","wpf:key-security",{"title":119,"path":120,"stem":121,"icon":122},"Proxy","/utils/proxy","2.utils/5.proxy","arcticons:super-proxy",{"title":124,"path":125,"stem":126,"icon":127},"MCP","/utils/mcp","2.utils/6.mcp","material-symbols:swap-calls",{"title":129,"path":130,"stem":131,"icon":132},"More utils","/utils/more","2.utils/9.more","mingcute:plus-line",{"title":134,"path":135,"stem":136,"icon":137},"Community","/utils/community","2.utils/99.community","lets-icons:external",{"title":139,"path":140,"stem":141,"children":142,"icon":144},"Examples","/examples","4.examples/0.index",[143,145,150,154,158,162],{"title":139,"path":140,"stem":141,"icon":144},"ph:code",{"title":146,"path":147,"stem":148,"icon":149},"Cookies","/examples/handle-cookie","4.examples/handle-cookie","ph:arrow-right",{"title":151,"path":152,"stem":153,"icon":149},"Sessions","/examples/handle-session","4.examples/handle-session",{"title":155,"path":156,"stem":157,"icon":149},"Static Assets","/examples/serve-static-assets","4.examples/serve-static-assets",{"title":159,"path":160,"stem":161,"icon":149},"Stream Response","/examples/stream-response","4.examples/stream-response",{"title":163,"path":164,"stem":165,"icon":149},"Validate Data","/examples/validate-data","4.examples/validate-data",{"title":167,"path":168,"stem":169,"children":170,"icon":172},"Migration","/migration","5.migration/0.index",[171],{"title":167,"path":168,"stem":169,"icon":172},"icons8:up-round",{"title":174,"path":175,"stem":176,"children":177},"Blog","/blog","99.blog",[178,181,185],{"title":174,"path":175,"stem":179,"icon":180},"99.blog/index","i-lucide-file-text",{"title":182,"path":183,"stem":184,"icon":180},"H3 1.8 - Towards the Edge of the Web","/blog/v1.8","99.blog/1.v1.8",{"title":186,"path":187,"stem":188,"icon":180},"H3 v2 beta","/blog/v2-beta","99.blog/2.v2-beta",{"id":190,"title":38,"body":191,"description":1075,"extension":1076,"meta":1077,"navigation":1078,"path":39,"seo":1079,"stem":40,"__hash__":1080},"content/1.guide/1.basics/5.response.md",{"type":192,"value":193,"toc":1053,"icon":41},"minimark",[194,208,215,269,272,357,367,382,385,388,393,402,486,497,502,506,512,517,549,553,588,602,606,609,621,626,681,688,745,750,757,761,808,828,837,853,865,881,887,893,903,913,919,927,936,940,943,952,955,967,973,983,992,994,1000,1003,1015,1024,1030,1033,1049],[195,196,197,198,201,202,207],"p",{},"Values returned from ",[199,200,33],"a",{"href":34}," are automatically converted to a web ",[199,203,104],{"href":204,"rel":205},"https://developer.mozilla.org/en-US/docs/Web/API/Response",[206],"nofollow"," by H3.",[195,209,210,214],{},[211,212,213],"strong",{},"Example:"," Simple event handler function.",[216,217,222],"pre",{"className":218,"code":219,"language":220,"meta":221,"style":221},"language-js shiki shiki-themes github-light github-dark github-dark","const handler = defineHandler((event) => ({ hello: \"world\" }));\n","js","",[223,224,225],"code",{"__ignoreMap":221},[226,227,230,234,238,241,245,249,253,256,259,262,266],"span",{"class":228,"line":229},"line",1,[226,231,233],{"class":232},"so5gQ","const",[226,235,237],{"class":236},"suiK_"," handler",[226,239,240],{"class":232}," =",[226,242,244],{"class":243},"shcOC"," defineHandler",[226,246,248],{"class":247},"slsVL","((",[226,250,252],{"class":251},"sQHwn","event",[226,254,255],{"class":247},") ",[226,257,258],{"class":232},"=>",[226,260,261],{"class":247}," ({ hello: ",[226,263,265],{"class":264},"sfrk1","\"world\"",[226,267,268],{"class":247}," }));\n",[195,270,271],{},"H3 smartly converts handler into:",[216,273,275],{"className":218,"code":274,"language":220,"meta":221,"style":221},"const handler = (event) =>\n  new Response(JSON.stringify({ hello: \"world\" }), {\n    headers: {\n      \"content-type\": \"application/json;charset=UTF-8\",\n    },\n  });\n",[223,276,277,295,324,330,345,351],{"__ignoreMap":221},[226,278,279,281,283,285,288,290,292],{"class":228,"line":229},[226,280,233],{"class":232},[226,282,237],{"class":243},[226,284,240],{"class":232},[226,286,287],{"class":247}," (",[226,289,252],{"class":251},[226,291,255],{"class":247},[226,293,294],{"class":232},"=>\n",[226,296,298,301,304,307,310,313,316,319,321],{"class":228,"line":297},2,[226,299,300],{"class":232},"  new",[226,302,303],{"class":243}," Response",[226,305,306],{"class":247},"(",[226,308,309],{"class":236},"JSON",[226,311,312],{"class":247},".",[226,314,315],{"class":243},"stringify",[226,317,318],{"class":247},"({ hello: ",[226,320,265],{"class":264},[226,322,323],{"class":247}," }), {\n",[226,325,327],{"class":228,"line":326},3,[226,328,329],{"class":247},"    headers: {\n",[226,331,333,336,339,342],{"class":228,"line":332},4,[226,334,335],{"class":264},"      \"content-type\"",[226,337,338],{"class":247},": ",[226,340,341],{"class":264},"\"application/json;charset=UTF-8\"",[226,343,344],{"class":247},",\n",[226,346,348],{"class":228,"line":347},5,[226,349,350],{"class":247},"    },\n",[226,352,354],{"class":228,"line":353},6,[226,355,356],{"class":247},"  });\n",[358,359,360],"tip",{},[195,361,362,363,366],{},"\n🚀 H3 uses srvx ",[223,364,365],{},"FastResponse"," internally to optimize performances in Node.js runtime.",[195,368,369,370,375,376,381],{},"If the returned value from event handler is a ",[199,371,374],{"href":372,"rel":373},"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise",[206],"Promise"," or from an ",[199,377,380],{"href":378,"rel":379},"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function",[206],"async function",", H3 will wait for it to resolve before sending the response.",[195,383,384],{},"If an error is thrown, H3 automatically handles it with error handler.",[386,387],"read-more",{"title":43,"to":44},[389,390,392],"h2",{"id":391},"preparing-response","Preparing Response",[195,394,395,396,312],{},"Before returning a response in main handler, you can prepare response headers and status using ",[199,397,399],{"href":398},"/guide/api/h3event#eventres",[223,400,401],{},"event.res",[216,403,405],{"className":218,"code":404,"language":220,"meta":221,"style":221},"defineHandler((event) => {\n  event.res.status = 200;\n  event.res.statusText = \"OK\";\n  event.res.headers.set(\"Content-Type\", \"text/html\");\n  return \"\u003Ch1>Hello, World\u003C/h1>\";\n});\n",[223,406,407,423,437,449,471,481],{"__ignoreMap":221},[226,408,409,412,414,416,418,420],{"class":228,"line":229},[226,410,411],{"class":243},"defineHandler",[226,413,248],{"class":247},[226,415,252],{"class":251},[226,417,255],{"class":247},[226,419,258],{"class":232},[226,421,422],{"class":247}," {\n",[226,424,425,428,431,434],{"class":228,"line":297},[226,426,427],{"class":247},"  event.res.status ",[226,429,430],{"class":232},"=",[226,432,433],{"class":236}," 200",[226,435,436],{"class":247},";\n",[226,438,439,442,444,447],{"class":228,"line":326},[226,440,441],{"class":247},"  event.res.statusText ",[226,443,430],{"class":232},[226,445,446],{"class":264}," \"OK\"",[226,448,436],{"class":247},[226,450,451,454,457,459,462,465,468],{"class":228,"line":332},[226,452,453],{"class":247},"  event.res.headers.",[226,455,456],{"class":243},"set",[226,458,306],{"class":247},[226,460,461],{"class":264},"\"Content-Type\"",[226,463,464],{"class":247},", ",[226,466,467],{"class":264},"\"text/html\"",[226,469,470],{"class":247},");\n",[226,472,473,476,479],{"class":228,"line":347},[226,474,475],{"class":232},"  return",[226,477,478],{"class":264}," \"\u003Ch1>Hello, World\u003C/h1>\"",[226,480,436],{"class":247},[226,482,483],{"class":228,"line":353},[226,484,485],{"class":247},"});\n",[487,488,489],"note",{},[195,490,491,492,496],{},"\nIf a full ",[199,493,104],{"href":494,"rel":495},"https://developer.mozilla.org/en-US/docs/Web/API/Response/Response",[206]," value is returned, prepared status is discarded and headers will be merged/overriden. For performance reasons, it is best to only set headers only from final Response in this case.",[487,498,499],{},[195,500,501],{},"\nIf an Error happens, prepared status and headers will be discarded.",[389,503,505],{"id":504},"response-types","Response Types",[195,507,508,509,312],{},"H3 smartly converts JavaScript values into web ",[199,510,104],{"href":494,"rel":511},[206],[513,514,516],"h3",{"id":515},"json-serializable-value","JSON Serializable Value",[195,518,519,520,524,525,464,528,464,531,534,535,538,539,544,545,548],{},"Returning a ",[199,521,309],{"href":522,"rel":523},"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON",[206]," serializable value (",[211,526,527],{},"object",[211,529,530],{},"array",[211,532,533],{},"number"," or ",[211,536,537],{},"boolean","), it will be stringified using ",[199,540,543],{"href":541,"rel":542},"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify",[206],"JSON.stringify()"," and sent with default ",[223,546,547],{},"application/json"," content-type.",[195,550,551],{},[211,552,213],{},[216,554,558],{"className":555,"code":556,"language":557,"meta":221,"style":221},"language-ts shiki shiki-themes github-light github-dark github-dark","app.get(\"/\", (event) => ({ hello: \"world\" }));\n","ts",[223,559,560],{"__ignoreMap":221},[226,561,562,565,568,570,573,576,578,580,582,584,586],{"class":228,"line":229},[226,563,564],{"class":247},"app.",[226,566,567],{"class":243},"get",[226,569,306],{"class":247},[226,571,572],{"class":264},"\"/\"",[226,574,575],{"class":247},", (",[226,577,252],{"class":251},[226,579,255],{"class":247},[226,581,258],{"class":232},[226,583,261],{"class":247},[226,585,265],{"class":264},[226,587,268],{"class":247},[358,589,590],{},[195,591,592,593,596,597,601],{},"\nReturned objects with ",[223,594,595],{},".toJSON()"," property can customize serialization behavior. Check ",[199,598,600],{"href":541,"rel":599},[206],"MDN docs"," for more info.",[513,603,605],{"id":604},"string","String",[195,607,608],{},"Returning a string value, sends it as plain text body.",[487,610,611],{},[195,612,613,614,617,618,312],{},"\nIf not setting ",[223,615,616],{},"content-type"," header, it can default to ",[223,619,620],{},"text/plain;charset=UTF-8",[195,622,623,625],{},[211,624,213],{}," Send HTML response.",[216,627,629],{"className":555,"code":628,"language":557,"meta":221,"style":221},"app.get(\"/\", (event) => {\n  event.res.headers.set(\"Content-Type\", \"text/html;charset=UTF-8\");\n  return \"\u003Ch1>hello world\u003C/h1>\";\n});\n",[223,630,631,651,668,677],{"__ignoreMap":221},[226,632,633,635,637,639,641,643,645,647,649],{"class":228,"line":229},[226,634,564],{"class":247},[226,636,567],{"class":243},[226,638,306],{"class":247},[226,640,572],{"class":264},[226,642,575],{"class":247},[226,644,252],{"class":251},[226,646,255],{"class":247},[226,648,258],{"class":232},[226,650,422],{"class":247},[226,652,653,655,657,659,661,663,666],{"class":228,"line":297},[226,654,453],{"class":247},[226,656,456],{"class":243},[226,658,306],{"class":247},[226,660,461],{"class":264},[226,662,464],{"class":247},[226,664,665],{"class":264},"\"text/html;charset=UTF-8\"",[226,667,470],{"class":247},[226,669,670,672,675],{"class":228,"line":326},[226,671,475],{"class":232},[226,673,674],{"class":264}," \"\u003Ch1>hello world\u003C/h1>\"",[226,676,436],{"class":247},[226,678,679],{"class":228,"line":332},[226,680,485],{"class":247},[195,682,683,684,687],{},"You can also use ",[223,685,686],{},"html"," utility as shortcut.",[216,689,691],{"className":218,"code":690,"language":220,"meta":221,"style":221},"import { html } from \"h3\";\n\napp.get(\"/\", (event) => html(event, \"\u003Ch1>hello world\u003C/h1>\"));\n",[223,692,693,709,715],{"__ignoreMap":221},[226,694,695,698,701,704,707],{"class":228,"line":229},[226,696,697],{"class":232},"import",[226,699,700],{"class":247}," { html } ",[226,702,703],{"class":232},"from",[226,705,706],{"class":264}," \"h3\"",[226,708,436],{"class":247},[226,710,711],{"class":228,"line":297},[226,712,714],{"emptyLinePlaceholder":713},true,"\n",[226,716,717,719,721,723,725,727,729,731,733,736,739,742],{"class":228,"line":326},[226,718,564],{"class":247},[226,720,567],{"class":243},[226,722,306],{"class":247},[226,724,572],{"class":264},[226,726,575],{"class":247},[226,728,252],{"class":251},[226,730,255],{"class":247},[226,732,258],{"class":232},[226,734,735],{"class":243}," html",[226,737,738],{"class":247},"(event, ",[226,740,741],{"class":264},"\"\u003Ch1>hello world\u003C/h1>\"",[226,743,744],{"class":247},"));\n",[513,746,748],{"id":747},"response",[223,749,104],{},[195,751,752,753,756],{},"Returning a web ",[199,754,104],{"href":494,"rel":755},[206],", sends-it as final reponse.",[195,758,759],{},[211,760,213],{},[216,762,764],{"className":555,"code":763,"language":557,"meta":221,"style":221},"app.get(\"/\", (event) => new Response(\"Hello, world!\", { headers: { \"x-powered-by\": \"H3\" } }));\n",[223,765,766],{"__ignoreMap":221},[226,767,768,770,772,774,776,778,780,782,784,787,789,791,794,797,800,802,805],{"class":228,"line":229},[226,769,564],{"class":247},[226,771,567],{"class":243},[226,773,306],{"class":247},[226,775,572],{"class":264},[226,777,575],{"class":247},[226,779,252],{"class":251},[226,781,255],{"class":247},[226,783,258],{"class":232},[226,785,786],{"class":232}," new",[226,788,303],{"class":243},[226,790,306],{"class":247},[226,792,793],{"class":264},"\"Hello, world!\"",[226,795,796],{"class":247},", { headers: { ",[226,798,799],{"class":264},"\"x-powered-by\"",[226,801,338],{"class":247},[226,803,804],{"class":264},"\"H3\"",[226,806,807],{"class":247}," } }));\n",[809,810,811],"important",{},[195,812,813,814,816,817,821,822,825,826,312],{},"\nWhen sending a ",[223,815,104],{},", any ",[199,818,820],{"href":819},"#preparing-response","prepared headers"," that set before, will be merged as default headers. ",[223,823,824],{},"event.res.{status,statusText}"," will be ignored. For performance reasons, it is best to only set headers only from final ",[223,827,104],{},[513,829,831,534,834],{"id":830},"readablestream-or-readable",[223,832,833],{},"ReadableStream",[223,835,836],{},"Readable",[195,838,519,839,845,846,852],{},[199,840,843],{"href":841,"rel":842},"https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream",[206],[223,844,833],{}," or Node.js ",[199,847,850],{"href":848,"rel":849},"https://nodejs.org/api/stream.html#readable-streams",[206],[223,851,836],{}," sends it as stream.",[513,854,856,534,859,534,862],{"id":855},"arraybuffer-or-uint8array-or-buffer",[223,857,858],{},"ArrayBuffer",[223,860,861],{},"Uint8Array",[223,863,864],{},"Buffer",[195,866,867,868,464,872,876,877,312],{},"Send binary ",[199,869,858],{"href":870,"rel":871},"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer",[206],[199,873,861],{"href":874,"rel":875},"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array",[206]," or node ",[199,878,864],{"href":879,"rel":880},"https://nodejs.org/api/buffer.html#buffer",[206],[195,882,883,886],{},[223,884,885],{},"content-length"," header will be automatically set.",[513,888,890],{"id":889},"blob",[223,891,892],{},"Blob",[195,894,895,896,902],{},"Send a ",[199,897,900],{"href":898,"rel":899},"https://developer.mozilla.org/en-US/docs/Web/API/Blob",[206],[223,901,892],{}," as stream.",[195,904,905,908,909,912],{},[223,906,907],{},"Content-type"," and ",[223,910,911],{},"Content-Length"," headers will be automatically set.",[513,914,916],{"id":915},"file",[223,917,918],{},"File",[195,920,895,921,902],{},[199,922,925],{"href":923,"rel":924},"https://developer.mozilla.org/en-US/docs/Web/API/File",[206],[223,926,918],{},[195,928,929,464,931,908,933,912],{},[223,930,907],{},[223,932,911],{},[223,934,935],{},"Content-Disposition",[389,937,939],{"id":938},"special-types","Special Types",[195,941,942],{},"Some less commonly possible values for response types.",[513,944,946,534,949],{"id":945},"null-or-undefined",[223,947,948],{},"null",[223,950,951],{},"undefined",[195,953,954],{},"Sends a response with empty body.",[358,956,957],{},[195,958,959,960,963,964,312],{},"\nIf there is no ",[223,961,962],{},"return"," statement in event handler, it is same as ",[223,965,966],{},"return undefined",[513,968,970],{"id":969},"error",[223,971,972],{},"Error",[195,974,975,976,982],{},"Retuning an ",[199,977,980],{"href":978,"rel":979},"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error",[206],[223,981,972],{}," instance will send it.",[809,984,985],{},[195,986,987,988,991],{},"\nIt is better to ",[223,989,990],{},"throw"," errors instead of returning them. This allows proper propagation from any nested utility.",[386,993],{"title":43,"to":44},[513,995,997],{"id":996},"bigint",[223,998,999],{},"BigInt",[195,1001,1002],{},"Value will be sent as stringified version of BigInt number.",[487,1004,1005],{},[195,1006,1007,1008,1011,1012,601],{},"\nReturning a JSON object, does not allows BigInt serialization. You need to implement ",[223,1009,1010],{},".toJSON",". Check ",[199,1013,600],{"href":541,"rel":1014},[206],[513,1016,1018,534,1021],{"id":1017},"symbol-or-function",[223,1019,1020],{},"Symbol",[223,1022,1023],{},"Function",[195,1025,1026,1029],{},[211,1027,1028],{},"Returning Symbol or Function has undetermined behavior."," Currently, H3 sends a string-like representation of unknown Symbols and Functions but this behavior might be changed to throw an error in the future versions.",[195,1031,1032],{},"There are some internal known Symbols H3 internally uses:",[1034,1035,1036,1043],"ul",{},[1037,1038,1039,1042],"li",{},[223,1040,1041],{},"Symbol.for(\"h3.notFound\")",": Indicate no route is found to throw a 404 error.",[1037,1044,1045,1048],{},[223,1046,1047],{},"Symbol.for(\"h3.handled\")",": Indicate request is somehow handled and H3 should not continue (Node.js specific).",[1050,1051,1052],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}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);}",{"title":221,"searchDepth":297,"depth":297,"links":1054},[1055,1056,1067],{"id":391,"depth":297,"text":392},{"id":504,"depth":297,"text":505,"children":1057},[1058,1059,1060,1061,1063,1065,1066],{"id":515,"depth":326,"text":516},{"id":604,"depth":326,"text":605},{"id":747,"depth":326,"text":104},{"id":830,"depth":326,"text":1062},"ReadableStream or Readable",{"id":855,"depth":326,"text":1064},"ArrayBuffer or Uint8Array or Buffer",{"id":889,"depth":326,"text":892},{"id":915,"depth":326,"text":918},{"id":938,"depth":297,"text":939,"children":1068},[1069,1071,1072,1073],{"id":945,"depth":326,"text":1070},"null or undefined",{"id":969,"depth":326,"text":972},{"id":996,"depth":326,"text":999},{"id":1017,"depth":326,"text":1074},"Symbol or Function","H3 automatically converts any returned value into a web response.","md",{"icon":41},{"icon":41},{"title":38,"description":1075},"0sfQiE0LxFpBgR8Av6nzt993L7B3qCTFNeNNqprt0dw",[1082,1084],{"title":33,"path":34,"stem":35,"description":1083,"icon":36,"children":-1},"An event handler is a function that receives an H3Event and returns a response.",{"title":43,"path":44,"stem":45,"description":1085,"icon":46,"children":-1},"Send errors by throwing an HTTPError.",1773004784176]