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