diff --git a/src/RequestManagers/HttpRequestManager.php b/src/RequestManagers/HttpRequestManager.php index bf258cb..1f7e3ac 100644 --- a/src/RequestManagers/HttpRequestManager.php +++ b/src/RequestManagers/HttpRequestManager.php @@ -73,7 +73,9 @@ class HttpRequestManager extends RequestManager implements IRequestManager 'headers' => [ 'content-type' => 'application/json' ], - 'body' => $payload + 'body' => $payload, + 'timeout' => $this->timeout, + 'connect_timeout' => $this->timeout ]); $json = json_decode($res->getBody()); diff --git a/src/RequestManagers/RequestManager.php b/src/RequestManagers/RequestManager.php index 51d17bf..18188c2 100644 --- a/src/RequestManagers/RequestManager.php +++ b/src/RequestManagers/RequestManager.php @@ -19,17 +19,25 @@ class RequestManager * @var string */ protected $host; + + /** + * timeout + * + * @var float + */ + protected $timeout; /** * construct * * @param string $host + * @param float $timeout * @return void */ - public function __construct($host) + public function __construct($host, $timeout=1) { $this->host = $host; - + $this->timeout = (float) $timeout; } /** @@ -74,4 +82,14 @@ class RequestManager { return $this->host; } + + /** + * getTimeout + * + * @return float + */ + public function getTimeout() + { + return $this->timeout; + } } \ No newline at end of file diff --git a/test/unit/RequestManagerTest.php b/test/unit/RequestManagerTest.php index 9decf05..3498ef0 100644 --- a/test/unit/RequestManagerTest.php +++ b/test/unit/RequestManagerTest.php @@ -14,12 +14,13 @@ class RequestManagerTest extends TestCase */ public function testSetHost() { - $requestManager = new RequestManager('http://localhost:8545'); - + $requestManager = new RequestManager('http://localhost:8545', 0.1); $this->assertEquals($requestManager->host, 'http://localhost:8545'); + $this->assertEquals($requestManager->timeout, 0.1); $requestManager->host = $this->testRinkebyHost; - + $requestManager->timeout = 1; $this->assertEquals($requestManager->host, 'http://localhost:8545'); + $this->assertEquals($requestManager->timeout, 0.1); } } \ No newline at end of file