mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-04-26 18:48:28 -04:00
update function cache headers
This commit is contained in:
parent
55d9207753
commit
aa40d3384c
@ -19,12 +19,8 @@ const AIRTABLE_API_ENDPOINT = "https://api.airtable.com/v0/";
|
||||
|
||||
const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
try {
|
||||
// permissive access control headers
|
||||
res.setHeader("Access-Control-Allow-Methods", "POST");
|
||||
res.setHeader("Access-Control-Allow-Origin", "*");
|
||||
// disable caching on both ends
|
||||
res.setHeader("Cache-Control", "private, no-cache, no-store, must-revalidate");
|
||||
res.setHeader("Expires", 0);
|
||||
res.setHeader("Pragma", "no-cache");
|
||||
|
||||
if (req.method !== "POST") {
|
||||
|
@ -14,10 +14,6 @@ Sentry.init({
|
||||
|
||||
const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
try {
|
||||
// permissive access control headers
|
||||
res.setHeader("Access-Control-Allow-Methods", "GET");
|
||||
res.setHeader("Access-Control-Allow-Origin", "*");
|
||||
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).send(""); // 405 Method Not Allowed
|
||||
}
|
||||
@ -33,8 +29,8 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
// return overall site stats if slug not specified
|
||||
result = await getSiteStats(client);
|
||||
|
||||
// let Vercel edge and browser cache results for 15 mins
|
||||
res.setHeader("Cache-Control", "public, max-age=900, s-maxage=900, stale-while-revalidate");
|
||||
// let Vercel edge cache results for 15 mins
|
||||
res.setHeader("Cache-Control", "s-maxage=900, stale-while-revalidate");
|
||||
} else {
|
||||
// increment this page's hits. retry 3 times in case of Fauna "contended transaction" error:
|
||||
// https://sentry.io/share/issue/9c60a58211954ed7a8dfbe289bd107b5/
|
||||
@ -47,7 +43,6 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
|
||||
// disable caching on both ends
|
||||
res.setHeader("Cache-Control", "private, no-cache, no-store, must-revalidate");
|
||||
res.setHeader("Expires", 0);
|
||||
res.setHeader("Pragma", "no-cache");
|
||||
}
|
||||
|
||||
|
@ -9,10 +9,6 @@ Sentry.init({
|
||||
|
||||
const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
try {
|
||||
// permissive access control headers
|
||||
res.setHeader("Access-Control-Allow-Methods", "GET");
|
||||
res.setHeader("Access-Control-Allow-Origin", "*");
|
||||
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).send(""); // 405 Method Not Allowed
|
||||
}
|
||||
@ -25,8 +21,8 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
|
||||
const result = await fetchRepos(req.query.sort === "top" ? "STARGAZERS" : "PUSHED_AT", limit);
|
||||
|
||||
// let Vercel edge and browser cache results for 15 mins
|
||||
res.setHeader("Cache-Control", "public, max-age=900, s-maxage=900, stale-while-revalidate");
|
||||
// let Vercel edge cache results for 15 mins
|
||||
res.setHeader("Cache-Control", "s-maxage=900, stale-while-revalidate");
|
||||
|
||||
return res.status(200).json(result);
|
||||
} catch (error) {
|
||||
|
@ -26,10 +26,6 @@ const TOP_TRACKS_ENDPOINT = "https://api.spotify.com/v1/me/top/tracks?time_range
|
||||
|
||||
const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
try {
|
||||
// permissive access control headers
|
||||
res.setHeader("Access-Control-Allow-Methods", "GET");
|
||||
res.setHeader("Access-Control-Allow-Origin", "*");
|
||||
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).send(""); // 405 Method Not Allowed
|
||||
}
|
||||
@ -41,13 +37,13 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
if (typeof req.query.now !== "undefined") {
|
||||
response = await getNowPlaying();
|
||||
|
||||
// let Vercel edge and browser cache results for 5 mins
|
||||
res.setHeader("Cache-Control", "public, max-age=300, s-maxage=300, stale-while-revalidate");
|
||||
// let Vercel edge cache results for 5 mins
|
||||
res.setHeader("Cache-Control", "s-maxage=300, stale-while-revalidate");
|
||||
} else {
|
||||
response = await getTopTracks();
|
||||
|
||||
// let Vercel edge and browser cache results for 3 hours
|
||||
res.setHeader("Cache-Control", "public, max-age=10800, s-maxage=10800, stale-while-revalidate");
|
||||
// let Vercel edge cache results for 3 hours
|
||||
res.setHeader("Cache-Control", "s-maxage=10800, stale-while-revalidate");
|
||||
}
|
||||
|
||||
return res.status(200).json(response);
|
||||
|
@ -7,7 +7,9 @@ export const getServerSideProps: GetServerSideProps = async (context) => {
|
||||
const feed = buildFeed();
|
||||
const { res } = context;
|
||||
|
||||
res.setHeader("content-type", "application/atom+xml");
|
||||
res.setHeader("content-type", "application/atom+xml; charset=utf-8");
|
||||
// cache on edge for one hour
|
||||
res.setHeader("cache-control", "s-maxage=3600, stale-while-revalidate");
|
||||
res.write(feed.atom1());
|
||||
res.end();
|
||||
|
||||
|
@ -7,7 +7,9 @@ export const getServerSideProps: GetServerSideProps = async (context) => {
|
||||
const feed = buildFeed();
|
||||
const { res } = context;
|
||||
|
||||
res.setHeader("content-type", "application/rss+xml");
|
||||
res.setHeader("content-type", "application/rss+xml; charset=utf-8");
|
||||
// cache on edge for one hour
|
||||
res.setHeader("cache-control", "s-maxage=3600, stale-while-revalidate");
|
||||
res.write(feed.rss2());
|
||||
res.end();
|
||||
|
||||
|
@ -21,8 +21,8 @@ export const getServerSideProps: GetServerSideProps = async (context) => {
|
||||
const { res } = context;
|
||||
|
||||
// https://developer.mozilla.org/en-US/docs/Web/Manifest#deploying_a_manifest
|
||||
res.setHeader("content-type", "application/manifest+json");
|
||||
// cache for one day
|
||||
res.setHeader("content-type", "application/manifest+json; charset=utf-8");
|
||||
// cache on edge for one day
|
||||
res.setHeader("cache-control", "s-maxage=86400, stale-while-revalidate");
|
||||
res.write(JSON.stringify(manifest));
|
||||
res.end();
|
||||
|
Loading…
x
Reference in New Issue
Block a user