Skip to content

Commit 7557c2a

Browse files
authored
Optimize: get error code after Websocket upgrade failed (#4114)
* Optimize: get error code after Websocket upgrade failed * Update CHANGELOG-2.2.md
1 parent 066f3b8 commit 7557c2a

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/Client.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
*/
1212
namespace Hyperf\WebSocketClient;
1313

14+
use Hyperf\HttpMessage\Server\Response;
1415
use Hyperf\WebSocketClient\Exception\ConnectException;
1516
use Psr\Http\Message\UriInterface;
1617
use Swoole\Coroutine;
@@ -50,8 +51,15 @@ public function __construct(UriInterface $uri)
5051

5152
$ret = $this->client->upgrade($path);
5253
if (! $ret) {
53-
$errCode = $this->client->errCode;
54-
throw new ConnectException(sprintf('Websocket upgrade failed by [%s] [%s].', $errCode, swoole_strerror($errCode)));
54+
if ($this->client->errCode !== 0) {
55+
$errCode = $this->client->errCode;
56+
$errMsg = $this->client->errMsg;
57+
} else {
58+
$errCode = $this->client->statusCode;
59+
$errMsg = Response::getReasonPhraseByCode($errCode);
60+
}
61+
62+
throw new ConnectException(sprintf('Websocket upgrade failed by [%s] [%s].', $errCode, $errMsg));
5563
}
5664
}
5765

0 commit comments

Comments
 (0)