export async function onRequestGet({ request, env }) {
let options = { cf: { image: {} } };
const imageURL = `${env.S3_PUBLIC_HOST}${url.searchParams.get("image")}`;
const size = url.searchParams.get("size");
switch (size) {
case "small": options.cf.image.width = 400; break;
case "medium": options.cf.image.width = 600; break;
default:
return new Response('Disallowed size', { status: 400 });
}
options.cf.image.quality = 80;
options.cf.image.fit = 'scale-down';
options.cf.image.metadata = 'copyright';
const accept = request.headers.get("Accept");
if (/image\/webp/.test(accept)) {
options.cf.image.format = 'webp';
} else {
options.cf.image.format = 'jpg';
}
const imageRequest = new Request(imageURL, {
headers: request.headers,
});
return fetch(imageRequest, options);
}
export async function onRequestGet({ request, env }) {
let options = { cf: { image: {} } };
const imageURL = `${env.S3_PUBLIC_HOST}${url.searchParams.get("image")}`;
const size = url.searchParams.get("size");
switch (size) {
case "small": options.cf.image.width = 400; break;
case "medium": options.cf.image.width = 600; break;
default:
return new Response('Disallowed size', { status: 400 });
}
options.cf.image.quality = 80;
options.cf.image.fit = 'scale-down';
options.cf.image.metadata = 'copyright';
const accept = request.headers.get("Accept");
if (/image\/webp/.test(accept)) {
options.cf.image.format = 'webp';
} else {
options.cf.image.format = 'jpg';
}
const imageRequest = new Request(imageURL, {
headers: request.headers,
});
return fetch(imageRequest, options);
}