const CLOUDFLARE_IMAGES_PATH = 'https://imagedelivery.net/0lmOObetrqINsoEQE6c8AQ'
const WATERMARK = {
bottom: 5,
left: 5,
opacity: 0.8,
url: 'https://imagedelivery.net/0lmOObetrqINsoEQE6c8AQ/c544da56-c5cd-47d1-4207-9d3af0451900/origin',
}
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url)
const image = url.searchParams.get("image")
if (!image) return new Response('Missing "image" value', { status: 400 })
if (image.startsWith('http')) return new Response('Provide imageId/variant in "image" value', { status: 400 })
if (!/(origin|thumb|list|x0grid|x1grid|x2grid)$/.test(image)) {
return new Response('Disallowed variant name', { status: 400 })
}
const imageURL = [CLOUDFLARE_IMAGES_PATH, image].join('/')
return fetch(imageURL, {
cf: {
image: {
draw: [WATERMARK],
}
}
})
}
const CLOUDFLARE_IMAGES_PATH = 'https://imagedelivery.net/0lmOObetrqINsoEQE6c8AQ'
const WATERMARK = {
bottom: 5,
left: 5,
opacity: 0.8,
url: 'https://imagedelivery.net/0lmOObetrqINsoEQE6c8AQ/c544da56-c5cd-47d1-4207-9d3af0451900/origin',
}
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url)
const image = url.searchParams.get("image")
if (!image) return new Response('Missing "image" value', { status: 400 })
if (image.startsWith('http')) return new Response('Provide imageId/variant in "image" value', { status: 400 })
if (!/(origin|thumb|list|x0grid|x1grid|x2grid)$/.test(image)) {
return new Response('Disallowed variant name', { status: 400 })
}
const imageURL = [CLOUDFLARE_IMAGES_PATH, image].join('/')
return fetch(imageURL, {
cf: {
image: {
draw: [WATERMARK],
}
}
})
}