|
|
import puppeteer from "https://deno.land/x/puppeteer@16.2.0/mod.ts"; |
|
|
|
|
|
const handler = async (req: Request): Promise<Response> => { |
|
|
|
|
|
const browser = await puppeteer.launch({ |
|
|
headless: true, |
|
|
args: ["--no - sandbox"], |
|
|
}); |
|
|
const page = await browser.newPage(); |
|
|
|
|
|
|
|
|
await page.goto("https://www.example.com"); |
|
|
|
|
|
|
|
|
const screenshot = await page.screenshot({ fullPage: true }); |
|
|
|
|
|
|
|
|
await browser.close(); |
|
|
|
|
|
|
|
|
return new Response(screenshot, { |
|
|
status: 200, |
|
|
headers: { |
|
|
"Content - Type": "image/png", |
|
|
}, |
|
|
}); |
|
|
}; |
|
|
|
|
|
import { serve } from "https://deno.land/std@0.153.0/http/server.ts"; |
|
|
serve(handler, { port: 7860 }); |