diff --git a/src/Handshake/ClientNegotiator.php b/src/Handshake/ClientNegotiator.php index c393194..ca93669 100644 --- a/src/Handshake/ClientNegotiator.php +++ b/src/Handshake/ClientNegotiator.php @@ -5,7 +5,7 @@ use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\UriInterface; use GuzzleHttp\Psr7\Request; -class ClientNegotiator implements ClientNegotiatorInterface { +class ClientNegotiator { /** * @var ResponseVerifier */ @@ -22,7 +22,7 @@ class ClientNegotiator implements ClientNegotiatorInterface { $this->defaultHeader = new Request('GET', '', [ 'Connection' => 'Upgrade' , 'Upgrade' => 'websocket' - , 'Sec-WebSocket-Version' => 13 + , 'Sec-WebSocket-Version' => $this->getVersion() , 'User-Agent' => "RatchetRFC/0.0.0" ]); } @@ -48,4 +48,7 @@ class ClientNegotiator implements ClientNegotiatorInterface { return base64_encode($key); } -} \ No newline at end of file + public function getVersion() { + return 13; + } +} \ No newline at end of file diff --git a/src/Handshake/ClientNegotiatorInterface.php b/src/Handshake/ClientNegotiatorInterface.php deleted file mode 100644 index c95c1ac..0000000 --- a/src/Handshake/ClientNegotiatorInterface.php +++ /dev/null @@ -1,11 +0,0 @@ -verifyUpgrade($response->getHeader('Upgrade')); $passes += (int)$this->verifyConnection($response->getHeader('Connection')); $passes += (int)$this->verifySecWebSocketAccept( - $response->getHeader('Sec-WebSocket-Accept'), - $request->getHeader('sec-websocket-key') - ); + $response->getHeader('Sec-WebSocket-Accept') + , $request->getHeader('Sec-WebSocket-Accept') + ); - return (4 == $passes); + return (4 === $passes); } public function verifyStatus($status) { - return ($status == 101); + return ((int)$status === 101); } public function verifyUpgrade(array $upgrade) { @@ -34,10 +34,10 @@ class ResponseVerifier { return ( 1 === count($swa) && 1 === count($key) && - $swa[0] == $this->sign($key[0])); + $swa[0] === $this->sign($key[0])); } public function sign($key) { - return base64_encode(sha1($key . Negotiator::GUID, true)); + return base64_encode(sha1($key . NegotiatorInterface::GUID, true)); } } \ No newline at end of file