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