[{"data":1,"prerenderedAt":664},["ShallowReactive",2],{"navigation":3,"-examples-handle-cookie":193,"-examples-handle-cookie-surround":659},[4,91,138,170,177],{"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,166],{"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},"HTTP QUERY Method","/examples/handle-query","4.examples/handle-query",{"title":155,"path":156,"stem":157,"icon":149},"Sessions","/examples/handle-session","4.examples/handle-session",{"title":159,"path":160,"stem":161,"icon":149},"Static Assets","/examples/serve-static-assets","4.examples/serve-static-assets",{"title":163,"path":164,"stem":165,"icon":149},"Stream Response","/examples/stream-response","4.examples/stream-response",{"title":167,"path":168,"stem":169,"icon":149},"Validate Data","/examples/validate-data","4.examples/validate-data",{"title":171,"path":172,"stem":173,"children":174,"icon":176},"Migration","/migration","5.migration/0.index",[175],{"title":171,"path":172,"stem":173,"icon":176},"icons8:up-round",{"title":178,"path":179,"stem":180,"children":181},"Blog","/blog","99.blog",[182,185,189],{"title":178,"path":179,"stem":183,"icon":184},"99.blog/index","i-lucide-file-text",{"title":186,"path":187,"stem":188,"icon":184},"H3 1.8 - Towards the Edge of the Web","/blog/v1.8","99.blog/1.v1.8",{"title":190,"path":191,"stem":192,"icon":184},"H3 v2 beta","/blog/v2-beta","99.blog/2.v2-beta",{"id":194,"title":146,"body":195,"description":653,"extension":654,"meta":655,"navigation":656,"path":147,"seo":657,"stem":148,"__hash__":658},"content/4.examples/handle-cookie.md",{"type":196,"value":197,"toc":648,"icon":149},"minimark",[198,202,225,230,236,368,379,435,438,442,448,540,547,551,556,621,641,644],[199,200,201],"p",{},"Handling cookies with H3 is straightforward. There is three utilities to handle cookies:",[203,204,205,213,219],"ul",{},[206,207,208,212],"li",{},[209,210,211],"code",{},"setCookie"," to attach a cookie to the response.",[206,214,215,218],{},[209,216,217],{},"getCookie"," to get a cookie from the request.",[206,220,221,224],{},[209,222,223],{},"deleteCookie"," to clear a cookie from the response.",[226,227,229],"h2",{"id":228},"set-a-cookie","Set a Cookie",[199,231,232,233,235],{},"To set a cookie, you need to use ",[209,234,211],{}," in an event handler:",[237,238,243],"pre",{"className":239,"code":240,"language":241,"meta":242,"style":242},"language-ts shiki shiki-themes github-light github-dark github-dark","import { setCookie } from \"h3\";\n\napp.use(async (event) => {\n  setCookie(event, \"name\", \"value\", { maxAge: 60 * 60 * 24 * 7 });\n  return \"\";\n});\n","ts","",[209,244,245,268,275,307,351,362],{"__ignoreMap":242},[246,247,250,254,258,261,265],"span",{"class":248,"line":249},"line",1,[246,251,253],{"class":252},"so5gQ","import",[246,255,257],{"class":256},"slsVL"," { setCookie } ",[246,259,260],{"class":252},"from",[246,262,264],{"class":263},"sfrk1"," \"h3\"",[246,266,267],{"class":256},";\n",[246,269,271],{"class":248,"line":270},2,[246,272,274],{"emptyLinePlaceholder":273},true,"\n",[246,276,278,281,285,288,291,294,298,301,304],{"class":248,"line":277},3,[246,279,280],{"class":256},"app.",[246,282,284],{"class":283},"shcOC","use",[246,286,287],{"class":256},"(",[246,289,290],{"class":252},"async",[246,292,293],{"class":256}," (",[246,295,297],{"class":296},"sQHwn","event",[246,299,300],{"class":256},") ",[246,302,303],{"class":252},"=>",[246,305,306],{"class":256}," {\n",[246,308,310,313,316,319,322,325,328,332,335,338,340,343,345,348],{"class":248,"line":309},4,[246,311,312],{"class":283},"  setCookie",[246,314,315],{"class":256},"(event, ",[246,317,318],{"class":263},"\"name\"",[246,320,321],{"class":256},", ",[246,323,324],{"class":263},"\"value\"",[246,326,327],{"class":256},", { maxAge: ",[246,329,331],{"class":330},"suiK_","60",[246,333,334],{"class":252}," *",[246,336,337],{"class":330}," 60",[246,339,334],{"class":252},[246,341,342],{"class":330}," 24",[246,344,334],{"class":252},[246,346,347],{"class":330}," 7",[246,349,350],{"class":256}," });\n",[246,352,354,357,360],{"class":248,"line":353},5,[246,355,356],{"class":252},"  return",[246,358,359],{"class":263}," \"\"",[246,361,267],{"class":256},[246,363,365],{"class":248,"line":364},6,[246,366,367],{"class":256},"});\n",[199,369,370,371,378],{},"In the options, you can configure the ",[372,373,377],"a",{"href":374,"rel":375},"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie",[376],"nofollow","cookie flags",":",[203,380,381,387,397,403,409,419,427],{},[206,382,383,386],{},[209,384,385],{},"maxAge"," to set the expiration date of the cookie in seconds.",[206,388,389,392,393,396],{},[209,390,391],{},"expires"," to set the expiration date of the cookie in a ",[209,394,395],{},"Date"," object.",[206,398,399,402],{},[209,400,401],{},"path"," to set the path of the cookie.",[206,404,405,408],{},[209,406,407],{},"domain"," to set the domain of the cookie.",[206,410,411,414,415,418],{},[209,412,413],{},"secure"," to set the ",[209,416,417],{},"Secure"," flag of the cookie.",[206,420,421,414,424,418],{},[209,422,423],{},"httpOnly",[209,425,426],{},"HttpOnly",[206,428,429,414,432,418],{},[209,430,431],{},"sameSite",[209,433,434],{},"SameSite",[436,437],"read-more",{"to":93},[226,439,441],{"id":440},"get-a-cookie","Get a Cookie",[199,443,444,445,447],{},"To get a cookie, you need to use ",[209,446,217],{}," in an event handler.",[237,449,451],{"className":239,"code":450,"language":241,"meta":242,"style":242},"import { getCookie } from \"h3\";\n\napp.use(async (event) => {\n  const name = getCookie(event, \"name\");\n\n  // do something...\n\n  return \"\";\n});\n",[209,452,453,466,470,490,511,515,521,526,535],{"__ignoreMap":242},[246,454,455,457,460,462,464],{"class":248,"line":249},[246,456,253],{"class":252},[246,458,459],{"class":256}," { getCookie } ",[246,461,260],{"class":252},[246,463,264],{"class":263},[246,465,267],{"class":256},[246,467,468],{"class":248,"line":270},[246,469,274],{"emptyLinePlaceholder":273},[246,471,472,474,476,478,480,482,484,486,488],{"class":248,"line":277},[246,473,280],{"class":256},[246,475,284],{"class":283},[246,477,287],{"class":256},[246,479,290],{"class":252},[246,481,293],{"class":256},[246,483,297],{"class":296},[246,485,300],{"class":256},[246,487,303],{"class":252},[246,489,306],{"class":256},[246,491,492,495,498,501,504,506,508],{"class":248,"line":309},[246,493,494],{"class":252},"  const",[246,496,497],{"class":330}," name",[246,499,500],{"class":252}," =",[246,502,503],{"class":283}," getCookie",[246,505,315],{"class":256},[246,507,318],{"class":263},[246,509,510],{"class":256},");\n",[246,512,513],{"class":248,"line":353},[246,514,274],{"emptyLinePlaceholder":273},[246,516,517],{"class":248,"line":364},[246,518,520],{"class":519},"sCsY4","  // do something...\n",[246,522,524],{"class":248,"line":523},7,[246,525,274],{"emptyLinePlaceholder":273},[246,527,529,531,533],{"class":248,"line":528},8,[246,530,356],{"class":252},[246,532,359],{"class":263},[246,534,267],{"class":256},[246,536,538],{"class":248,"line":537},9,[246,539,367],{"class":256},[199,541,542,543,546],{},"This will return the value of the cookie if it exists, or ",[209,544,545],{},"undefined"," otherwise.",[226,548,550],{"id":549},"delete-a-cookie","Delete a Cookie",[199,552,553,554,235],{},"To delete a cookie, you need to use ",[209,555,223],{},[237,557,559],{"className":239,"code":558,"language":241,"meta":242,"style":242},"import { deleteCookie } from \"h3\";\n\napp.use(async (event) => {\n  deleteCookie(event, \"name\");\n  return \"\";\n});\n",[209,560,561,574,578,598,609,617],{"__ignoreMap":242},[246,562,563,565,568,570,572],{"class":248,"line":249},[246,564,253],{"class":252},[246,566,567],{"class":256}," { deleteCookie } ",[246,569,260],{"class":252},[246,571,264],{"class":263},[246,573,267],{"class":256},[246,575,576],{"class":248,"line":270},[246,577,274],{"emptyLinePlaceholder":273},[246,579,580,582,584,586,588,590,592,594,596],{"class":248,"line":277},[246,581,280],{"class":256},[246,583,284],{"class":283},[246,585,287],{"class":256},[246,587,290],{"class":252},[246,589,293],{"class":256},[246,591,297],{"class":296},[246,593,300],{"class":256},[246,595,303],{"class":252},[246,597,306],{"class":256},[246,599,600,603,605,607],{"class":248,"line":309},[246,601,602],{"class":283},"  deleteCookie",[246,604,315],{"class":256},[246,606,318],{"class":263},[246,608,510],{"class":256},[246,610,611,613,615],{"class":248,"line":353},[246,612,356],{"class":252},[246,614,359],{"class":263},[246,616,267],{"class":256},[246,618,619],{"class":248,"line":364},[246,620,367],{"class":256},[199,622,623,624,626,627,629,630,633,634,636,637,640],{},"The utility ",[209,625,223],{}," is a wrapper around ",[209,628,211],{}," with the value set to ",[209,631,632],{},"\"\""," and the ",[209,635,385],{}," set to ",[209,638,639],{},"0",".",[199,642,643],{},"This will erase the cookie from the client.",[645,646,647],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":242,"searchDepth":270,"depth":270,"links":649},[650,651,652],{"id":228,"depth":270,"text":229},{"id":440,"depth":270,"text":441},{"id":549,"depth":270,"text":550},"Use cookies to store data on the client.","md",{"icon":149},{"icon":149},{"title":146,"description":653},"9SZul7GE8QZVh6lk373BoevG8xDhZ17SlUp_VLyEf7s",[660,662],{"title":139,"path":140,"stem":141,"description":661,"icon":144,"children":-1},"Common examples for h3.",{"title":151,"path":152,"stem":153,"description":663,"icon":149,"children":-1},"Accept safe, cacheable requests that carry a query in the body.",1783690727982]