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