[{"data":1,"prerenderedAt":1365},["ShallowReactive",2],{"navigation":3,"-migration":184,"-migration-surround":1361},[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":162,"body":186,"description":1334,"extension":1356,"meta":1357,"navigation":1358,"path":163,"seo":1359,"stem":164,"__hash__":1360},"content/5.migration/0.index.md",{"type":187,"value":188,"toc":1333,"icon":167},"minimark",[189,194,198,209,214,223,228,233,253,268,272,306,315,322,335,339,353,362,399,405,464,467,471,492,495,497,506,511,594,596,598,602,617,642,676,681,711,715,726,745,764,768,771,776,788,792,814,818,862,866,908,912,1000,1004,1058,1062,1101,1105,1140,1144,1181,1185,1190,1291],[190,191,193],"h1",{"id":192},"migration-guide-for-v1-to-v2","Migration guide for v1 to v2",[195,196,197],"p",{},"H3 version 2 includes some behavior and API changes that you need to consider applying when migrating.",[199,200,201],"note",{},[195,202,203,204,208],{},"\nCurrently H3 v2 in beta stage. You can try with ",[205,206,207],"a",{"href":87},"nightly channel",".",[199,210,211],{},[195,212,213],{},"\nThis is an undergoing migration guide and might be updated.",[215,216,217],"tip",{},[195,218,219,220,222],{},"\nH3 has a brand new documentation rewrite. Head to the new ",[205,221,5],{"href":6}," section to learn more!",[224,225,227],"h2",{"id":226},"latest-nodejs-and-esm-only","Latest Node.js and ESM-only",[215,229,230],{},[195,231,232],{},"\nH3 v2 requires Node.js >= 20.11 (latest LTS recommended) .",[195,234,235,236,240,241,244,245,248,249,252],{},"If your application is currently using CommonJS modules (",[237,238,239],"code",{},"require"," and ",[237,242,243],{},"module.exports","), You can still use ",[237,246,247],{},"require(\"h3\")"," thanks to ",[237,250,251],{},"require(esm)"," supported in latest Node.js versions.",[195,254,255,256,262,263,208],{},"You can alternatively use other compatible runtimes ",[205,257,261],{"href":258,"rel":259},"https://bun.sh/",[260],"nofollow","Bun"," or ",[205,264,267],{"href":265,"rel":266},"https://deno.com/",[260],"Deno",[224,269,271],{"id":270},"web-standards","Web Standards",[215,273,274],{},[195,275,276,277,284,285,284,292,298,299,305],{},"\nH3 v2 is rewritten based on web standard primitives (",[205,278,281],{"href":279,"rel":280},"https://developer.mozilla.org/en-US/docs/Web/API/URL",[260],[237,282,283],{},"URL",", ",[205,286,289],{"href":287,"rel":288},"https://developer.mozilla.org/en-US/docs/Web/API/Headers",[260],[237,290,291],{},"Headers",[205,293,296],{"href":294,"rel":295},"https://developer.mozilla.org/en-US/docs/Web/API/Request",[260],[237,297,99],{},", and ",[205,300,303],{"href":301,"rel":302},"https://developer.mozilla.org/en-US/docs/Web/API/Response",[260],[237,304,104],{},").",[195,307,308,309,314],{},"When using Node.js, H3 uses a compatibility layer (",[205,310,313],{"href":311,"rel":312},"https://srvx.h3.dev/guide/node",[260],"💥 srvx",") and in other runtimes uses native web compatibility APIs.",[195,316,317,318,321],{},"Access to the native ",[237,319,320],{},"event.node.{req,res}"," is only available when running server in Node.js runtime.",[195,323,324,327,328,331,332,305],{},[237,325,326],{},"event.web"," is renamed to ",[237,329,330],{},"event.req"," (instance of web ",[205,333,99],{"href":294,"rel":334},[260],[224,336,338],{"id":337},"response-handling","Response Handling",[215,340,341],{},[195,342,343,344,348,349,352],{},"\nYou should always explicitly ",[345,346,347],"strong",{},"return"," the response body or ",[345,350,351],{},"throw"," an error.",[195,354,355,356,358,359,361],{},"If you were previously using methods below, you can replace them with ",[237,357,347],{}," statements returning a text, JSON, stream, or web ",[237,360,104],{}," (h3 smartly detects and handles each):",[363,364,365,375,383,391],"ul",{},[366,367,368,371,372,208],"li",{},[237,369,370],{},"send(event, value)",": Migrate to ",[237,373,374],{},"return \u003Cvalue>",[366,376,377,371,380,208],{},[237,378,379],{},"sendError(event, \u003Cerror>)",[237,381,382],{},"throw createError(\u003Cerror>)",[366,384,385,371,388,208],{},[237,386,387],{},"sendStream(event, \u003Cstream>)",[237,389,390],{},"return \u003Cstream>",[366,392,393,371,396,208],{},[237,394,395],{},"sendWebResponse(event, \u003Cresponse>)",[237,397,398],{},"return \u003Cresponse>",[195,400,401,402,404],{},"Other send utils that are renamed and need explicit ",[237,403,347],{},":",[363,406,407,419,427,435,447,456],{},[366,408,409,412,413,371,416,208],{},[237,410,411],{},"sendNoContent(event)"," / ",[237,414,415],{},"return null",[237,417,418],{},"return noContent(event)",[366,420,421,371,424,208],{},[237,422,423],{},"sendIterable(event, \u003Cvalue>)",[237,425,426],{},"return iterable(event, \u003Cvalue>)",[366,428,429,371,432,208],{},[237,430,431],{},"sendProxy(event, target)",[237,433,434],{},"return proxy(event, target)",[366,436,437,440,441,443,444,305],{},[237,438,439],{},"handleCors(event)",": Check return value and early ",[237,442,347],{}," if handled(not ",[237,445,446],{},"false",[366,448,449,452,453,455],{},[237,450,451],{},"serveStatic(event, content)",": Make sure to add ",[237,454,347],{}," before.",[366,457,458,371,461,208],{},[237,459,460],{},"sendRedirect(event, location, code)",[237,462,463],{},"return redirect(event, location, code)",[465,466],"read-more",{"title":38,"to":39},[224,468,470],{"id":469},"h3-and-router","H3 and Router",[215,472,473],{},[195,474,475,476,479,480,240,483,486,487,208],{},"\nRouter function is now integrated into the H3 core.\n",[477,478],"br",{}," Instead of ",[237,481,482],{},"createApp()",[237,484,485],{},"createRouter()"," you can use ",[205,488,489],{"href":61},[237,490,491],{},"new H3()",[195,493,494],{},"Any handler can return a response. If middleware don't return a response, next handlers will be tried and finally make a 404 if neither responses. Router handlers can return or not return any response, in this case, H3 will send a simple 200 with empty content.",[465,496],{"title":18,"to":19},[195,498,499,500,505],{},"H3 migrated to a brand new route-matching engine (",[205,501,504],{"href":502,"rel":503},"https://rou3.h3.dev/",[260],"🌳 rou3","). You might experience slight (but more intuitive) behavior changes for matching patterns.",[195,507,508],{},[345,509,510],{},"Other changes from v1:",[363,512,513,531,545,556,566,575,588],{},[366,514,515,516,519,520,523,524,527,528,208],{},"Middleware added with ",[237,517,518],{},"app.use(\"/path\", handler)"," only matches ",[237,521,522],{},"/path"," (not ",[237,525,526],{},"/path/foo/bar","). For matching all subpaths like before, it should be updated to ",[237,529,530],{},"app.use(\"/path/**\", handler)",[366,532,533,534,537,538,541,542,305],{},"The ",[237,535,536],{},"event.path"," received in each handler will have a full path without omitting the prefixes. use ",[237,539,540],{},"withBase(base, handler)"," utility to make prefixed app. (example: ",[237,543,544],{},"withBase(\"/api\", app.handler)",[366,546,547],{},[345,548,549,552,553],{},[237,550,551],{},"router.add(path, method: Method | Method[]"," signature is changed to ",[237,554,555],{},"router.add(method: Method, path)",[366,557,558,561,562,565],{},[237,559,560],{},"router.use(path, handler)"," is deprecated. Use ",[237,563,564],{},"router.all(path, handler)"," instead.",[366,567,568,571,572,208],{},[237,569,570],{},"app.use(() => handler, { lazy: true })"," is no supported anymore. Instead you can use ",[237,573,574],{},"app.use(defineLazyEventHandler(() => handler), { lazy: true })",[366,576,577,240,580,583,584,587],{},[237,578,579],{},"app.use([\"/path1\", \"/path2\"], ...)",[237,581,582],{},"app.use(\"/path\", [handler1, handler2])"," are not supported anymore. Instead, use multiple ",[237,585,586],{},"app.use()"," calls.",[366,589,590,593],{},[237,591,592],{},"app.resolve(path)"," removed.",[465,595],{"title":23,"to":24},[465,597],{"title":28,"to":29},[224,599,601],{"id":600},"request-body","Request Body",[215,603,604],{},[195,605,606,607,610,611,616],{},"\nMost of request body utilities can now be replaced with native ",[237,608,609],{},"event.req.*"," methods which is based on web ",[205,612,614],{"href":301,"rel":613},[260],[237,615,99],{}," interface.",[195,618,619,622,623,262,630,637,638,641],{},[237,620,621],{},"readBody(event)"," utility will use ",[205,624,627],{"href":625,"rel":626},"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse",[260],[237,628,629],{},"JSON.parse",[205,631,634],{"href":632,"rel":633},"https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams",[260],[237,635,636],{},"URLSearchParams"," for parsing requests with ",[237,639,640],{},"application/x-www-form-urlencoded"," content-type.",[363,643,644,652,660,668],{},[366,645,646,647,208],{},"For text: Use ",[205,648,651],{"href":649,"rel":650},"https://developer.mozilla.org/en-US/docs/Web/API/Request/text",[260],"event.req.text()",[366,653,654,655,208],{},"For json: Use ",[205,656,659],{"href":657,"rel":658},"https://developer.mozilla.org/en-US/docs/Web/API/Request/json",[260],"event.req.json()",[366,661,662,663,208],{},"For formData: Use ",[205,664,667],{"href":665,"rel":666},"https://developer.mozilla.org/en-US/docs/Web/API/Request/formData",[260],"event.req.formData()",[366,669,670,671,208],{},"For stream: Use ",[205,672,675],{"href":673,"rel":674},"https://developer.mozilla.org/en-US/docs/Web/API/Request/body",[260],"event.req.body",[195,677,678],{},[345,679,680],{},"Behavior changes:",[363,682,683,690],{},[366,684,685,686,689],{},"Body utils won't throw an error if the incoming request has no body (or is a ",[237,687,688],{},"GET"," method for example) but instead, return empty values.",[366,691,692,693,240,696,699,700,705,706,208],{},"Native ",[237,694,695],{},"request.json",[237,697,698],{},"readBody"," does not use ",[205,701,704],{"href":702,"rel":703},"https://destr.unjs.io",[260],"unjs/destr"," anymore. You should always filter and sanitize data coming from user to avoid ",[205,707,710],{"href":708,"rel":709},"https://medium.com/intrinsic-blog/javascript-prototype-poisoning-vulnerabilities-in-the-wild-7bc15347c96",[260],"prototype-poisoning",[224,712,714],{"id":713},"cookie-and-headers","Cookie and Headers",[215,716,717],{},[195,718,719,720,725],{},"\nH3 now natively uses standard web ",[205,721,723],{"href":287,"rel":722},[260],[237,724,291],{}," for all utils.",[195,727,728,729,732,733,262,736,262,739,262,742,305],{},"Header values are always a plain ",[237,730,731],{},"string"," now (no ",[237,734,735],{},"null",[237,737,738],{},"undefined",[237,740,741],{},"number",[237,743,744],{},"string[]",[195,746,747,748,755,756,763],{},"For the ",[205,749,752],{"href":750,"rel":751},"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie",[260],[237,753,754],{},"Set-Cookie"," header, you can use ",[205,757,760],{"href":758,"rel":759},"https://developer.mozilla.org/en-US/docs/Web/API/Headers/getSetCookie",[260],[237,761,762],{},"headers.getSetCookie"," that always returns a string array.",[224,765,767],{"id":766},"other-deprecations","Other Deprecations",[195,769,770],{},"H3 v2 deprecated some legacy and aliased utilities.",[772,773,775],"h3",{"id":774},"app-and-router-utils","App and router utils",[363,777,778],{},[366,779,780,412,783,371,786,208],{},[237,781,782],{},"createApp",[237,784,785],{},"createRouter",[237,787,491],{},[772,789,791],{"id":790},"error-utils","Error utils",[363,793,794,806],{},[366,795,796,799,800,371,803],{},[237,797,798],{},"createError","/",[237,801,802],{},"H3Error",[237,804,805],{},"HTTPError",[366,807,808,371,811],{},[237,809,810],{},"isError",[237,812,813],{},"HTTPError.isError",[772,815,817],{"id":816},"handler-utils","Handler utils",[363,819,820,832,840,846,854],{},[366,821,822,799,825,371,828,831],{},[237,823,824],{},"eventHandler",[237,826,827],{},"defineEventHandler",[237,829,830],{},"defineHandler"," (you can also directly use a function!).",[366,833,834,371,837,208],{},[237,835,836],{},"lazyEventHandler",[237,838,839],{},"defineLazyEventHandler",[366,841,842,845],{},[237,843,844],{},"isEventHandler",": (removed) Any function can be an event handler.",[366,847,848,371,851,208],{},[237,849,850],{},"useBase",[237,852,853],{},"withBase",[366,855,856,240,859,593],{},[237,857,858],{},"defineRequestMiddleware",[237,860,861],{},"defineResponseMiddleware",[772,863,865],{"id":864},"request-utils","Request utils",[363,867,868,879,890,900],{},[366,869,870,412,873,371,876,208],{},[237,871,872],{},"getHeader",[237,874,875],{},"getRequestHeader",[237,877,878],{},"event.req.headers.get(name)",[366,880,881,412,884,371,887,208],{},[237,882,883],{},"getHeaders",[237,885,886],{},"getRequestHeaders",[237,888,889],{},"Object.fromEntries(event.req.headers.entries())",[366,891,892,371,895,262,897,208],{},[237,893,894],{},"getRequestPath",[237,896,536],{},[237,898,899],{},"event.url",[366,901,902,371,905,208],{},[237,903,904],{},"getMethod",[237,906,907],{},"event.method",[772,909,911],{"id":910},"response-utils","Response utils",[363,913,914,925,942,956,967,974,982],{},[366,915,916,412,919,371,922],{},[237,917,918],{},"getResponseHeader",[237,920,921],{},"getResponseHeaders",[237,923,924],{},"event.res.headers.get(name)",[366,926,927,412,930,412,933,412,936,371,939,208],{},[237,928,929],{},"setHeader",[237,931,932],{},"setResponseHeader",[237,934,935],{},"setHeaders",[237,937,938],{},"setResponseHeaders",[237,940,941],{},"event.res.headers.set(name, value)",[366,943,944,412,947,412,950,371,953,208],{},[237,945,946],{},"appendHeader",[237,948,949],{},"appendResponseHeader",[237,951,952],{},"appendResponseHeaders",[237,954,955],{},"event.res.headers.append(name, value)",[366,957,958,412,961,371,964],{},[237,959,960],{},"removeResponseHeader",[237,962,963],{},"clearResponseHeaders",[237,965,966],{},"event.res.headers.delete(name)",[366,968,969,371,972,208],{},[237,970,971],{},"appendHeaders",[237,973,952],{},[366,975,976,371,979],{},[237,977,978],{},"defaultContentType",[237,980,981],{},"event.res.headers.set(\"content-type\", type)",[366,983,984,412,987,412,990,993,994,240,997,208],{},[237,985,986],{},"getResponseStatus",[237,988,989],{},"getResponseStatusText",[237,991,992],{},"setResponseStatus",": Use ",[237,995,996],{},"event.res.status",[237,998,999],{},"event.res.statusText",[772,1001,1003],{"id":1002},"nodejs-utils","Node.js utils",[363,1005,1006,1014,1022,1030,1039,1046,1052],{},[366,1007,1008,371,1011,208],{},[237,1009,1010],{},"defineNodeListener",[237,1012,1013],{},"defineNodeHandler",[366,1015,1016,371,1019,208],{},[237,1017,1018],{},"fromNodeMiddleware",[237,1020,1021],{},"fromNodeHandler",[366,1023,1024,371,1027,208],{},[237,1025,1026],{},"toNodeListener",[237,1028,1029],{},"toNodeHandler",[366,1031,1032,1035,1036,305],{},[237,1033,1034],{},"createEvent",": (removed): Use Node.js adapter (",[237,1037,1038],{},"toNodeHandler(app)",[366,1040,1041,1035,1044,305],{},[237,1042,1043],{},"fromNodeRequest",[237,1045,1038],{},[366,1047,1048,1051],{},[237,1049,1050],{},"promisifyNodeListener"," (removed).",[366,1053,1054,1057],{},[237,1055,1056],{},"callNodeListener",": (removed).",[772,1059,1061],{"id":1060},"web-utils","Web Utils",[363,1063,1064,1070,1075,1085,1091,1096],{},[366,1065,1066,1069],{},[237,1067,1068],{},"fromPlainHandler",": (removed) Migrate to Web API.",[366,1071,1072,1069],{},[237,1073,1074],{},"toPlainHandler",[366,1076,1077,1080,1081,1084],{},[237,1078,1079],{},"fromPlainRequest"," (removed) Migrate to Web API or use ",[237,1082,1083],{},"mockEvent"," util for testing.",[366,1086,1087,1090],{},[237,1088,1089],{},"callWithPlainRequest"," (removed) Migrate to Web API.",[366,1092,1093,1069],{},[237,1094,1095],{},"fromWebRequest",[366,1097,1098,1057],{},[237,1099,1100],{},"callWithWebRequest",[772,1102,1104],{"id":1103},"body-utils","Body Utils",[363,1106,1107,1117,1127],{},[366,1108,1109,371,1112,262,1114,208],{},[237,1110,1111],{},"readRawBody",[237,1113,651],{},[237,1115,1116],{},"event.req.arrayBuffer()",[366,1118,1119,412,1122,371,1125,208],{},[237,1120,1121],{},"getBodyStream",[237,1123,1124],{},"getRequestWebStream",[237,1126,675],{},[366,1128,1129,412,1132,412,1135,371,1138,208],{},[237,1130,1131],{},"readFormData",[237,1133,1134],{},"readMultipartFormData",[237,1136,1137],{},"readFormDataBody",[237,1139,667],{},[772,1141,1143],{"id":1142},"other-utils","Other Utils",[363,1145,1146,1154,1162,1176],{},[366,1147,1148,371,1151,208],{},[237,1149,1150],{},"isStream",[237,1152,1153],{},"instanceof ReadableStream",[366,1155,1156,371,1159,208],{},[237,1157,1158],{},"isWebResponse",[237,1160,1161],{},"instanceof Response",[366,1163,1164,993,1167,1170,1171,208],{},[237,1165,1166],{},"splitCookiesString",[237,1168,1169],{},"splitSetCookieString"," from ",[205,1172,1175],{"href":1173,"rel":1174},"https://github.com/unjs/cookie-es",[260],"cookie-es",[366,1177,1178,1057],{},[237,1179,1180],{},"MIMES",[772,1182,1184],{"id":1183},"type-exports","Type Exports",[199,1186,1187],{},[195,1188,1189],{},"\nThere might be more type changes.",[363,1191,1192,1199,1207,1215,1223,1231,1242,1253,1261,1268,1276],{},[366,1193,1194,371,1197,208],{},[237,1195,1196],{},"App",[237,1198,60],{},[366,1200,1201,371,1204,208],{},[237,1202,1203],{},"AppOptions",[237,1205,1206],{},"H3Config",[366,1208,1209,371,1212,208],{},[237,1210,1211],{},"_RequestMiddleware",[237,1213,1214],{},"RequestMiddleware",[366,1216,1217,371,1220,208],{},[237,1218,1219],{},"_ResponseMiddleware",[237,1221,1222],{},"ResponseMiddleware",[366,1224,1225,371,1228,208],{},[237,1226,1227],{},"NodeListener",[237,1229,1230],{},"NodeHandler",[366,1232,1233,371,1236,240,1239,208],{},[237,1234,1235],{},"TypedHeaders",[237,1237,1238],{},"RequestHeaders",[237,1240,1241],{},"ResponseHeaders",[366,1243,1244,371,1247,240,1250,208],{},[237,1245,1246],{},"HTTPHeaderName",[237,1248,1249],{},"RequestHeaderName",[237,1251,1252],{},"ResponseHeaderName",[366,1254,1255,1258,1259,208],{},[237,1256,1257],{},"H3Headers",": Migrate to native ",[237,1260,291],{},[366,1262,1263,1258,1266,208],{},[237,1264,1265],{},"H3Response",[237,1267,104],{},[366,1269,1270,1258,1273,208],{},[237,1271,1272],{},"MultiPartData",[237,1274,1275],{},"FormData",[366,1277,1278,371,1281,1284,1285,371,1288,208],{},[237,1279,1280],{},"RouteNode",[237,1282,1283],{},"RouterEntry",".\n",[237,1286,1287],{},"CreateRouterOptions",[237,1289,1290],{},"RouterOptions",[195,1292,1293,1294,284,1297,284,1300,284,1303,284,1306,284,1309,284,1312,284,1315,284,1318,284,1321,284,1324,284,1327,284,1330,208],{},"Removed type exports: ",[237,1295,1296],{},"WebEventContext",[237,1298,1299],{},"NodeEventContext",[237,1301,1302],{},"NodePromisifiedHandler",[237,1304,1305],{},"AppUse",[237,1307,1308],{},"Stack",[237,1310,1311],{},"InputLayer",[237,1313,1314],{},"InputStack",[237,1316,1317],{},"Layer",[237,1319,1320],{},"Matcher",[237,1322,1323],{},"PlainHandler",[237,1325,1326],{},"PlainRequest",[237,1328,1329],{},"PlainResponse",[237,1331,1332],{},"WebHandler",{"title":1334,"searchDepth":1335,"depth":1335,"links":1336},"",2,[1337,1338,1339,1340,1341,1342,1343],{"id":226,"depth":1335,"text":227},{"id":270,"depth":1335,"text":271},{"id":337,"depth":1335,"text":338},{"id":469,"depth":1335,"text":470},{"id":600,"depth":1335,"text":601},{"id":713,"depth":1335,"text":714},{"id":766,"depth":1335,"text":767,"children":1344},[1345,1347,1348,1349,1350,1351,1352,1353,1354,1355],{"id":774,"depth":1346,"text":775},3,{"id":790,"depth":1346,"text":791},{"id":816,"depth":1346,"text":817},{"id":864,"depth":1346,"text":865},{"id":910,"depth":1346,"text":911},{"id":1002,"depth":1346,"text":1003},{"id":1060,"depth":1346,"text":1061},{"id":1103,"depth":1346,"text":1104},{"id":1142,"depth":1346,"text":1143},{"id":1183,"depth":1346,"text":1184},"md",{"icon":167},{"icon":167},{"title":162,"description":1334},"YUb0XGUvkHI-yWRuBWMzcTmZBntlTWLaxJSlzaRlViE",[1362,1364],{"title":158,"path":159,"stem":160,"description":1363,"icon":144,"children":-1},"Ensure that your data are valid and safe before processing them.",{"title":169,"path":170,"stem":174,"description":1334,"icon":175,"children":-1},1768646385963]