Skip to content

Commit e2833e0

Browse files
mrmiagijoelwurtz
authored andcommitted
Fixes #31: Wrong parameters error when TimeoutException is thrown (#32)
* Fixes #31: Wrong parameters error when TimeoutException is thrown
1 parent 26075bf commit e2833e0

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

src/Exception/StreamException.php

+29
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,36 @@
33
namespace Http\Client\Socket\Exception;
44

55
use Http\Client\Exception;
6+
use Psr\Http\Message\RequestInterface;
67

78
class StreamException extends \RuntimeException implements Exception
89
{
10+
/**
11+
* The request object.
12+
*
13+
* @var RequestInterface
14+
*/
15+
private $request;
16+
17+
/**
18+
* Accepts an optional request object as 4th param.
19+
*
20+
* @param string $message
21+
* @param int $code
22+
* @param Exception $previous
23+
* @param RequestInterface $request
24+
*/
25+
public function __construct($message = null, $code = null, $previous = null, RequestInterface $request = null)
26+
{
27+
$this->request = $request;
28+
parent::__construct($message, $code, $previous);
29+
}
30+
31+
/**
32+
* @return \Psr\Http\Message\RequestInterface|null
33+
*/
34+
final public function getRequest()
35+
{
36+
return $this->request;
37+
}
938
}

src/ResponseReader.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ protected function readResponse(RequestInterface $request, $socket)
4848
$metadatas = stream_get_meta_data($socket);
4949

5050
if (array_key_exists('timed_out', $metadatas) && true === $metadatas['timed_out']) {
51-
throw new TimeoutException('Error while reading response, stream timed out', $request);
51+
throw new TimeoutException('Error while reading response, stream timed out', null, null, $request);
5252
}
5353

5454
$parts = explode(' ', array_shift($headers), 3);

0 commit comments

Comments
 (0)