fix(cf-images): switch origin

This commit is contained in:
Ming Di Leom 2024-10-06 11:28:01 +00:00
parent af1a4614eb
commit 78d5348e41
No known key found for this signature in database
GPG Key ID: 32D3E28E96A695E8
1 changed files with 12 additions and 5 deletions

View File

@ -17,6 +17,15 @@ export default {
}) })
} }
if (/image-resizing/.test(request.headers.get("via"))) {
return new Response('Request loop', {
status: 403,
headers: {
'Cache-Control': 'no-cache'
}
})
}
// https://developers.cloudflare.com/images/url-format#supported-formats-and-limitations // https://developers.cloudflare.com/images/url-format#supported-formats-and-limitations
if (!/\.(jpe?g|png|gif|webp)$/i.test(pathname)) { if (!/\.(jpe?g|png|gif|webp)$/i.test(pathname)) {
return new Response('Invalid file extension', { return new Response('Invalid file extension', {
@ -72,9 +81,7 @@ export default {
// Build a request that passes through request headers // Build a request that passes through request headers
// Images are stored on https://gitlab.com/curben/blog/-/tree/site // Images are stored on https://gitlab.com/curben/blog/-/tree/site
// curben.pages.dev returns 502 error const imageURL = new URL(imgPath, 'https://mdleom.com/')
// curben.gitlab.io returns 403 error
const imageURL = new URL(imgPath, 'https://curbengh.github.io/')
const imageRequest = new Request(imageURL, { const imageRequest = new Request(imageURL, {
headers: request.headers headers: request.headers
}) })
@ -90,15 +97,15 @@ export default {
response.headers.set('Vary', 'Accept') response.headers.set('Vary', 'Accept')
return response return response
} else if (response.status === 404) { } else if (response.status === 404) {
const { readable, writable } = new TransformStream()
// Custom 404 page // Custom 404 page
const { readable, writable } = new TransformStream()
const { status, statusText } = response const { status, statusText } = response
const htmlHeader = new Headers({ const htmlHeader = new Headers({
...request.headers, ...request.headers,
Accept: 'text/html' Accept: 'text/html'
}) })
const page404 = new Request('https://curbengh.github.io/404', { const page404 = new Request('https://mdleom.com/404', {
headers: htmlHeader headers: htmlHeader
}) })
const res404 = await fetch(page404) const res404 = await fetch(page404)