[{"data":1,"prerenderedAt":1096},["ShallowReactive",2],{"navigation":3,"-guide-plugins":234,"-guide-plugins-surround":1092},[4,81,228],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Getting Started","/guide","1.guide/0.index",[9,11,16,21,26,31,36,41,46,51,56,61,66,71,76],{"title":5,"path":6,"stem":7,"icon":10},"ph:book-open-duotone",{"title":12,"path":13,"stem":14,"icon":15},"Migration Guide","/guide/migration","1.guide/00.migration","ri:arrow-right-up-line",{"title":17,"path":18,"stem":19,"icon":20},"Server Utils","/guide/utils","1.guide/1.utils","ri:tools-line",{"title":22,"path":23,"stem":24,"icon":25},"Tasks","/guide/tasks","1.guide/10.tasks","codicon:run-all",{"title":27,"path":28,"stem":29,"icon":30},"Server Routes","/guide/routing","1.guide/2.routing","ri:direction-line",{"title":32,"path":33,"stem":34,"icon":35},"WebSocket","/guide/websocket","1.guide/3.websocket","cib:socket-io",{"title":37,"path":38,"stem":39,"icon":40},"KV Storage","/guide/storage","1.guide/4.storage","carbon:datastore",{"title":42,"path":43,"stem":44,"icon":45},"SQL Database","/guide/database","1.guide/5.database","ri:database-2-line",{"title":47,"path":48,"stem":49,"icon":50},"Cache","/guide/cache","1.guide/6.cache","ri:speed-line",{"title":52,"path":53,"stem":54,"icon":55},"Fetch","/guide/fetch","1.guide/7.fetch","ri:global-line",{"title":57,"path":58,"stem":59,"icon":60},"Assets","/guide/assets","1.guide/8.assets","ri:image-2-line",{"title":62,"path":63,"stem":64,"icon":65},"Plugins","/guide/plugins","1.guide/9.plugins","ri:plug-line",{"title":67,"path":68,"stem":69,"icon":70},"Configuration","/guide/configuration","1.guide/97.configuration","ri:settings-3-line",{"title":72,"path":73,"stem":74,"icon":75},"TypeScript","/guide/typescript","1.guide/98.typescript","tabler:brand-typescript",{"title":77,"path":78,"stem":79,"icon":80},"Nightly Channel","/guide/nightly","1.guide/99.nightly","ri:moon-fill",{"title":82,"path":83,"stem":84,"children":85,"icon":87},"Overview","/deploy","2.deploy/0.index",[86,88,92,122,127],{"title":82,"path":83,"stem":84,"icon":87},"ri:upload-cloud-2-line",{"title":89,"path":90,"stem":91,"icon":55},"Edge Workers","/deploy/workers","2.deploy/1.workers",{"title":93,"path":94,"stem":95,"children":96,"page":121},"Runtimes","/deploy/runtimes","2.deploy/10.runtimes",[97,102,106,111,116],{"title":98,"path":99,"stem":100,"icon":101},"Node.js","/deploy/runtimes/node","2.deploy/10.runtimes/1.node","akar-icons:node-fill",{"title":103,"path":104,"stem":105,"icon":25},"Dir","/deploy/runtimes/_dir","2.deploy/10.runtimes/_dir",{"title":107,"path":108,"stem":109,"icon":110},"WinterJS","/deploy/runtimes/_winterjs","2.deploy/10.runtimes/_winterjs","game-icons:cold-heart",{"title":112,"path":113,"stem":114,"icon":115},"Bun","/deploy/runtimes/bun","2.deploy/10.runtimes/bun","simple-icons:bun",{"title":117,"path":118,"stem":119,"icon":120},"Deno","/deploy/runtimes/deno","2.deploy/10.runtimes/deno","simple-icons:deno",false,{"title":123,"path":124,"stem":125,"icon":126},"Custom Preset","/deploy/custom-presets","2.deploy/2.custom-presets","ri:file-code-line",{"title":128,"path":129,"stem":130,"children":131,"page":121},"Providers","/deploy/providers","2.deploy/20.providers",[132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224],{"title":103,"path":133,"stem":134,"icon":135},"/deploy/providers/_dir","2.deploy/20.providers/_dir","tdesign:cloud",{"title":137,"path":138,"stem":139},"Alwaysdata","/deploy/providers/alwaysdata","2.deploy/20.providers/alwaysdata",{"title":141,"path":142,"stem":143},"AWS Lambda","/deploy/providers/aws","2.deploy/20.providers/aws",{"title":145,"path":146,"stem":147},"AWS Amplify","/deploy/providers/aws-amplify","2.deploy/20.providers/aws-amplify",{"title":149,"path":150,"stem":151},"Azure","/deploy/providers/azure","2.deploy/20.providers/azure",{"title":153,"path":154,"stem":155},"Cleavr","/deploy/providers/cleavr","2.deploy/20.providers/cleavr",{"title":157,"path":158,"stem":159},"Cloudflare","/deploy/providers/cloudflare","2.deploy/20.providers/cloudflare",{"title":161,"path":162,"stem":163},"Deno Deploy","/deploy/providers/deno-deploy","2.deploy/20.providers/deno-deploy",{"title":165,"path":166,"stem":167},"DigitalOcean","/deploy/providers/digitalocean","2.deploy/20.providers/digitalocean",{"title":169,"path":170,"stem":171},"Firebase","/deploy/providers/firebase","2.deploy/20.providers/firebase",{"title":173,"path":174,"stem":175},"Flightcontrol","/deploy/providers/flightcontrol","2.deploy/20.providers/flightcontrol",{"title":177,"path":178,"stem":179},"Genezio","/deploy/providers/genezio","2.deploy/20.providers/genezio",{"title":181,"path":182,"stem":183},"GitHub Pages","/deploy/providers/github-pages","2.deploy/20.providers/github-pages",{"title":185,"path":186,"stem":187},"GitLab Pages","/deploy/providers/gitlab-pages","2.deploy/20.providers/gitlab-pages",{"title":189,"path":190,"stem":191},"Heroku","/deploy/providers/heroku","2.deploy/20.providers/heroku",{"title":193,"path":194,"stem":195},"IIS","/deploy/providers/iis","2.deploy/20.providers/iis",{"title":197,"path":198,"stem":199},"Koyeb","/deploy/providers/koyeb","2.deploy/20.providers/koyeb",{"title":201,"path":202,"stem":203},"Netlify","/deploy/providers/netlify","2.deploy/20.providers/netlify",{"title":205,"path":206,"stem":207},"Platform.sh","/deploy/providers/platform-sh","2.deploy/20.providers/platform-sh",{"title":209,"path":210,"stem":211},"Render.com","/deploy/providers/render","2.deploy/20.providers/render",{"title":213,"path":214,"stem":215},"StormKit","/deploy/providers/stormkit","2.deploy/20.providers/stormkit",{"title":217,"path":218,"stem":219},"Vercel","/deploy/providers/vercel","2.deploy/20.providers/vercel",{"title":221,"path":222,"stem":223},"Zeabur","/deploy/providers/zeabur","2.deploy/20.providers/zeabur",{"title":225,"path":226,"stem":227},"Zerops","/deploy/providers/zerops","2.deploy/20.providers/zerops",{"title":229,"path":230,"stem":231,"children":232,"icon":70},"Config","/config","3.config/0.index",[233],{"title":229,"path":230,"stem":231,"icon":70},{"id":235,"title":62,"body":236,"description":1086,"extension":1087,"meta":1088,"navigation":1089,"path":63,"seo":1090,"stem":64,"__hash__":1091},"content/1.guide/9.plugins.md",{"type":237,"value":238,"toc":1075,"icon":65},"minimark",[239,253,260,265,332,339,417,422,433,437,502,507,516,550,554,558,561,652,656,659,780,784,787,958,962,973,995,1071],[240,241,242,243,247,248,252],"p",{},"Nitro plugins will be ",[244,245,246],"strong",{},"executed once"," during server startup in order to allow extending Nitro's runtime behavior.\nThey receive ",[249,250,251],"code",{},"nitroApp"," context, which can be used to hook into Nitro lifecycle events.",[240,254,255,256,259],{},"Plugins are auto-registered from ",[249,257,258],{},"plugins/"," directory and run synchronously (by order of file name) on the first Nitro initialization.",[240,261,262],{},[244,263,264],{},"Example:",[266,267,273],"pre",{"className":268,"code":269,"filename":270,"language":271,"meta":272,"style":272},"language-ts shiki shiki-themes github-light github-dark github-dark","export default defineNitroPlugin((nitroApp) => {\n  console.log('Nitro plugin', nitroApp)\n})\n","server/plugins/test.ts","ts","",[249,274,275,307,326],{"__ignoreMap":272},[276,277,280,284,287,291,295,298,301,304],"span",{"class":278,"line":279},"line",1,[276,281,283],{"class":282},"so5gQ","export",[276,285,286],{"class":282}," default",[276,288,290],{"class":289},"shcOC"," defineNitroPlugin",[276,292,294],{"class":293},"slsVL","((",[276,296,251],{"class":297},"sQHwn",[276,299,300],{"class":293},") ",[276,302,303],{"class":282},"=>",[276,305,306],{"class":293}," {\n",[276,308,310,313,316,319,323],{"class":278,"line":309},2,[276,311,312],{"class":293},"  console.",[276,314,315],{"class":289},"log",[276,317,318],{"class":293},"(",[276,320,322],{"class":321},"sfrk1","'Nitro plugin'",[276,324,325],{"class":293},", nitroApp)\n",[276,327,329],{"class":278,"line":328},3,[276,330,331],{"class":293},"})\n",[240,333,334,335,338],{},"If you have plugins in another directory, you can use the ",[249,336,337],{},"plugins"," option:",[340,341,342,375],"code-group",{},[266,343,346],{"className":268,"code":344,"filename":345,"language":271,"meta":272,"style":272},"export default defineNitroConfig({\n  plugins: ['my-plugins/hello.ts']\n})\n","nitro.config.ts",[249,347,348,360,371],{"__ignoreMap":272},[276,349,350,352,354,357],{"class":278,"line":279},[276,351,283],{"class":282},[276,353,286],{"class":282},[276,355,356],{"class":289}," defineNitroConfig",[276,358,359],{"class":293},"({\n",[276,361,362,365,368],{"class":278,"line":309},[276,363,364],{"class":293},"  plugins: [",[276,366,367],{"class":321},"'my-plugins/hello.ts'",[276,369,370],{"class":293},"]\n",[276,372,373],{"class":278,"line":328},[276,374,331],{"class":293},[266,376,379],{"className":268,"code":377,"filename":378,"language":271,"meta":272,"style":272},"export default defineNuxtConfig({\n  nitro: {\n    plugins: ['my-plugins/hello.ts']\n  }\n})\n","nuxt.config.ts",[249,380,381,392,397,406,412],{"__ignoreMap":272},[276,382,383,385,387,390],{"class":278,"line":279},[276,384,283],{"class":282},[276,386,286],{"class":282},[276,388,389],{"class":289}," defineNuxtConfig",[276,391,359],{"class":293},[276,393,394],{"class":278,"line":309},[276,395,396],{"class":293},"  nitro: {\n",[276,398,399,402,404],{"class":278,"line":328},[276,400,401],{"class":293},"    plugins: [",[276,403,367],{"class":321},[276,405,370],{"class":293},[276,407,409],{"class":278,"line":408},4,[276,410,411],{"class":293},"  }\n",[276,413,415],{"class":278,"line":414},5,[276,416,331],{"class":293},[418,419,421],"h2",{"id":420},"nitro-runtime-hooks","Nitro runtime hooks",[240,423,424,425,432],{},"You can use Nitro ",[426,427,431],"a",{"href":428,"rel":429},"https://github.com/unjs/hookable",[430],"nofollow","hooks"," to extend the default runtime behaviour of Nitro by registering custom (async or sync) functions to the lifecycle events within plugins.",[240,434,435],{},[244,436,264],{},[266,438,440],{"className":268,"code":439,"language":271,"meta":272,"style":272},"export default defineNitroPlugin((nitro) => {\n  nitro.hooks.hook(\"close\", async () => {\n    // Will run when nitro is being closed\n  });\n})\n",[249,441,442,461,487,493,498],{"__ignoreMap":272},[276,443,444,446,448,450,452,455,457,459],{"class":278,"line":279},[276,445,283],{"class":282},[276,447,286],{"class":282},[276,449,290],{"class":289},[276,451,294],{"class":293},[276,453,454],{"class":297},"nitro",[276,456,300],{"class":293},[276,458,303],{"class":282},[276,460,306],{"class":293},[276,462,463,466,469,471,474,477,480,483,485],{"class":278,"line":309},[276,464,465],{"class":293},"  nitro.hooks.",[276,467,468],{"class":289},"hook",[276,470,318],{"class":293},[276,472,473],{"class":321},"\"close\"",[276,475,476],{"class":293},", ",[276,478,479],{"class":282},"async",[276,481,482],{"class":293}," () ",[276,484,303],{"class":282},[276,486,306],{"class":293},[276,488,489],{"class":278,"line":328},[276,490,492],{"class":491},"sCsY4","    // Will run when nitro is being closed\n",[276,494,495],{"class":278,"line":408},[276,496,497],{"class":293},"  });\n",[276,499,500],{"class":278,"line":414},[276,501,331],{"class":293},[503,504,506],"h3",{"id":505},"available-hooks","Available hooks",[240,508,509,510,515],{},"See the ",[426,511,514],{"href":512,"rel":513},"https://github.com/nitrojs/nitro/blob/v2/src/core/index.ts#L75",[430],"source code"," for list of all available runtime hooks.",[517,518,519,525,530,535,540,545],"ul",{},[520,521,522],"li",{},[249,523,524],{},"\"close\", () => {}",[520,526,527],{},[249,528,529],{},"\"error\", (error, { event? }) => {}",[520,531,532],{},[249,533,534],{},"\"render:response\", (response, { event }) => {}",[520,536,537],{},[249,538,539],{},"\"request\", (event) => {}",[520,541,542],{},[249,543,544],{},"\"beforeResponse\", (event, { body }) => {}",[520,546,547],{},[249,548,549],{},"\"afterResponse\", (event, { body }) => {}",[418,551,553],{"id":552},"examples","Examples",[503,555,557],{"id":556},"capturing-errors","Capturing errors",[240,559,560],{},"You can use plugins to capture all application errors.",[266,562,564],{"className":268,"code":563,"language":271,"meta":272,"style":272},"export default defineNitroPlugin((nitro) => {\n  nitro.hooks.hook(\"error\", async (error, { event }) => {\n    console.error(`${event.path} Application error:`, error)\n  });\n})\n",[249,565,566,584,618,644,648],{"__ignoreMap":272},[276,567,568,570,572,574,576,578,580,582],{"class":278,"line":279},[276,569,283],{"class":282},[276,571,286],{"class":282},[276,573,290],{"class":289},[276,575,294],{"class":293},[276,577,454],{"class":297},[276,579,300],{"class":293},[276,581,303],{"class":282},[276,583,306],{"class":293},[276,585,586,588,590,592,595,597,599,602,605,608,611,614,616],{"class":278,"line":309},[276,587,465],{"class":293},[276,589,468],{"class":289},[276,591,318],{"class":293},[276,593,594],{"class":321},"\"error\"",[276,596,476],{"class":293},[276,598,479],{"class":282},[276,600,601],{"class":293}," (",[276,603,604],{"class":297},"error",[276,606,607],{"class":293},", { ",[276,609,610],{"class":297},"event",[276,612,613],{"class":293}," }) ",[276,615,303],{"class":282},[276,617,306],{"class":293},[276,619,620,623,625,627,630,632,635,638,641],{"class":278,"line":328},[276,621,622],{"class":293},"    console.",[276,624,604],{"class":289},[276,626,318],{"class":293},[276,628,629],{"class":321},"`${",[276,631,610],{"class":293},[276,633,634],{"class":321},".",[276,636,637],{"class":293},"path",[276,639,640],{"class":321},"} Application error:`",[276,642,643],{"class":293},", error)\n",[276,645,646],{"class":278,"line":408},[276,647,497],{"class":293},[276,649,650],{"class":278,"line":414},[276,651,331],{"class":293},[503,653,655],{"id":654},"graceful-shutdown","Graceful shutdown",[240,657,658],{},"You can use plugins to register a hook that resolves when Nitro is closed.",[266,660,662],{"className":268,"code":661,"language":271,"meta":272,"style":272},"export default defineNitroPlugin((nitro) => {\n  nitro.hooks.hookOnce(\"close\", async () => {\n    // Will run when nitro is closed\n    console.log(\"Closing nitro server...\")\n    await new Promise((resolve) => setTimeout(resolve, 500));\n    console.log(\"Task is done!\");\n  });\n})\n",[249,663,664,682,703,708,722,755,770,775],{"__ignoreMap":272},[276,665,666,668,670,672,674,676,678,680],{"class":278,"line":279},[276,667,283],{"class":282},[276,669,286],{"class":282},[276,671,290],{"class":289},[276,673,294],{"class":293},[276,675,454],{"class":297},[276,677,300],{"class":293},[276,679,303],{"class":282},[276,681,306],{"class":293},[276,683,684,686,689,691,693,695,697,699,701],{"class":278,"line":309},[276,685,465],{"class":293},[276,687,688],{"class":289},"hookOnce",[276,690,318],{"class":293},[276,692,473],{"class":321},[276,694,476],{"class":293},[276,696,479],{"class":282},[276,698,482],{"class":293},[276,700,303],{"class":282},[276,702,306],{"class":293},[276,704,705],{"class":278,"line":328},[276,706,707],{"class":491},"    // Will run when nitro is closed\n",[276,709,710,712,714,716,719],{"class":278,"line":408},[276,711,622],{"class":293},[276,713,315],{"class":289},[276,715,318],{"class":293},[276,717,718],{"class":321},"\"Closing nitro server...\"",[276,720,721],{"class":293},")\n",[276,723,724,727,730,734,736,739,741,743,746,749,752],{"class":278,"line":414},[276,725,726],{"class":282},"    await",[276,728,729],{"class":282}," new",[276,731,733],{"class":732},"suiK_"," Promise",[276,735,294],{"class":293},[276,737,738],{"class":297},"resolve",[276,740,300],{"class":293},[276,742,303],{"class":282},[276,744,745],{"class":289}," setTimeout",[276,747,748],{"class":293},"(resolve, ",[276,750,751],{"class":732},"500",[276,753,754],{"class":293},"));\n",[276,756,758,760,762,764,767],{"class":278,"line":757},6,[276,759,622],{"class":293},[276,761,315],{"class":289},[276,763,318],{"class":293},[276,765,766],{"class":321},"\"Task is done!\"",[276,768,769],{"class":293},");\n",[276,771,773],{"class":278,"line":772},7,[276,774,497],{"class":293},[276,776,778],{"class":278,"line":777},8,[276,779,331],{"class":293},[503,781,783],{"id":782},"request-and-response-lifecycle","Request and response lifecycle",[240,785,786],{},"You can use plugins to register a hook that can run on request lifecycle:",[266,788,790],{"className":268,"code":789,"language":271,"meta":272,"style":272},"export default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook(\"request\", (req) => {\n    console.log(\"on request\", req.url);\n  });\n\n  nitroApp.hooks.hook(\"beforeResponse\", (event, { body }) => {\n    console.log(\"on response\", event.path, { body });\n  });\n\n  nitroApp.hooks.hook(\"afterResponse\", (event, { body }) => {\n    console.log(\"on after response\", event.path, { body });\n  });\n});\n",[249,791,792,810,834,848,852,858,884,898,902,907,933,947,952],{"__ignoreMap":272},[276,793,794,796,798,800,802,804,806,808],{"class":278,"line":279},[276,795,283],{"class":282},[276,797,286],{"class":282},[276,799,290],{"class":289},[276,801,294],{"class":293},[276,803,251],{"class":297},[276,805,300],{"class":293},[276,807,303],{"class":282},[276,809,306],{"class":293},[276,811,812,815,817,819,822,825,828,830,832],{"class":278,"line":309},[276,813,814],{"class":293},"  nitroApp.hooks.",[276,816,468],{"class":289},[276,818,318],{"class":293},[276,820,821],{"class":321},"\"request\"",[276,823,824],{"class":293},", (",[276,826,827],{"class":297},"req",[276,829,300],{"class":293},[276,831,303],{"class":282},[276,833,306],{"class":293},[276,835,836,838,840,842,845],{"class":278,"line":328},[276,837,622],{"class":293},[276,839,315],{"class":289},[276,841,318],{"class":293},[276,843,844],{"class":321},"\"on request\"",[276,846,847],{"class":293},", req.url);\n",[276,849,850],{"class":278,"line":408},[276,851,497],{"class":293},[276,853,854],{"class":278,"line":414},[276,855,857],{"emptyLinePlaceholder":856},true,"\n",[276,859,860,862,864,866,869,871,873,875,878,880,882],{"class":278,"line":757},[276,861,814],{"class":293},[276,863,468],{"class":289},[276,865,318],{"class":293},[276,867,868],{"class":321},"\"beforeResponse\"",[276,870,824],{"class":293},[276,872,610],{"class":297},[276,874,607],{"class":293},[276,876,877],{"class":297},"body",[276,879,613],{"class":293},[276,881,303],{"class":282},[276,883,306],{"class":293},[276,885,886,888,890,892,895],{"class":278,"line":772},[276,887,622],{"class":293},[276,889,315],{"class":289},[276,891,318],{"class":293},[276,893,894],{"class":321},"\"on response\"",[276,896,897],{"class":293},", event.path, { body });\n",[276,899,900],{"class":278,"line":777},[276,901,497],{"class":293},[276,903,905],{"class":278,"line":904},9,[276,906,857],{"emptyLinePlaceholder":856},[276,908,910,912,914,916,919,921,923,925,927,929,931],{"class":278,"line":909},10,[276,911,814],{"class":293},[276,913,468],{"class":289},[276,915,318],{"class":293},[276,917,918],{"class":321},"\"afterResponse\"",[276,920,824],{"class":293},[276,922,610],{"class":297},[276,924,607],{"class":293},[276,926,877],{"class":297},[276,928,613],{"class":293},[276,930,303],{"class":282},[276,932,306],{"class":293},[276,934,936,938,940,942,945],{"class":278,"line":935},11,[276,937,622],{"class":293},[276,939,315],{"class":289},[276,941,318],{"class":293},[276,943,944],{"class":321},"\"on after response\"",[276,946,897],{"class":293},[276,948,950],{"class":278,"line":949},12,[276,951,497],{"class":293},[276,953,955],{"class":278,"line":954},13,[276,956,957],{"class":293},"});\n",[503,959,961],{"id":960},"renderer-response","Renderer response",[240,963,964,965,972],{},"You can use plugins to register a hook that modifies the ",[426,966,969],{"href":967,"rel":968},"https://nitro.build/config#renderer",[430],[249,970,971],{},"renderer"," response.",[974,975,976],"note",{},[240,977,978,979,982,983,988,989,994],{},"This ",[244,980,981],{},"only works"," for render handler defined with ",[426,984,986],{"href":967,"rel":985},[430],[249,987,971],{}," and won't be called for other api/server routes.\nIn ",[426,990,993],{"href":991,"rel":992},"https://nuxt.com/",[430],"Nuxt"," this hook will be called for Server-side rendered pages",[266,996,998],{"className":268,"code":997,"language":271,"meta":272,"style":272},"export default defineNitroPlugin((nitro) => {\n\n  nitro.hooks.hook('render:response', (response, { event }) => {\n    // Inspect or Modify the renderer response here\n    console.log(response)\n  })\n})\n",[249,999,1000,1018,1022,1048,1053,1062,1067],{"__ignoreMap":272},[276,1001,1002,1004,1006,1008,1010,1012,1014,1016],{"class":278,"line":279},[276,1003,283],{"class":282},[276,1005,286],{"class":282},[276,1007,290],{"class":289},[276,1009,294],{"class":293},[276,1011,454],{"class":297},[276,1013,300],{"class":293},[276,1015,303],{"class":282},[276,1017,306],{"class":293},[276,1019,1020],{"class":278,"line":309},[276,1021,857],{"emptyLinePlaceholder":856},[276,1023,1024,1026,1028,1030,1033,1035,1038,1040,1042,1044,1046],{"class":278,"line":328},[276,1025,465],{"class":293},[276,1027,468],{"class":289},[276,1029,318],{"class":293},[276,1031,1032],{"class":321},"'render:response'",[276,1034,824],{"class":293},[276,1036,1037],{"class":297},"response",[276,1039,607],{"class":293},[276,1041,610],{"class":297},[276,1043,613],{"class":293},[276,1045,303],{"class":282},[276,1047,306],{"class":293},[276,1049,1050],{"class":278,"line":408},[276,1051,1052],{"class":491},"    // Inspect or Modify the renderer response here\n",[276,1054,1055,1057,1059],{"class":278,"line":414},[276,1056,622],{"class":293},[276,1058,315],{"class":289},[276,1060,1061],{"class":293},"(response)\n",[276,1063,1064],{"class":278,"line":757},[276,1065,1066],{"class":293},"  })\n",[276,1068,1069],{"class":278,"line":772},[276,1070,331],{"class":293},[1072,1073,1074],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}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}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}",{"title":272,"searchDepth":309,"depth":309,"links":1076},[1077,1080],{"id":420,"depth":309,"text":421,"children":1078},[1079],{"id":505,"depth":328,"text":506},{"id":552,"depth":309,"text":553,"children":1081},[1082,1083,1084,1085],{"id":556,"depth":328,"text":557},{"id":654,"depth":328,"text":655},{"id":782,"depth":328,"text":783},{"id":960,"depth":328,"text":961},"Use plugins to extend Nitro's runtime behavior.","md",{"icon":65},{"icon":65},{"title":62,"description":1086},"YcDJ5mXx8swbSsDjihbOREpQt561lFyw9r_ddx4cVPE",[1093,1094],{"title":57,"path":58,"stem":59,"description":272,"icon":60,"children":-1},{"title":67,"path":68,"stem":69,"description":1095,"icon":70,"children":-1},"Customize and extend Nitro defaults.",1778145696086]