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