dsfdsf
This commit is contained in:
13
index.js
13
index.js
@@ -5,7 +5,7 @@ const express = require("express")
|
|||||||
, browser = require('./src/service/HeadlessService')
|
, browser = require('./src/service/HeadlessService')
|
||||||
, port = 32101
|
, port = 32101
|
||||||
, { NoSuchSessionError } = require("selenium-webdriver/lib/error")
|
, { NoSuchSessionError } = require("selenium-webdriver/lib/error")
|
||||||
// , { puppeteerErrors } = require("puppeteer-core/lib/cjs/puppeteer/common/Errors");
|
// , { puppeteerErrors } = require("puppeteer-core/lib/cjs/puppeteer/common/Errors");
|
||||||
|
|
||||||
|
|
||||||
logger.getContext = function getContext() {
|
logger.getContext = function getContext() {
|
||||||
@@ -63,12 +63,15 @@ process.on('SIGTERM', exitHandler.bind(null, { cleanup: true }));
|
|||||||
* request handler
|
* request handler
|
||||||
*/
|
*/
|
||||||
app.post('/', async (req, res, next) => {
|
app.post('/', async (req, res, next) => {
|
||||||
browser.get(req.body).then(html => res.send(html)).catch(e => {
|
browser.get(req.body).then(html => {
|
||||||
if(e instanceof NoSuchSessionError) {
|
if (html) res.send(html)
|
||||||
|
else throw new Error('Emtpy html')
|
||||||
|
}).catch(e => {
|
||||||
|
if (e instanceof NoSuchSessionError) {
|
||||||
logger.error({ reason: e.message, url: req.url }, 'Browser session expired')
|
logger.error({ reason: e.message, url: req.url }, 'Browser session expired')
|
||||||
}else {
|
} else {
|
||||||
logger.error({ reason: e.message, url: req.url }, 'Browser error occured')
|
logger.error({ reason: e.message, url: req.url }, 'Browser error occured')
|
||||||
}
|
}
|
||||||
res.status(500).send({ code: 500, message: e.message })
|
res.status(500).send({ code: 500, message: e.message })
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -112,6 +112,10 @@ class SeleniumBrowser {
|
|||||||
.then(html => {
|
.then(html => {
|
||||||
this.pool.release(driver)
|
this.pool.release(driver)
|
||||||
return html
|
return html
|
||||||
|
}).catch(err => {
|
||||||
|
logger.error({message: err.message}, 'Wait element failed')
|
||||||
|
this.pool.release(driver)
|
||||||
|
return ''
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.pool.release(driver)
|
this.pool.release(driver)
|
||||||
|
|||||||
Reference in New Issue
Block a user