Merge pull request #405 from spencerwooo/edge-caching

This commit is contained in:
Spencer Woo 2022-02-10 23:21:54 +08:00 committed by GitHub
commit 601ae3ce8b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 17 additions and 1 deletions

View file

@ -9,7 +9,7 @@ const HomeCrumb = () => {
return (
<Link href="/">
<a>
<a className="flex items-center">
<FontAwesomeIcon className="h-3 w-3" icon={['far', 'flag']} />
<span className="ml-2 font-medium">{t('Home')}</span>
</a>

View file

@ -131,6 +131,10 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
// If method is GET, then the API is a normal request to the OneDrive API for files or folders
const { path = '/', raw = false, next = '' } = req.query
// Set edge function caching for faster load times, check docs:
// https://vercel.com/docs/concepts/functions/edge-caching
res.setHeader('Cache-Control', 'max-age=0, s-maxage=600, stale-while-revalidate')
// Sometimes the path parameter is defaulted to '[...path]' which we need to handle
if (path === '[...path]') {
res.status(400).json({ error: 'No path specified.' })

View file

@ -11,6 +11,10 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
// Get item details (specifically, its path) by its unique ID in OneDrive
const { id = '' } = req.query
// Set edge function caching for faster load times, check docs:
// https://vercel.com/docs/concepts/functions/edge-caching
res.setHeader('Cache-Control', 'max-age=0, s-maxage=600, stale-while-revalidate')
if (typeof id === 'string') {
const itemApi = `${apiConfig.driveApi}/items/${id}`

View file

@ -32,6 +32,10 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
// Query parameter from request
const { q: searchQuery = '' } = req.query
// Set edge function caching for faster load times, check docs:
// https://vercel.com/docs/concepts/functions/edge-caching
res.setHeader('Cache-Control', 'max-age=0, s-maxage=600, stale-while-revalidate')
if (typeof searchQuery === 'string') {
// Construct Microsoft Graph Search API URL, and perform search only under the base directory
const searchRootPath = encodePath('/')

View file

@ -15,6 +15,10 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
// Get item thumbnails by its path since we will later check if it is protected
const { path = '', size = 'medium' } = req.query
// Set edge function caching for faster load times, check docs:
// https://vercel.com/docs/concepts/functions/edge-caching
res.setHeader('Cache-Control', 'max-age=0, s-maxage=600, stale-while-revalidate')
// Check whether the size is valid - must be one of 'large', 'medium', or 'small'
if (size !== 'large' && size !== 'medium' && size !== 'small') {
res.status(400).json({ error: 'Invalid size' })