зеркало из https://github.com/github/docs.git
22 строки
767 B
JavaScript
22 строки
767 B
JavaScript
import { setFastlySurrogateKey, SURROGATE_ENUMS } from './set-fastly-surrogate-key.js'
|
|
|
|
export default function setStaticAssetCaching(req, res, next) {
|
|
if (isChecksummed(req.path)) {
|
|
setFastlySurrogateKey(res, SURROGATE_ENUMS.MANUAL)
|
|
}
|
|
return next()
|
|
}
|
|
|
|
// True if the URL is known to contain some pattern of a checksum that
|
|
// would make it intelligently different if its content has changed.
|
|
function isChecksummed(path) {
|
|
if (path.startsWith('/assets/cb-')) return true
|
|
if (path.startsWith('/_next/static')) {
|
|
// E.g. /_next/static/chunks/0e226fb0-f47400d931ae7427.js
|
|
if (/[a-f0-9]{16}/.test(path)) return true
|
|
// E.g. /_next/static/NkhGE2zLVuDHVh7pXdtVC/_buildManifest.js
|
|
if (/\/\w{21}\//.test(path)) return true
|
|
}
|
|
return false
|
|
}
|