import puppeteer from '@cloudflare/puppeteer';
interface Env {
MYBROWSER: Fetcher;
}
export default {
async fetch(request, env): Promise<Response> {
const normalizedUrl = new URL('https://stripe.com').toString();
const browser = await puppeteer.launch(env.MYBROWSER, {
});
const page = await browser.newPage();
await page.setViewport({ width: 1920, height: 1080 });
await page.goto(normalizedUrl, { waitUntil: 'networkidle0' });
const img = (await page.screenshot({ fullPage: true })) as Buffer;
await browser.close();
return new Response(img, {
headers: {
'content-type': 'image/jpeg',
},
});
},
} satisfies ExportedHandler<Env>;
import puppeteer from '@cloudflare/puppeteer';
interface Env {
MYBROWSER: Fetcher;
}
export default {
async fetch(request, env): Promise<Response> {
const normalizedUrl = new URL('https://stripe.com').toString();
const browser = await puppeteer.launch(env.MYBROWSER, {
});
const page = await browser.newPage();
await page.setViewport({ width: 1920, height: 1080 });
await page.goto(normalizedUrl, { waitUntil: 'networkidle0' });
const img = (await page.screenshot({ fullPage: true })) as Buffer;
await browser.close();
return new Response(img, {
headers: {
'content-type': 'image/jpeg',
},
});
},
} satisfies ExportedHandler<Env>;