feat: add api cdn cache control

This commit is contained in:
shinya
2025-07-26 22:22:19 +08:00
parent 0e3a9a273f
commit ba21a343a5
6 changed files with 27 additions and 9 deletions

View File

@@ -31,7 +31,9 @@ export async function GET(request: Request) {
return NextResponse.json(result, {
headers: {
'Cache-Control': `public, max-age=${cacheTime}`,
'Cache-Control': `public, max-age=${cacheTime}, s-maxage=${cacheTime}`,
'CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
'Vercel-CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
},
});
} catch (error) {

View File

@@ -119,7 +119,9 @@ export async function GET(request: Request) {
const cacheTime = await getCacheTime();
return NextResponse.json(response, {
headers: {
'Cache-Control': `public, max-age=${cacheTime}`,
'Cache-Control': `public, max-age=${cacheTime}, s-maxage=${cacheTime}`,
'CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
'Vercel-CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
},
});
} catch (error) {

View File

@@ -112,7 +112,9 @@ export async function GET(request: Request) {
const cacheTime = await getCacheTime();
return NextResponse.json(response, {
headers: {
'Cache-Control': `public, max-age=${cacheTime}`,
'Cache-Control': `public, max-age=${cacheTime}, s-maxage=${cacheTime}`,
'CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
'Vercel-CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
},
});
} catch (error) {
@@ -185,7 +187,9 @@ function handleTop250(pageStart: number) {
const cacheTime = await getCacheTime();
return NextResponse.json(apiResponse, {
headers: {
'Cache-Control': `public, max-age=${cacheTime}`,
'Cache-Control': `public, max-age=${cacheTime}, s-maxage=${cacheTime}`,
'CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
'Vercel-CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
},
});
})

View File

@@ -17,7 +17,9 @@ export async function GET(request: Request) {
{ result: null, error: '缺少必要参数: q 或 resourceId' },
{
headers: {
'Cache-Control': `public, max-age=${cacheTime}`,
'Cache-Control': `public, max-age=${cacheTime}, s-maxage=${cacheTime}`,
'CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
'Vercel-CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
},
}
);
@@ -55,7 +57,9 @@ export async function GET(request: Request) {
{ results: result },
{
headers: {
'Cache-Control': `public, max-age=${cacheTime}`,
'Cache-Control': `public, max-age=${cacheTime}, s-maxage=${cacheTime}`,
'CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
'Vercel-CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
},
}
);

View File

@@ -12,7 +12,9 @@ export async function GET() {
return NextResponse.json(apiSites, {
headers: {
'Cache-Control': `public, max-age=${cacheTime}`,
'Cache-Control': `public, max-age=${cacheTime}, s-maxage=${cacheTime}`,
'CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
'Vercel-CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
},
});
} catch (error) {

View File

@@ -15,7 +15,9 @@ export async function GET(request: Request) {
{ results: [] },
{
headers: {
'Cache-Control': `public, max-age=${cacheTime}`,
'Cache-Control': `public, max-age=${cacheTime}, s-maxage=${cacheTime}`,
'CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
'Vercel-CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
},
}
);
@@ -33,7 +35,9 @@ export async function GET(request: Request) {
{ results: flattenedResults },
{
headers: {
'Cache-Control': `public, max-age=${cacheTime}`,
'Cache-Control': `public, max-age=${cacheTime}, s-maxage=${cacheTime}`,
'CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
'Vercel-CDN-Cache-Control': `public, s-maxage=${cacheTime}`,
},
}
);