Skip to content

Commit f64d5d3

Browse files
committedNov 27, 2017
Emit socket errors instead of throwing
1 parent 6ce121f commit f64d5d3

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed
 

‎src/Client.php

+4-2
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ public function _subscribe(ObserverInterface $clientObserver): DisposableInterfa
8080

8181
$request->on('response', function (Response $response, Request $request) use ($flatHeaders, $cNegotiator, $nRequest, $clientObserver) {
8282
if ($response->getCode() !== 101) {
83-
throw new \Exception('Unexpected response code ' . $response->getCode());
83+
$clientObserver->onError(new \Exception('Unexpected response code ' . $response->getCode()));
84+
return;
8485
}
8586

8687
$psr7Response = new Psr7Response(
@@ -93,7 +94,8 @@ public function _subscribe(ObserverInterface $clientObserver): DisposableInterfa
9394
$psr7Request = new Psr7Request('GET', $this->url, $flatHeaders);
9495

9596
if (!$cNegotiator->validateResponse($psr7Request, $psr7Response)) {
96-
throw new \Exception('Invalid response');
97+
$clientObserver->onError(new \Exception('Invalid response'));
98+
return;
9799
}
98100

99101
$subprotoHeader = $psr7Response->getHeader('Sec-WebSocket-Protocol');

0 commit comments

Comments
 (0)