[{"data":1,"prerenderedAt":993},["ShallowReactive",2],{"navigation":3,"examples-nav":228,"-examples-cached-handler":357,"-examples-cached-handler-surround":986},[4,83,212,218,225],{"title":5,"path":6,"stem":7,"children":8,"icon":82},"","/docs","1.docs/1.index",[9,12,17,22,27,32,37,42,47,52,57,62,67,72,77],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-compass",{"title":13,"path":14,"stem":15,"icon":16},"Quick Start","/docs/quick-start","1.docs/2.quick-start","i-lucide-zap",{"title":18,"path":19,"stem":20,"icon":21},"Renderer","/docs/renderer","1.docs/4.renderer","ri:layout-masonry-line",{"title":23,"path":24,"stem":25,"icon":26},"Routing","/docs/routing","1.docs/5.routing","ri:direction-line",{"title":28,"path":29,"stem":30,"icon":31},"Assets","/docs/assets","1.docs/50.assets","ri:image-2-line",{"title":33,"path":34,"stem":35,"icon":36},"Configuration","/docs/configuration","1.docs/50.configuration","ri:settings-3-line",{"title":38,"path":39,"stem":40,"icon":41},"Database","/docs/database","1.docs/50.database","ri:database-2-line",{"title":43,"path":44,"stem":45,"icon":46},"Lifecycle","/docs/lifecycle","1.docs/50.lifecycle","i-lucide-layers",{"title":48,"path":49,"stem":50,"icon":51},"Plugins","/docs/plugins","1.docs/50.plugins","ri:plug-line",{"title":53,"path":54,"stem":55,"icon":56},"Tasks","/docs/tasks","1.docs/50.tasks","codicon:run-all",{"title":58,"path":59,"stem":60,"icon":61},"Server Entry","/docs/server-entry","1.docs/6.server-entry","ri:server-line",{"title":63,"path":64,"stem":65,"icon":66},"Cache","/docs/cache","1.docs/7.cache","ri:speed-line",{"title":68,"path":69,"stem":70,"icon":71},"KV Storage","/docs/storage","1.docs/8.storage","carbon:datastore",{"title":73,"path":74,"stem":75,"icon":76},"Migration Guide","/docs/migration","1.docs/99.migration","ri:arrow-right-up-line",{"title":78,"path":79,"stem":80,"icon":81},"Nightly Channel","/docs/nightly","1.docs/99.nightly","ri:moon-fill","i-lucide-book-open",{"title":84,"path":85,"stem":86,"children":87,"icon":89},"Deploy","/deploy","2.deploy/0.index",[88,90,111],{"title":84,"path":85,"stem":86,"icon":89},"ri:upload-cloud-2-line",{"title":91,"path":92,"stem":93,"children":94,"page":110},"Runtimes","/deploy/runtimes","2.deploy/10.runtimes",[95,100,105],{"title":96,"path":97,"stem":98,"icon":99},"Node.js","/deploy/runtimes/node","2.deploy/10.runtimes/1.node","akar-icons:node-fill",{"title":101,"path":102,"stem":103,"icon":104},"Bun","/deploy/runtimes/bun","2.deploy/10.runtimes/bun","simple-icons:bun",{"title":106,"path":107,"stem":108,"icon":109},"Deno","/deploy/runtimes/deno","2.deploy/10.runtimes/deno","simple-icons:deno",false,{"title":112,"path":113,"stem":114,"children":115,"page":110},"Providers","/deploy/providers","2.deploy/20.providers",[116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208],{"title":117,"path":118,"stem":119},"Alwaysdata","/deploy/providers/alwaysdata","2.deploy/20.providers/alwaysdata",{"title":121,"path":122,"stem":123},"AWS Lambda","/deploy/providers/aws","2.deploy/20.providers/aws",{"title":125,"path":126,"stem":127},"AWS Amplify","/deploy/providers/aws-amplify","2.deploy/20.providers/aws-amplify",{"title":129,"path":130,"stem":131},"Azure","/deploy/providers/azure","2.deploy/20.providers/azure",{"title":133,"path":134,"stem":135},"Cleavr","/deploy/providers/cleavr","2.deploy/20.providers/cleavr",{"title":137,"path":138,"stem":139},"Cloudflare","/deploy/providers/cloudflare","2.deploy/20.providers/cloudflare",{"title":141,"path":142,"stem":143},"Deno Deploy","/deploy/providers/deno-deploy","2.deploy/20.providers/deno-deploy",{"title":145,"path":146,"stem":147},"DigitalOcean","/deploy/providers/digitalocean","2.deploy/20.providers/digitalocean",{"title":149,"path":150,"stem":151},"Firebase","/deploy/providers/firebase","2.deploy/20.providers/firebase",{"title":153,"path":154,"stem":155},"Flightcontrol","/deploy/providers/flightcontrol","2.deploy/20.providers/flightcontrol",{"title":157,"path":158,"stem":159},"Genezio","/deploy/providers/genezio","2.deploy/20.providers/genezio",{"title":161,"path":162,"stem":163},"GitHub Pages","/deploy/providers/github-pages","2.deploy/20.providers/github-pages",{"title":165,"path":166,"stem":167},"GitLab Pages","/deploy/providers/gitlab-pages","2.deploy/20.providers/gitlab-pages",{"title":169,"path":170,"stem":171},"Heroku","/deploy/providers/heroku","2.deploy/20.providers/heroku",{"title":173,"path":174,"stem":175},"IIS","/deploy/providers/iis","2.deploy/20.providers/iis",{"title":177,"path":178,"stem":179},"Koyeb","/deploy/providers/koyeb","2.deploy/20.providers/koyeb",{"title":181,"path":182,"stem":183},"Netlify","/deploy/providers/netlify","2.deploy/20.providers/netlify",{"title":185,"path":186,"stem":187},"Platform.sh","/deploy/providers/platform-sh","2.deploy/20.providers/platform-sh",{"title":189,"path":190,"stem":191},"Render.com","/deploy/providers/render","2.deploy/20.providers/render",{"title":193,"path":194,"stem":195},"StormKit","/deploy/providers/stormkit","2.deploy/20.providers/stormkit",{"title":197,"path":198,"stem":199},"Vercel","/deploy/providers/vercel","2.deploy/20.providers/vercel",{"title":201,"path":202,"stem":203},"Zeabur","/deploy/providers/zeabur","2.deploy/20.providers/zeabur",{"title":205,"path":206,"stem":207},"Zephyr Cloud","/deploy/providers/zephyr","2.deploy/20.providers/zephyr",{"title":209,"path":210,"stem":211},"Zerops","/deploy/providers/zerops","2.deploy/20.providers/zerops",{"title":213,"path":214,"stem":215,"children":216,"icon":36},"Config","/config","3.config/0.index",[217],{"title":213,"path":214,"stem":215,"icon":36},{"title":219,"path":220,"stem":221,"children":222,"icon":224},"Examples","/examples","4.examples/0.index",[223],{"title":219,"path":220,"stem":221,"icon":224},"i-lucide-folder-code",{"title":5,"path":226,"stem":227},"/","index",[229,234,239,243,247,250,255,259,263,267,271,275,279,284,288,291,295,299,303,308,312,317,321,325,329,333,337,341,345,349,353],{"title":230,"description":231,"category":232,"path":233},"API Routes","File-based API routing with HTTP method support and dynamic parameters.","features","/examples/api-routes/readme",{"title":235,"description":236,"category":237,"path":238},"Auto Imports","Automatic imports for utilities and composables.","config","/examples/auto-imports/readme",{"title":240,"description":241,"category":232,"path":242},"Cached Handler","Cache route responses with configurable bypass logic.","/examples/cached-handler/readme",{"title":244,"description":245,"category":232,"path":246},"Custom Error Handler","Customize error responses with a global error handler.","/examples/custom-error-handler/readme",{"title":38,"description":248,"category":232,"path":249},"Built-in database support with SQL template literals.","/examples/database/readme",{"title":251,"description":252,"category":253,"path":254},"Elysia","Integrate Elysia with Nitro using the server entry.","backend frameworks","/examples/elysia/readme",{"title":256,"description":257,"category":253,"path":258},"Express","Integrate Express with Nitro using the server entry.","/examples/express/readme",{"title":260,"description":261,"category":253,"path":262},"Fastify","Integrate Fastify with Nitro using the server entry.","/examples/fastify/readme",{"title":264,"description":265,"category":232,"path":266},"Hello World","Minimal Nitro server using the web standard fetch handler.","/examples/hello-world/readme",{"title":268,"description":269,"category":253,"path":270},"Hono","Integrate Hono with Nitro using the server entry.","/examples/hono/readme",{"title":272,"description":273,"category":237,"path":274},"Import Alias","Custom import aliases for cleaner module paths.","/examples/import-alias/readme",{"title":276,"description":277,"category":232,"path":278},"Middleware","Request middleware for authentication, logging, and request modification.","/examples/middleware/readme",{"title":280,"description":281,"category":282,"path":283},"Mono JSX","Server-side JSX rendering in Nitro with mono-jsx.","server side rendering","/examples/mono-jsx/readme",{"title":285,"description":286,"category":282,"path":287},"Nano JSX","Server-side JSX rendering in Nitro with nano-jsx.","/examples/nano-jsx/readme",{"title":48,"description":289,"category":232,"path":290},"Extend Nitro with custom plugins for hooks and lifecycle events.","/examples/plugins/readme",{"title":292,"description":293,"category":282,"path":294},"Custom Renderer","Build a custom HTML renderer in Nitro with server-side data fetching.","/examples/renderer/readme",{"title":296,"description":297,"category":237,"path":298},"Runtime Config","Environment-aware configuration with runtime access.","/examples/runtime-config/readme",{"title":300,"description":301,"category":232,"path":302},"Server Fetch","Internal server-to-server requests without network overhead.","/examples/server-fetch/readme",{"title":304,"description":305,"category":306,"path":307},"Shiki","Server-side syntax highlighting in Nitro with Shiki.","integrations","/examples/shiki/readme",{"title":309,"description":310,"category":232,"path":311},"Virtual Routes","Define routes programmatically using Nitro's virtual module system.","/examples/virtual-routes/readme",{"title":313,"description":314,"category":315,"path":316},"Vite Nitro Plugin","Use Nitro as a Vite plugin for programmatic configuration.","vite","/examples/vite-nitro-plugin/readme",{"title":318,"description":319,"category":315,"path":320},"Vite RSC","React Server Components with Vite and Nitro.","/examples/vite-rsc/readme",{"title":322,"description":323,"category":282,"path":324},"Vite SSR HTML","Server-side rendering with vanilla HTML, Vite, and Nitro.","/examples/vite-ssr-html/readme",{"title":326,"description":327,"category":282,"path":328},"SSR with Preact","Server-side rendering with Preact in Nitro using Vite.","/examples/vite-ssr-preact/readme",{"title":330,"description":331,"category":282,"path":332},"SSR with React","Server-side rendering with React in Nitro using Vite.","/examples/vite-ssr-react/readme",{"title":334,"description":335,"category":282,"path":336},"SSR with SolidJS","Server-side rendering with SolidJS in Nitro using Vite.","/examples/vite-ssr-solid/readme",{"title":338,"description":339,"category":282,"path":340},"SSR with TanStack Router","Client-side routing with TanStack Router in Nitro using Vite.","/examples/vite-ssr-tsr-react/readme",{"title":342,"description":343,"category":282,"path":344},"SSR with TanStack Start","Full-stack React with TanStack Start in Nitro using Vite.","/examples/vite-ssr-tss-react/readme",{"title":346,"description":347,"category":282,"path":348},"SSR with Vue Router","Server-side rendering with Vue Router in Nitro using Vite.","/examples/vite-ssr-vue-router/readme",{"title":350,"description":351,"category":315,"path":352},"Vite + tRPC","End-to-end typesafe APIs with tRPC in Nitro using Vite.","/examples/vite-trpc/readme",{"title":354,"description":355,"category":232,"path":356},"WebSocket","Real-time bidirectional communication with WebSocket support.","/examples/websocket/readme",{"id":358,"title":240,"body":359,"category":232,"description":241,"extension":979,"icon":980,"meta":981,"navigation":982,"path":242,"seo":983,"stem":984,"__hash__":985},"examples/examples/cached-handler/README.md",{"type":360,"value":361,"toc":975},"minimark",[362,788,792,797,939,953,957,971],[363,364,367,423,520,710,734],"code-tree",{":expand-all":365,"default-value":366,"expand-all":5},"true","server.ts",[368,369,374],"pre",{"className":370,"code":371,"filename":372,"language":373,"meta":5,"style":5},"language-ts shiki shiki-themes github-light github-dark github-dark","import { defineConfig } from \"nitro\";\n\nexport default defineConfig({});\n","nitro.config.ts","ts",[375,376,377,400,407],"code",{"__ignoreMap":5},[378,379,382,386,390,393,397],"span",{"class":380,"line":381},"line",1,[378,383,385],{"class":384},"so5gQ","import",[378,387,389],{"class":388},"slsVL"," { defineConfig } ",[378,391,392],{"class":384},"from",[378,394,396],{"class":395},"sfrk1"," \"nitro\"",[378,398,399],{"class":388},";\n",[378,401,403],{"class":380,"line":402},2,[378,404,406],{"emptyLinePlaceholder":405},true,"\n",[378,408,410,413,416,420],{"class":380,"line":409},3,[378,411,412],{"class":384},"export",[378,414,415],{"class":384}," default",[378,417,419],{"class":418},"shcOC"," defineConfig",[378,421,422],{"class":388},"({});\n",[368,424,429],{"className":425,"code":426,"filename":427,"language":428,"meta":5,"style":5},"language-json shiki shiki-themes github-light github-dark github-dark","{\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \"nitro dev\",\n    \"build\": \"nitro build\"\n  },\n  \"devDependencies\": {\n    \"nitro\": \"latest\"\n  }\n}\n","package.json","json",[375,430,431,436,451,459,472,483,489,497,508,514],{"__ignoreMap":5},[378,432,433],{"class":380,"line":381},[378,434,435],{"class":388},"{\n",[378,437,438,442,445,448],{"class":380,"line":402},[378,439,441],{"class":440},"suiK_","  \"type\"",[378,443,444],{"class":388},": ",[378,446,447],{"class":395},"\"module\"",[378,449,450],{"class":388},",\n",[378,452,453,456],{"class":380,"line":409},[378,454,455],{"class":440},"  \"scripts\"",[378,457,458],{"class":388},": {\n",[378,460,462,465,467,470],{"class":380,"line":461},4,[378,463,464],{"class":440},"    \"dev\"",[378,466,444],{"class":388},[378,468,469],{"class":395},"\"nitro dev\"",[378,471,450],{"class":388},[378,473,475,478,480],{"class":380,"line":474},5,[378,476,477],{"class":440},"    \"build\"",[378,479,444],{"class":388},[378,481,482],{"class":395},"\"nitro build\"\n",[378,484,486],{"class":380,"line":485},6,[378,487,488],{"class":388},"  },\n",[378,490,492,495],{"class":380,"line":491},7,[378,493,494],{"class":440},"  \"devDependencies\"",[378,496,458],{"class":388},[378,498,500,503,505],{"class":380,"line":499},8,[378,501,502],{"class":440},"    \"nitro\"",[378,504,444],{"class":388},[378,506,507],{"class":395},"\"latest\"\n",[378,509,511],{"class":380,"line":510},9,[378,512,513],{"class":388},"  }\n",[378,515,517],{"class":380,"line":516},10,[378,518,519],{"class":388},"}\n",[368,521,523],{"className":370,"code":522,"filename":366,"language":373,"meta":5,"style":5},"import { html } from \"nitro/h3\";\nimport { defineCachedHandler } from \"nitro/cache\";\n\nexport default defineCachedHandler(\n  async () => {\n    await new Promise((resolve) => setTimeout(resolve, 500));\n    return html`\n      Response generated at ${new Date().toISOString()} (took 500ms)\n      \u003Cbr />(\u003Ca href=\"?skipCache=true\">skip cache\u003C/a>)\n    `;\n  },\n  { shouldBypassCache: ({ req }) => req.url.includes(\"skipCache=true\") }\n);\n",[375,524,525,539,553,557,569,583,618,629,652,657,664,669,704],{"__ignoreMap":5},[378,526,527,529,532,534,537],{"class":380,"line":381},[378,528,385],{"class":384},[378,530,531],{"class":388}," { html } ",[378,533,392],{"class":384},[378,535,536],{"class":395}," \"nitro/h3\"",[378,538,399],{"class":388},[378,540,541,543,546,548,551],{"class":380,"line":402},[378,542,385],{"class":384},[378,544,545],{"class":388}," { defineCachedHandler } ",[378,547,392],{"class":384},[378,549,550],{"class":395}," \"nitro/cache\"",[378,552,399],{"class":388},[378,554,555],{"class":380,"line":409},[378,556,406],{"emptyLinePlaceholder":405},[378,558,559,561,563,566],{"class":380,"line":461},[378,560,412],{"class":384},[378,562,415],{"class":384},[378,564,565],{"class":418}," defineCachedHandler",[378,567,568],{"class":388},"(\n",[378,570,571,574,577,580],{"class":380,"line":474},[378,572,573],{"class":384},"  async",[378,575,576],{"class":388}," () ",[378,578,579],{"class":384},"=>",[378,581,582],{"class":388}," {\n",[378,584,585,588,591,594,597,601,604,606,609,612,615],{"class":380,"line":485},[378,586,587],{"class":384},"    await",[378,589,590],{"class":384}," new",[378,592,593],{"class":440}," Promise",[378,595,596],{"class":388},"((",[378,598,600],{"class":599},"sQHwn","resolve",[378,602,603],{"class":388},") ",[378,605,579],{"class":384},[378,607,608],{"class":418}," setTimeout",[378,610,611],{"class":388},"(resolve, ",[378,613,614],{"class":440},"500",[378,616,617],{"class":388},"));\n",[378,619,620,623,626],{"class":380,"line":491},[378,621,622],{"class":384},"    return",[378,624,625],{"class":418}," html",[378,627,628],{"class":395},"`\n",[378,630,631,634,637,640,643,646,649],{"class":380,"line":499},[378,632,633],{"class":395},"      Response generated at ${",[378,635,636],{"class":384},"new",[378,638,639],{"class":418}," Date",[378,641,642],{"class":395},"().",[378,644,645],{"class":418},"toISOString",[378,647,648],{"class":395},"()",[378,650,651],{"class":395},"} (took 500ms)\n",[378,653,654],{"class":380,"line":510},[378,655,656],{"class":395},"      \u003Cbr />(\u003Ca href=\"?skipCache=true\">skip cache\u003C/a>)\n",[378,658,659,662],{"class":380,"line":516},[378,660,661],{"class":395},"    `",[378,663,399],{"class":388},[378,665,667],{"class":380,"line":666},11,[378,668,488],{"class":388},[378,670,672,675,678,681,684,687,689,692,695,698,701],{"class":380,"line":671},12,[378,673,674],{"class":388},"  { ",[378,676,677],{"class":418},"shouldBypassCache",[378,679,680],{"class":388},": ({ ",[378,682,683],{"class":599},"req",[378,685,686],{"class":388}," }) ",[378,688,579],{"class":384},[378,690,691],{"class":388}," req.url.",[378,693,694],{"class":418},"includes",[378,696,697],{"class":388},"(",[378,699,700],{"class":395},"\"skipCache=true\"",[378,702,703],{"class":388},") }\n",[378,705,707],{"class":380,"line":706},13,[378,708,709],{"class":388},");\n",[368,711,714],{"className":425,"code":712,"filename":713,"language":428,"meta":5,"style":5},"{\n  \"extends\": \"nitro/tsconfig\"\n}\n","tsconfig.json",[375,715,716,720,730],{"__ignoreMap":5},[378,717,718],{"class":380,"line":381},[378,719,435],{"class":388},[378,721,722,725,727],{"class":380,"line":402},[378,723,724],{"class":440},"  \"extends\"",[378,726,444],{"class":388},[378,728,729],{"class":395},"\"nitro/tsconfig\"\n",[378,731,732],{"class":380,"line":409},[378,733,519],{"class":388},[368,735,738],{"className":370,"code":736,"filename":737,"language":373,"meta":5,"style":5},"import { defineConfig } from \"vite\";\nimport { nitro } from \"nitro/vite\";\n\nexport default defineConfig({ plugins: [nitro()] });\n","vite.config.ts",[375,739,740,753,767,771],{"__ignoreMap":5},[378,741,742,744,746,748,751],{"class":380,"line":381},[378,743,385],{"class":384},[378,745,389],{"class":388},[378,747,392],{"class":384},[378,749,750],{"class":395}," \"vite\"",[378,752,399],{"class":388},[378,754,755,757,760,762,765],{"class":380,"line":402},[378,756,385],{"class":384},[378,758,759],{"class":388}," { nitro } ",[378,761,392],{"class":384},[378,763,764],{"class":395}," \"nitro/vite\"",[378,766,399],{"class":388},[378,768,769],{"class":380,"line":409},[378,770,406],{"emptyLinePlaceholder":405},[378,772,773,775,777,779,782,785],{"class":380,"line":461},[378,774,412],{"class":384},[378,776,415],{"class":384},[378,778,419],{"class":418},[378,780,781],{"class":388},"({ plugins: [",[378,783,784],{"class":418},"nitro",[378,786,787],{"class":388},"()] });\n",[789,790,791],"p",{},"This example shows how to cache an expensive operation (a 500 ms delay) and conditionally bypass the cache using a query parameter. On first request, the handler executes and caches the result. Subsequent requests return the cached response instantly until the cache expires or is bypassed.",[793,794,796],"h2",{"id":795},"how-it-works","How It Works",[368,798,799],{"className":370,"code":522,"filename":366,"language":373,"meta":5,"style":5},[375,800,801,813,825,829,839,849,873,881,897,901,907,911,935],{"__ignoreMap":5},[378,802,803,805,807,809,811],{"class":380,"line":381},[378,804,385],{"class":384},[378,806,531],{"class":388},[378,808,392],{"class":384},[378,810,536],{"class":395},[378,812,399],{"class":388},[378,814,815,817,819,821,823],{"class":380,"line":402},[378,816,385],{"class":384},[378,818,545],{"class":388},[378,820,392],{"class":384},[378,822,550],{"class":395},[378,824,399],{"class":388},[378,826,827],{"class":380,"line":409},[378,828,406],{"emptyLinePlaceholder":405},[378,830,831,833,835,837],{"class":380,"line":461},[378,832,412],{"class":384},[378,834,415],{"class":384},[378,836,565],{"class":418},[378,838,568],{"class":388},[378,840,841,843,845,847],{"class":380,"line":474},[378,842,573],{"class":384},[378,844,576],{"class":388},[378,846,579],{"class":384},[378,848,582],{"class":388},[378,850,851,853,855,857,859,861,863,865,867,869,871],{"class":380,"line":485},[378,852,587],{"class":384},[378,854,590],{"class":384},[378,856,593],{"class":440},[378,858,596],{"class":388},[378,860,600],{"class":599},[378,862,603],{"class":388},[378,864,579],{"class":384},[378,866,608],{"class":418},[378,868,611],{"class":388},[378,870,614],{"class":440},[378,872,617],{"class":388},[378,874,875,877,879],{"class":380,"line":491},[378,876,622],{"class":384},[378,878,625],{"class":418},[378,880,628],{"class":395},[378,882,883,885,887,889,891,893,895],{"class":380,"line":499},[378,884,633],{"class":395},[378,886,636],{"class":384},[378,888,639],{"class":418},[378,890,642],{"class":395},[378,892,645],{"class":418},[378,894,648],{"class":395},[378,896,651],{"class":395},[378,898,899],{"class":380,"line":510},[378,900,656],{"class":395},[378,902,903,905],{"class":380,"line":516},[378,904,661],{"class":395},[378,906,399],{"class":388},[378,908,909],{"class":380,"line":666},[378,910,488],{"class":388},[378,912,913,915,917,919,921,923,925,927,929,931,933],{"class":380,"line":671},[378,914,674],{"class":388},[378,916,677],{"class":418},[378,918,680],{"class":388},[378,920,683],{"class":599},[378,922,686],{"class":388},[378,924,579],{"class":384},[378,926,691],{"class":388},[378,928,694],{"class":418},[378,930,697],{"class":388},[378,932,700],{"class":395},[378,934,703],{"class":388},[378,936,937],{"class":380,"line":706},[378,938,709],{"class":388},[789,940,941,942,945,946,948,949,952],{},"The handler simulates a slow operation with a 500ms delay. As ",[375,943,944],{},"defineCachedHandler"," wraps it, the response is cached after the first execution. The ",[375,947,677],{}," option checks for ",[375,950,951],{},"?skipCache=true"," in the URL and when present the cache is skipped and the handler runs fresh.",[793,954,956],{"id":955},"learn-more","Learn More",[958,959,960,966],"ul",{},[961,962,963],"li",{},[964,965,63],"a",{"href":64},[961,967,968],{},[964,969,970],{"href":69},"Storage",[972,973,974],"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 .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 .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}",{"title":5,"searchDepth":402,"depth":402,"links":976},[977,978],{"id":795,"depth":402,"text":796},{"id":955,"depth":402,"text":956},"md","i-lucide-clock",{"automd":405},{},{"title":240,"description":241},"examples/cached-handler/README","uJqNBu4Md83U3jkwtPgwixY5q6l8Egb7QQa-5VDRQAw",[987,990],{"title":230,"path":988,"stem":989,"description":231,"children":-1},"/examples/api-routes","examples/api-routes/README",{"title":244,"path":991,"stem":992,"description":245,"children":-1},"/examples/custom-error-handler","examples/custom-error-handler/README",1773176974908]