@@ -20,40 +20,40 @@ const express = require('express');
2020const puppeteer = require ( 'puppeteer' ) ;
2121const app = express ( ) ;
2222
23- let browser ;
24-
25- app . use ( async ( req , res ) => {
26- const { url } = req . query ;
27-
28- if ( ! url ) {
29- return res . send (
30- 'Please provide URL as GET parameter, for example: <a href="/?url=https://example.com">?url=https://example.com</a>'
31- ) ;
32- }
33-
34- if ( ! browser ) {
35- // [START gae_std_headless_chrome_full_sample_browser]
36- browser = await puppeteer . launch ( {
37- args : [ '--no-sandbox' ] ,
38- } ) ;
39- // [END gae_std_headless_chrome_full_sample_browser]
40- }
41-
42- const page = await browser . newPage ( ) ;
43- await page . goto ( url ) ;
44- const imageBuffer = await page . screenshot ( ) ;
45-
46- res . set ( 'Content-Type' , 'image/png' ) ;
47- res . send ( imageBuffer ) ;
48- } ) ;
49-
50- const server = app . listen ( process . env . PORT || 8080 , err => {
51- if ( err ) {
52- return console . error ( err ) ;
53- }
54- const { port } = server . address ( ) ;
55- console . info ( `App listening on port ${ port } ` ) ;
56- } ) ;
57- // [END gae_std_headless_chrome_full_sample]
23+ async function main ( ) {
24+ // [START gae_std_headless_chrome_full_sample_browser]
25+ const browser = await puppeteer . launch ( {
26+ args : [ '--no-sandbox' ] ,
27+ } ) ;
28+ // [END gae_std_headless_chrome_full_sample_browser]
29+
30+ app . use ( async ( req , res ) => {
31+ const { url } = req . query ;
32+
33+ if ( ! url ) {
34+ return res . send (
35+ 'Please provide URL as GET parameter, for example: <a href="/?url=https://example.com">?url=https://example.com</a>'
36+ ) ;
37+ }
38+
39+ const page = await browser . newPage ( ) ;
40+ await page . goto ( url ) ;
41+ const imageBuffer = await page . screenshot ( ) ;
42+
43+ res . set ( 'Content-Type' , 'image/png' ) ;
44+ res . send ( imageBuffer ) ;
45+ } ) ;
46+
47+ const server = app . listen ( process . env . PORT || 8080 , err => {
48+ if ( err ) {
49+ return console . error ( err ) ;
50+ }
51+ const { port } = server . address ( ) ;
52+ console . info ( `App listening on port ${ port } ` ) ;
53+ } ) ;
54+ // [END gae_std_headless_chrome_full_sample]
55+ }
56+
57+ main ( ) ;
5858
5959module . exports = app ;
0 commit comments