fix: update URL format in docker-compose and enhance error handling in http2pic class
This commit is contained in:
@@ -50,8 +50,9 @@ switch ($url[0]) {
|
||||
$capabilities->setCapability('javascriptEnabled', false);
|
||||
|
||||
|
||||
$driver = null;
|
||||
try {
|
||||
$driver = RemoteWebDriver::create($serverUrl, $capabilities);
|
||||
$driver = RemoteWebDriver::create($serverUrl, $capabilities, 30000, 60);
|
||||
$driver->get($target);
|
||||
//hide scroll bars
|
||||
$driver->executeScript('document.body.style.overflow = "hidden";');
|
||||
@@ -68,18 +69,25 @@ switch ($url[0]) {
|
||||
}
|
||||
$viewportLabel = is_array($viewport) ? implode('x', $viewport) : (string) $viewport;
|
||||
addToLog("$ip\tRequested $target with viewport " . $viewportLabel . " and js " . ($js ? 'enabled' : 'disabled'));
|
||||
|
||||
// take screenshot and send to user
|
||||
header('Content-Type: image/png');
|
||||
echo $driver->takeScreenshot();
|
||||
} catch (Exception $e) {
|
||||
// ensure driver is closed to free ChromeDriver memory
|
||||
if ($driver instanceof \Facebook\WebDriver\Remote\RemoteWebDriver) {
|
||||
try { $driver->quit(); } catch (Exception $qe) {}
|
||||
}
|
||||
header('HTTP/1.0 500 Internal Server Error');
|
||||
addToLog("$ip\tRequested $target but resulted in error:\t" . $e->getMessage());
|
||||
echo 'Error: ' . $e->getMessage();
|
||||
exit;
|
||||
} finally {
|
||||
if ($driver instanceof \Facebook\WebDriver\Remote\RemoteWebDriver) {
|
||||
try { $driver->quit(); } catch (Exception $q) {}
|
||||
}
|
||||
}
|
||||
|
||||
// take screenshot and save to file
|
||||
//header for png
|
||||
header('Content-Type: image/png');
|
||||
echo $driver->takeScreenshot();
|
||||
|
||||
break;
|
||||
default:
|
||||
echo renderTemplate('index.html.php');
|
||||
|
||||
Reference in New Issue
Block a user