Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save finoghentov/fd0b4e79c10291e97d012eda129c2e64 to your computer and use it in GitHub Desktop.
Save finoghentov/fd0b4e79c10291e97d012eda129c2e64 to your computer and use it in GitHub Desktop.
<?php
use Spiral\RoadRunner;
use Nyholm\Psr7;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\WebDriverBy;
include "../vendor/autoload.php";
$driver = RemoteWebDriver::create('http://127.0.0.1:4444', DesiredCapabilities::chrome());
$driver->get("link");
$worker = RoadRunner\Worker::create();
$psrFactory = new Psr7\Factory\Psr17Factory();
$psr7 = new RoadRunner\Http\PSR7Worker($worker, $psrFactory, $psrFactory, $psrFactory);
while (true) {
try {
$request = $psr7->waitRequest();
if (!($request instanceof \Psr\Http\Message\ServerRequestInterface)) { // Termination request received
break;
}
} catch (\Throwable $exception) {
$psr7->respond(new Psr7\Response(400)); // Bad Request
continue;
}
try {
$result = run($driver);
// Application code logic
$psr7->respond(new Psr7\Response(200, [
'Content-type' => 'application/json'
], $result));
} catch (\Throwable $exception) {
$psr7->respond(new Psr7\Response(500, [], $exception->getMessage()));
}
}
function run($driver)
{
/// code
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment