I’m trying to make a server using HTTP library where a page is loaded using Puppeteer, but it seems to work only once before returning “Hmm… We couldn’t reach your Repl”. I saw this problem with other people, so I’m looking for a solution but seems is a bug instead. Apologies if this is not the correct category.
Source code:
const http = require('http');
const puppeteer = require('puppeteer');
const waitUntil = require('async-wait-until').waitUntil;
var running = false;
const server = http.createServer((request, response) => {
console.log(request.url);
if (request.url == '/start') {
if (running) {
new Promise(resolve => setTimeout(resolve, 1500)).then(() => { response.end(); });
} else {
running = true;
(async() => {
const browser = await puppeteer.launch({ headless: false, args: ['--no-sandbox', '--disable-setuid-sandbox'] });
const page = await browser.newPage();
page.goto('https://replit.com');
await waitUntil(() => !running, { timeout : Infinity });
await browser.close();
})().then(() => { running = false; response.end(); } )
};
} else if (request.url == '/stop') {
running = false;
response.end();
} else {
response.end('404');
};
});
server.listen(5000)