Fixing more Guzzle API breaks
This commit is contained in:
parent
3e8b7826d9
commit
86e2484dfe
@ -23,7 +23,7 @@ class Hixie76 implements VersionInterface {
|
|||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
public function isProtocol(RequestInterface $request) {
|
public function isProtocol(RequestInterface $request) {
|
||||||
return !(null === $request->getHeader('Sec-WebSocket-Key2', true));
|
return !(null === $request->getHeader('Sec-WebSocket-Key2'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -44,13 +44,13 @@ class Hixie76 implements VersionInterface {
|
|||||||
throw new \UnderflowException("Not enough data received to issue challenge response");
|
throw new \UnderflowException("Not enough data received to issue challenge response");
|
||||||
}
|
}
|
||||||
|
|
||||||
$challenge = $this->sign($request->getHeader('Sec-WebSocket-Key1', true), $request->getHeader('Sec-WebSocket-Key2', true), $body);
|
$challenge = $this->sign((string)$request->getHeader('Sec-WebSocket-Key1'), (string)$request->getHeader('Sec-WebSocket-Key2'), $body);
|
||||||
|
|
||||||
$headers = array(
|
$headers = array(
|
||||||
'Upgrade' => 'WebSocket'
|
'Upgrade' => 'WebSocket'
|
||||||
, 'Connection' => 'Upgrade'
|
, 'Connection' => 'Upgrade'
|
||||||
, 'Sec-WebSocket-Origin' => $request->getHeader('Origin', true)
|
, 'Sec-WebSocket-Origin' => (string)$request->getHeader('Origin')
|
||||||
, 'Sec-WebSocket-Location' => 'ws://' . $request->getHeader('Host', true) . $request->getPath()
|
, 'Sec-WebSocket-Location' => 'ws://' . (string)$request->getHeader('Host') . $request->getPath()
|
||||||
);
|
);
|
||||||
|
|
||||||
$response = new Response(101, $headers, $challenge);
|
$response = new Response(101, $headers, $challenge);
|
||||||
|
@ -4,7 +4,8 @@ use Guzzle\Http\Message\RequestInterface;
|
|||||||
|
|
||||||
class HyBi10 extends RFC6455 {
|
class HyBi10 extends RFC6455 {
|
||||||
public function isProtocol(RequestInterface $request) {
|
public function isProtocol(RequestInterface $request) {
|
||||||
$version = (int)((string)($request->getHeader('Sec-WebSocket-Version', -1)));
|
$version = (int)(string)$request->getHeader('Sec-WebSocket-Version');
|
||||||
|
|
||||||
return ($version >= 6 && $version < 13);
|
return ($version >= 6 && $version < 13);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ class RFC6455 implements VersionInterface {
|
|||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
public function isProtocol(RequestInterface $request) {
|
public function isProtocol(RequestInterface $request) {
|
||||||
$version = (int)((string)($request->getHeader('Sec-WebSocket-Version', -1)));
|
$version = (int)(string)$request->getHeader('Sec-WebSocket-Version');
|
||||||
|
|
||||||
return ($this->getVersionNumber() === $version);
|
return ($this->getVersionNumber() === $version);
|
||||||
}
|
}
|
||||||
@ -73,7 +73,7 @@ class RFC6455 implements VersionInterface {
|
|||||||
return new Response(101, array(
|
return new Response(101, array(
|
||||||
'Upgrade' => 'websocket'
|
'Upgrade' => 'websocket'
|
||||||
, 'Connection' => 'Upgrade'
|
, 'Connection' => 'Upgrade'
|
||||||
, 'Sec-WebSocket-Accept' => $this->sign($request->getHeader('Sec-WebSocket-Key'))
|
, 'Sec-WebSocket-Accept' => $this->sign((string)$request->getHeader('Sec-WebSocket-Key'))
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,10 +19,10 @@ class HandshakeVerifier {
|
|||||||
$passes += (int)$this->verifyMethod($request->getMethod());
|
$passes += (int)$this->verifyMethod($request->getMethod());
|
||||||
$passes += (int)$this->verifyHTTPVersion($request->getProtocolVersion());
|
$passes += (int)$this->verifyHTTPVersion($request->getProtocolVersion());
|
||||||
$passes += (int)$this->verifyRequestURI($request->getPath());
|
$passes += (int)$this->verifyRequestURI($request->getPath());
|
||||||
$passes += (int)$this->verifyHost($request->getHeader('Host', true));
|
$passes += (int)$this->verifyHost((string)$request->getHeader('Host'));
|
||||||
$passes += (int)$this->verifyUpgradeRequest($request->getHeader('Upgrade', true));
|
$passes += (int)$this->verifyUpgradeRequest((string)$request->getHeader('Upgrade'));
|
||||||
$passes += (int)$this->verifyConnection($request->getHeader('Connection', true));
|
$passes += (int)$this->verifyConnection((string)$request->getHeader('Connection'));
|
||||||
$passes += (int)$this->verifyKey($request->getHeader('Sec-WebSocket-Key', true));
|
$passes += (int)$this->verifyKey((string)$request->getHeader('Sec-WebSocket-Key'));
|
||||||
//$passes += (int)$this->verifyVersion($headers['Sec-WebSocket-Version']); // Temporarily breaking functionality
|
//$passes += (int)$this->verifyVersion($headers['Sec-WebSocket-Version']); // Temporarily breaking functionality
|
||||||
|
|
||||||
return (7 === $passes);
|
return (7 === $passes);
|
||||||
|
Loading…
Reference in New Issue
Block a user