Client negotiation cleanup
This commit is contained in:
parent
affba40d16
commit
1e828bf7d4
@ -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);
|
||||
}
|
||||
|
||||
public function getVersion() {
|
||||
return 13;
|
||||
}
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Ratchet\RFC6455\Handshake;
|
||||
|
||||
|
||||
interface ClientNegotiatorInterface {
|
||||
const GUID = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11';
|
||||
|
||||
|
||||
}
|
@ -11,15 +11,15 @@ class ResponseVerifier {
|
||||
$passes += (int)$this->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));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user