@@ -3,6 +3,21 @@ const _ = require('lodash');
33const config = require ( '../config' ) ;
44const logger = require ( '../util/logger' ) ( __filename ) ;
55
6+
7+ async function createBrowser ( opts ) {
8+ const browserOpts = {
9+ ignoreHTTPSErrors : opts . ignoreHttpsErrors ,
10+ sloMo : config . DEBUG_MODE ? 250 : undefined ,
11+ } ;
12+ if ( config . BROWSER_WS_ENDPOINT ) {
13+ browserOpts . browserWSEndpoint = config . BROWSER_WS_ENDPOINT ;
14+ return puppeteer . connect ( browserOpts ) ;
15+ }
16+ browserOpts . headless = ! config . DEBUG_MODE ;
17+ browserOpts . args = [ '--disable-gpu' , '--no-sandbox' , '--disable-setuid-sandbox' ] ;
18+ return puppeteer . launch ( browserOpts ) ;
19+ }
20+
621async function render ( _opts = { } ) {
722 const opts = _ . merge ( {
823 cookies : [ ] ,
@@ -37,12 +52,7 @@ async function render(_opts = {}) {
3752
3853 logOpts ( opts ) ;
3954
40- const browser = await puppeteer . launch ( {
41- headless : ! config . DEBUG_MODE ,
42- ignoreHTTPSErrors : opts . ignoreHttpsErrors ,
43- args : [ '--disable-gpu' , '--no-sandbox' , '--disable-setuid-sandbox' ] ,
44- sloMo : config . DEBUG_MODE ? 250 : undefined ,
45- } ) ;
55+ const browser = await createBrowser ( opts ) ;
4656 const page = await browser . newPage ( ) ;
4757
4858 page . on ( 'console' , ( ...args ) => logger . info ( 'PAGE LOG:' , ...args ) ) ;
0 commit comments