Fixing more Guzzle API breaks
This commit is contained in:
parent
1a5dd77bb8
commit
8e92f5fd9a
@ -27,7 +27,7 @@
|
||||
, "require": {
|
||||
"php": ">=5.3.3"
|
||||
, "react/socket": "0.2.*"
|
||||
, "guzzle/http": ">=3.0,<=3.5"
|
||||
, "guzzle/http": "~3.0"
|
||||
, "symfony/http-foundation": "~2.1"
|
||||
}
|
||||
}
|
||||
|
74
composer.lock
generated
74
composer.lock
generated
@ -1,4 +1,8 @@
|
||||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file"
|
||||
],
|
||||
"hash": "9ccce99ef687cb79dad8a4c581f38cc5",
|
||||
"packages": [
|
||||
{
|
||||
@ -24,6 +28,7 @@
|
||||
"Evenement": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
@ -42,17 +47,17 @@
|
||||
},
|
||||
{
|
||||
"name": "guzzle/common",
|
||||
"version": "v3.3.0",
|
||||
"version": "v3.6.0",
|
||||
"target-dir": "Guzzle/Common",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/common.git",
|
||||
"reference": "v3.3.0"
|
||||
"reference": "v3.6.0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/common/zipball/v3.3.0",
|
||||
"reference": "v3.3.0",
|
||||
"url": "https://api.github.com/repos/guzzle/common/zipball/v3.6.0",
|
||||
"reference": "v3.6.0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -62,7 +67,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0-dev"
|
||||
"dev-master": "3.6-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -82,21 +87,21 @@
|
||||
"event",
|
||||
"exception"
|
||||
],
|
||||
"time": "2013-03-04 00:41:45"
|
||||
"time": "2013-05-30 07:01:25"
|
||||
},
|
||||
{
|
||||
"name": "guzzle/http",
|
||||
"version": "v3.3.0",
|
||||
"version": "v3.6.0",
|
||||
"target-dir": "Guzzle/Http",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/http.git",
|
||||
"reference": "v3.3.0"
|
||||
"reference": "v3.6.0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/http/zipball/v3.3.0",
|
||||
"reference": "v3.3.0",
|
||||
"url": "https://api.github.com/repos/guzzle/http/zipball/v3.6.0",
|
||||
"reference": "v3.6.0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -111,7 +116,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0-dev"
|
||||
"dev-master": "3.6-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -139,21 +144,21 @@
|
||||
"http",
|
||||
"http client"
|
||||
],
|
||||
"time": "2013-03-03 21:40:51"
|
||||
"time": "2013-05-30 07:01:25"
|
||||
},
|
||||
{
|
||||
"name": "guzzle/parser",
|
||||
"version": "v3.3.0",
|
||||
"version": "v3.6.0",
|
||||
"target-dir": "Guzzle/Parser",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/parser.git",
|
||||
"reference": "v3.3.0"
|
||||
"reference": "v3.6.0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/parser/zipball/v3.3.0",
|
||||
"reference": "v3.3.0",
|
||||
"url": "https://api.github.com/repos/guzzle/parser/zipball/v3.6.0",
|
||||
"reference": "v3.6.0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -162,7 +167,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0-dev"
|
||||
"dev-master": "3.6-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -183,31 +188,34 @@
|
||||
"message",
|
||||
"url"
|
||||
],
|
||||
"time": "2013-01-12 21:43:21"
|
||||
"time": "2013-05-30 07:01:25"
|
||||
},
|
||||
{
|
||||
"name": "guzzle/stream",
|
||||
"version": "v3.3.0",
|
||||
"version": "v3.6.0",
|
||||
"target-dir": "Guzzle/Stream",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/stream.git",
|
||||
"reference": "v3.3.0"
|
||||
"reference": "v3.6.0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/stream/zipball/v3.3.0",
|
||||
"reference": "v3.3.0",
|
||||
"url": "https://api.github.com/repos/guzzle/stream/zipball/v3.6.0",
|
||||
"reference": "v3.6.0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"guzzle/common": "self.version",
|
||||
"php": ">=5.3.2"
|
||||
},
|
||||
"suggest": {
|
||||
"guzzle/http": "To convert Guzzle request objects to PHP streams"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0-dev"
|
||||
"dev-master": "3.6-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -233,7 +241,7 @@
|
||||
"component",
|
||||
"stream"
|
||||
],
|
||||
"time": "2013-03-03 03:07:02"
|
||||
"time": "2013-05-30 07:01:25"
|
||||
},
|
||||
{
|
||||
"name": "react/event-loop",
|
||||
@ -367,17 +375,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v2.2.0",
|
||||
"version": "v2.2.1",
|
||||
"target-dir": "Symfony/Component/EventDispatcher",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/EventDispatcher.git",
|
||||
"reference": "v2.2.0-RC3"
|
||||
"reference": "v2.2.1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/v2.2.0-RC3",
|
||||
"reference": "v2.2.0-RC3",
|
||||
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/v2.2.1",
|
||||
"reference": "v2.2.1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -421,17 +429,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v2.2.0",
|
||||
"version": "v2.2.1",
|
||||
"target-dir": "Symfony/Component/HttpFoundation",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/HttpFoundation.git",
|
||||
"reference": "v2.2.0"
|
||||
"reference": "v2.2.1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/v2.2.0",
|
||||
"reference": "v2.2.0",
|
||||
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/v2.2.1",
|
||||
"reference": "v2.2.1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -467,7 +475,7 @@
|
||||
],
|
||||
"description": "Symfony HttpFoundation Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2013-02-26 09:42:13"
|
||||
"time": "2013-04-06 10:15:43"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
|
@ -23,7 +23,7 @@ class Hixie76 implements VersionInterface {
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
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");
|
||||
}
|
||||
|
||||
$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(
|
||||
'Upgrade' => 'WebSocket'
|
||||
, 'Connection' => 'Upgrade'
|
||||
, 'Sec-WebSocket-Origin' => $request->getHeader('Origin', true)
|
||||
, 'Sec-WebSocket-Location' => 'ws://' . $request->getHeader('Host', true) . $request->getPath()
|
||||
, 'Sec-WebSocket-Origin' => (string)$request->getHeader('Origin')
|
||||
, 'Sec-WebSocket-Location' => 'ws://' . (string)$request->getHeader('Host') . $request->getPath()
|
||||
);
|
||||
|
||||
$response = new Response(101, $headers, $challenge);
|
||||
|
@ -4,7 +4,8 @@ use Guzzle\Http\Message\RequestInterface;
|
||||
|
||||
class HyBi10 extends RFC6455 {
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ class RFC6455 implements VersionInterface {
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
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);
|
||||
}
|
||||
@ -73,7 +73,7 @@ class RFC6455 implements VersionInterface {
|
||||
return new Response(101, array(
|
||||
'Upgrade' => 'websocket'
|
||||
, '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->verifyHTTPVersion($request->getProtocolVersion());
|
||||
$passes += (int)$this->verifyRequestURI($request->getPath());
|
||||
$passes += (int)$this->verifyHost($request->getHeader('Host', true));
|
||||
$passes += (int)$this->verifyUpgradeRequest($request->getHeader('Upgrade', true));
|
||||
$passes += (int)$this->verifyConnection($request->getHeader('Connection', true));
|
||||
$passes += (int)$this->verifyKey($request->getHeader('Sec-WebSocket-Key', true));
|
||||
$passes += (int)$this->verifyHost((string)$request->getHeader('Host'));
|
||||
$passes += (int)$this->verifyUpgradeRequest((string)$request->getHeader('Upgrade'));
|
||||
$passes += (int)$this->verifyConnection((string)$request->getHeader('Connection'));
|
||||
$passes += (int)$this->verifyKey((string)$request->getHeader('Sec-WebSocket-Key'));
|
||||
//$passes += (int)$this->verifyVersion($headers['Sec-WebSocket-Version']); // Temporarily breaking functionality
|
||||
|
||||
return (7 === $passes);
|
||||
|
Loading…
Reference in New Issue
Block a user