scnario commited on
Commit
dc95152
·
verified ·
1 Parent(s): cecd49c

Create server.js

Browse files
Files changed (1) hide show
  1. server.js +26 -0
server.js ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const express = require("express");
2
+ const { chromium } = require("playwright");
3
+ const app = express();
4
+
5
+ app.get("/", async (req, res) => {
6
+ const { url, type } = req.query;
7
+
8
+ if (!url) return res.status(400).json({ error: "Missing url query parameter" });
9
+ if (!["mobile", "desktop"].includes(type)) return res.status(400).json({ error: "Invalid type" });
10
+
11
+ const browser = await chromium.launch();
12
+ const context = await browser.newContext({
13
+ viewport: type === "mobile" ? { width: 375, height: 812 } : { width: 1280, height: 720 }
14
+ });
15
+
16
+ const page = await context.newPage();
17
+ await page.goto(url, { waitUntil: "load" });
18
+
19
+ const screenshotBuffer = await page.screenshot();
20
+ await browser.close();
21
+
22
+ res.setHeader("Content-Type", "image/png");
23
+ res.send(screenshotBuffer);
24
+ });
25
+
26
+ app.listen(7860)