From f2c67b346084e70c66922cde6af909b74c2a1ca8 Mon Sep 17 00:00:00 2001 From: Chris Boden Date: Mon, 17 Feb 2014 16:06:37 -0500 Subject: [PATCH 01/10] [Sessions] Trigger error when circumventing HHVM bug --- src/Ratchet/Session/SessionProvider.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Ratchet/Session/SessionProvider.php b/src/Ratchet/Session/SessionProvider.php index 9a885e8..42be40a 100644 --- a/src/Ratchet/Session/SessionProvider.php +++ b/src/Ratchet/Session/SessionProvider.php @@ -59,6 +59,7 @@ class SessionProvider implements MessageComponentInterface, WsServerInterface { // Temporarily fixing HHVM issue w/ reading ini values $handler_name = ini_get('session.serialize_handler'); if ('' === $handler_name) { + trigger_error('ini value session.seralize_handler was empty, assuming "php" - tmp hack/fix, bad things might happen', E_USER_WARNING); $handler_name = 'php'; } From 74fb2a691bd9b688e1fe027260c2bf2737fce697 Mon Sep 17 00:00:00 2001 From: Vincent Dieltiens Date: Sat, 9 Nov 2013 01:02:01 +0100 Subject: [PATCH 02/10] [Router] Update the Url QueryString of the request object with the parameters return by the UrlMatcher to let the developer access thoses parameters --- src/Ratchet/Http/Router.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Ratchet/Http/Router.php b/src/Ratchet/Http/Router.php index 8e6611e..4596af1 100644 --- a/src/Ratchet/Http/Router.php +++ b/src/Ratchet/Http/Router.php @@ -3,6 +3,7 @@ namespace Ratchet\Http; use Ratchet\ConnectionInterface; use Guzzle\Http\Message\RequestInterface; use Guzzle\Http\Message\Response; +use Guzzle\Http\Url; use Symfony\Component\Routing\Matcher\UrlMatcherInterface; use Symfony\Component\Routing\Exception\MethodNotAllowedException; use Symfony\Component\Routing\Exception\ResourceNotFoundException; @@ -45,6 +46,16 @@ class Router implements HttpServerInterface { if (!($route['_controller'] instanceof HttpServerInterface)) { throw new \UnexpectedValueException('All routes must implement Ratchet\Http\HttpServerInterface'); } + + $parameters = array(); + foreach($route as $key => $value) { + if (!in_array($key, array('_controller', '_route'))) { + $parameters[$key] = $value; + } + } + $url = Url::factory($request->getPath()); + $url->setQuery($parameters); + $request->setUrl($url); $conn->controller = $route['_controller']; $conn->controller->onOpen($conn, $request); From 27d3939d309e94bbb2b392c591ac747ac0b3cda6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurynas=20Ver=C5=BEukauskas?= Date: Tue, 18 Mar 2014 22:18:50 +0200 Subject: [PATCH 03/10] Test added --- tests/unit/Http/RouterTest.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/unit/Http/RouterTest.php b/tests/unit/Http/RouterTest.php index 8656dd3..56471ce 100644 --- a/tests/unit/Http/RouterTest.php +++ b/tests/unit/Http/RouterTest.php @@ -1,7 +1,9 @@ _router->onError($this->_conn, $e); } + + public function testRouterGeneratesRouteParameters() + { + /** @var $controller WsServerInterface */ + $controller = $this->getMockBuilder('\Ratchet\WebSocket\WsServer')->disableOriginalConstructor()->getMock(); + /** @var $matcher UrlMatcherInterface */ + $this->_matcher->expects($this->any())->method('match')->will( + $this->returnValue(array('_controller' => $controller, 'foo' => 'bar', 'baz' => 'qux')) + ); + $conn = $this->getMock('Ratchet\Mock\Connection'); + + $request = $this->getMock('Guzzle\Http\Message\Request', array('getPath'), ['GET', 'ws://random.url'], '', false); + $request->expects($this->any())->method('getPath')->will($this->returnValue('ws://doesnt.matter/')); + + $request->setHeaderFactory($this->getMock('Guzzle\Http\Message\Header\HeaderFactoryInterface')); + $request->setUrl('ws://doesnt.matter/'); + + $router = new Router($this->_matcher); + + $router->onOpen($conn, $request); + + $this->assertEquals(array('foo' => 'bar', 'baz' => 'qux'), $request->getQuery()->getAll()); + } } From 343ecdfa0fb8187f95ad4cd6fb3eff06e4b07ed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurynas=20Ver=C5=BEukauskas?= Date: Tue, 18 Mar 2014 22:23:36 +0200 Subject: [PATCH 04/10] Filter all keys starting with underscore --- src/Ratchet/Http/Router.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Ratchet/Http/Router.php b/src/Ratchet/Http/Router.php index 4596af1..817f6a8 100644 --- a/src/Ratchet/Http/Router.php +++ b/src/Ratchet/Http/Router.php @@ -46,10 +46,10 @@ class Router implements HttpServerInterface { if (!($route['_controller'] instanceof HttpServerInterface)) { throw new \UnexpectedValueException('All routes must implement Ratchet\Http\HttpServerInterface'); } - + $parameters = array(); foreach($route as $key => $value) { - if (!in_array($key, array('_controller', '_route'))) { + if ((is_string($key)) && ('_' !== substr($key, 0, 1))) { $parameters[$key] = $value; } } @@ -100,4 +100,4 @@ class Router implements HttpServerInterface { $conn->send((string)$response); $conn->close(); } -} \ No newline at end of file +} From b7b0a6d2f4b84cd636cae91ae98cad87b15c1d05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurynas=20Ver=C5=BEukauskas?= Date: Wed, 19 Mar 2014 18:28:28 +0200 Subject: [PATCH 05/10] PHP5.3 fix --- tests/unit/Http/RouterTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/Http/RouterTest.php b/tests/unit/Http/RouterTest.php index 56471ce..412e774 100644 --- a/tests/unit/Http/RouterTest.php +++ b/tests/unit/Http/RouterTest.php @@ -98,7 +98,7 @@ class RouterTest extends \PHPUnit_Framework_TestCase { ); $conn = $this->getMock('Ratchet\Mock\Connection'); - $request = $this->getMock('Guzzle\Http\Message\Request', array('getPath'), ['GET', 'ws://random.url'], '', false); + $request = $this->getMock('Guzzle\Http\Message\Request', array('getPath'), array('GET', 'ws://random.url'), '', false); $request->expects($this->any())->method('getPath')->will($this->returnValue('ws://doesnt.matter/')); $request->setHeaderFactory($this->getMock('Guzzle\Http\Message\Header\HeaderFactoryInterface')); From 3a8578bd1712c773530a3a71138941586911f602 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Pineau?= Date: Fri, 21 Mar 2014 16:46:43 +0100 Subject: [PATCH 06/10] CS (eof_ending) --- src/Ratchet/AbstractConnectionDecorator.php | 2 +- src/Ratchet/App.php | 2 +- src/Ratchet/ComponentInterface.php | 2 +- src/Ratchet/ConnectionInterface.php | 2 +- src/Ratchet/Http/Guzzle/Http/Message/RequestFactory.php | 2 +- src/Ratchet/Http/HttpRequestParser.php | 2 +- src/Ratchet/Http/OriginCheck.php | 2 +- src/Ratchet/Http/Router.php | 2 +- src/Ratchet/MessageComponentInterface.php | 2 +- src/Ratchet/MessageInterface.php | 2 +- src/Ratchet/Server/EchoServer.php | 2 +- src/Ratchet/Server/FlashPolicy.php | 2 +- src/Ratchet/Server/IoConnection.php | 2 +- src/Ratchet/Server/IpBlackList.php | 2 +- src/Ratchet/Session/Serialize/HandlerInterface.php | 2 +- src/Ratchet/Session/Serialize/PhpBinaryHandler.php | 2 +- src/Ratchet/Session/Serialize/PhpHandler.php | 2 +- src/Ratchet/Session/SessionProvider.php | 2 +- src/Ratchet/Session/Storage/Proxy/VirtualProxy.php | 2 +- src/Ratchet/Session/Storage/VirtualSessionStorage.php | 2 +- src/Ratchet/Wamp/Exception.php | 2 +- src/Ratchet/Wamp/JsonException.php | 2 +- src/Ratchet/Wamp/ServerProtocol.php | 2 +- src/Ratchet/Wamp/TopicManager.php | 2 +- src/Ratchet/Wamp/WampServer.php | 2 +- src/Ratchet/Wamp/WampServerInterface.php | 2 +- src/Ratchet/WebSocket/Encoding/ToggleableValidator.php | 2 +- src/Ratchet/WebSocket/Encoding/Validator.php | 2 +- src/Ratchet/WebSocket/Encoding/ValidatorInterface.php | 2 +- src/Ratchet/WebSocket/Version/DataInterface.php | 2 +- src/Ratchet/WebSocket/Version/FrameInterface.php | 2 +- src/Ratchet/WebSocket/Version/Hixie76.php | 2 +- src/Ratchet/WebSocket/Version/Hixie76/Connection.php | 2 +- src/Ratchet/WebSocket/Version/Hixie76/Frame.php | 2 +- src/Ratchet/WebSocket/Version/HyBi10.php | 2 +- src/Ratchet/WebSocket/Version/MessageInterface.php | 2 +- src/Ratchet/WebSocket/Version/RFC6455/Connection.php | 2 +- src/Ratchet/WebSocket/Version/RFC6455/Frame.php | 2 +- src/Ratchet/WebSocket/Version/RFC6455/HandshakeVerifier.php | 2 +- src/Ratchet/WebSocket/Version/RFC6455/Message.php | 2 +- src/Ratchet/WebSocket/Version/VersionInterface.php | 2 +- src/Ratchet/WebSocket/VersionManager.php | 2 +- src/Ratchet/WebSocket/WsServer.php | 2 +- src/Ratchet/WebSocket/WsServerInterface.php | 2 +- tests/helpers/Ratchet/AbstractMessageComponentTestCase.php | 2 +- tests/helpers/Ratchet/Mock/Component.php | 2 +- tests/helpers/Ratchet/Mock/Connection.php | 2 +- tests/helpers/Ratchet/Mock/ConnectionDecorator.php | 2 +- tests/helpers/Ratchet/Mock/WampComponent.php | 2 +- tests/helpers/Ratchet/NullComponent.php | 2 +- tests/helpers/Ratchet/Wamp/Stub/WsWampServerInterface.php | 2 +- .../Ratchet/WebSocket/Stub/WsMessageComponentInterface.php | 2 +- tests/integration/GuzzleTest.php | 2 +- tests/unit/AbstractConnectionDecoratorTest.php | 2 +- tests/unit/Http/Guzzle/Http/Message/RequestFactoryTest.php | 2 +- tests/unit/Http/HttpRequestParserTest.php | 2 +- tests/unit/Http/HttpServerTest.php | 2 +- tests/unit/Server/FlashPolicyComponentTest.php | 2 +- tests/unit/Server/IoConnectionTest.php | 2 +- tests/unit/Server/IoServerTest.php | 2 +- tests/unit/Server/IpBlackListComponentTest.php | 2 +- tests/unit/Session/Serialize/PhpHandlerTest.php | 2 +- tests/unit/Wamp/ServerProtocolTest.php | 2 +- tests/unit/Wamp/TopicManagerTest.php | 2 +- tests/unit/Wamp/WampConnectionTest.php | 2 +- tests/unit/Wamp/WampServerTest.php | 2 +- tests/unit/WebSocket/Version/Hixie76Test.php | 2 +- tests/unit/WebSocket/Version/HyBi10Test.php | 2 +- tests/unit/WebSocket/Version/RFC6455/FrameTest.php | 2 +- tests/unit/WebSocket/Version/RFC6455/HandshakeVerifierTest.php | 2 +- tests/unit/WebSocket/Version/RFC6455/MessageTest.php | 2 +- tests/unit/WebSocket/Version/RFC6455Test.php | 2 +- tests/unit/WebSocket/VersionManagerTest.php | 2 +- tests/unit/WebSocket/WsServerTest.php | 2 +- 74 files changed, 74 insertions(+), 74 deletions(-) diff --git a/src/Ratchet/AbstractConnectionDecorator.php b/src/Ratchet/AbstractConnectionDecorator.php index 8db272a..4474307 100644 --- a/src/Ratchet/AbstractConnectionDecorator.php +++ b/src/Ratchet/AbstractConnectionDecorator.php @@ -38,4 +38,4 @@ abstract class AbstractConnectionDecorator implements ConnectionInterface { public function __unset($name) { unset($this->wrappedConn->$name); } -} \ No newline at end of file +} diff --git a/src/Ratchet/App.php b/src/Ratchet/App.php index 99deb4e..da634af 100644 --- a/src/Ratchet/App.php +++ b/src/Ratchet/App.php @@ -128,4 +128,4 @@ class App { public function run() { $this->_server->run(); } -} \ No newline at end of file +} diff --git a/src/Ratchet/ComponentInterface.php b/src/Ratchet/ComponentInterface.php index 35a9fcb..37e41b1 100644 --- a/src/Ratchet/ComponentInterface.php +++ b/src/Ratchet/ComponentInterface.php @@ -28,4 +28,4 @@ interface ComponentInterface { * @throws \Exception */ function onError(ConnectionInterface $conn, \Exception $e); -} \ No newline at end of file +} diff --git a/src/Ratchet/ConnectionInterface.php b/src/Ratchet/ConnectionInterface.php index 5cf8e71..8741ed5 100644 --- a/src/Ratchet/ConnectionInterface.php +++ b/src/Ratchet/ConnectionInterface.php @@ -23,4 +23,4 @@ interface ConnectionInterface { * Close the connection */ function close(); -} \ No newline at end of file +} diff --git a/src/Ratchet/Http/Guzzle/Http/Message/RequestFactory.php b/src/Ratchet/Http/Guzzle/Http/Message/RequestFactory.php index 7457871..5a6d75e 100644 --- a/src/Ratchet/Http/Guzzle/Http/Message/RequestFactory.php +++ b/src/Ratchet/Http/Guzzle/Http/Message/RequestFactory.php @@ -31,4 +31,4 @@ class RequestFactory extends GuzzleRequestFactory { return $request; } -} \ No newline at end of file +} diff --git a/src/Ratchet/Http/HttpRequestParser.php b/src/Ratchet/Http/HttpRequestParser.php index c6296bc..cbb5bbd 100644 --- a/src/Ratchet/Http/HttpRequestParser.php +++ b/src/Ratchet/Http/HttpRequestParser.php @@ -53,4 +53,4 @@ class HttpRequestParser implements MessageInterface { public function isEom($message) { return (boolean)strpos($message, static::EOM); } -} \ No newline at end of file +} diff --git a/src/Ratchet/Http/OriginCheck.php b/src/Ratchet/Http/OriginCheck.php index 8d5f7a1..640d3c7 100644 --- a/src/Ratchet/Http/OriginCheck.php +++ b/src/Ratchet/Http/OriginCheck.php @@ -76,4 +76,4 @@ class OriginCheck implements HttpServerInterface { $conn->send((string)$response); $conn->close(); } -} \ No newline at end of file +} diff --git a/src/Ratchet/Http/Router.php b/src/Ratchet/Http/Router.php index 8e6611e..6909ad2 100644 --- a/src/Ratchet/Http/Router.php +++ b/src/Ratchet/Http/Router.php @@ -89,4 +89,4 @@ class Router implements HttpServerInterface { $conn->send((string)$response); $conn->close(); } -} \ No newline at end of file +} diff --git a/src/Ratchet/MessageComponentInterface.php b/src/Ratchet/MessageComponentInterface.php index ee99547..b4a92e2 100644 --- a/src/Ratchet/MessageComponentInterface.php +++ b/src/Ratchet/MessageComponentInterface.php @@ -2,4 +2,4 @@ namespace Ratchet; interface MessageComponentInterface extends ComponentInterface, MessageInterface { -} \ No newline at end of file +} diff --git a/src/Ratchet/MessageInterface.php b/src/Ratchet/MessageInterface.php index a8ef91b..1486323 100644 --- a/src/Ratchet/MessageInterface.php +++ b/src/Ratchet/MessageInterface.php @@ -9,4 +9,4 @@ interface MessageInterface { * @throws \Exception */ function onMessage(ConnectionInterface $from, $msg); -} \ No newline at end of file +} diff --git a/src/Ratchet/Server/EchoServer.php b/src/Ratchet/Server/EchoServer.php index 4011d66..2918e73 100644 --- a/src/Ratchet/Server/EchoServer.php +++ b/src/Ratchet/Server/EchoServer.php @@ -20,4 +20,4 @@ class EchoServer implements MessageComponentInterface { public function onError(ConnectionInterface $conn, \Exception $e) { $conn->close(); } -} \ No newline at end of file +} diff --git a/src/Ratchet/Server/FlashPolicy.php b/src/Ratchet/Server/FlashPolicy.php index f0ee26f..4997362 100644 --- a/src/Ratchet/Server/FlashPolicy.php +++ b/src/Ratchet/Server/FlashPolicy.php @@ -185,4 +185,4 @@ class FlashPolicy implements MessageComponentInterface { public function validatePorts($port) { return (bool)preg_match('/^(\*|(\d+[,-]?)*\d+)$/', $port); } -} \ No newline at end of file +} diff --git a/src/Ratchet/Server/IoConnection.php b/src/Ratchet/Server/IoConnection.php index 0bc63a9..9f864bb 100644 --- a/src/Ratchet/Server/IoConnection.php +++ b/src/Ratchet/Server/IoConnection.php @@ -35,4 +35,4 @@ class IoConnection implements ConnectionInterface { public function close() { $this->conn->end(); } -} \ No newline at end of file +} diff --git a/src/Ratchet/Server/IpBlackList.php b/src/Ratchet/Server/IpBlackList.php index e4ed24e..9342254 100644 --- a/src/Ratchet/Server/IpBlackList.php +++ b/src/Ratchet/Server/IpBlackList.php @@ -108,4 +108,4 @@ class IpBlackList implements MessageComponentInterface { $this->_decorating->onError($conn, $e); } } -} \ No newline at end of file +} diff --git a/src/Ratchet/Session/Serialize/HandlerInterface.php b/src/Ratchet/Session/Serialize/HandlerInterface.php index f1c7c0c..b83635f 100644 --- a/src/Ratchet/Session/Serialize/HandlerInterface.php +++ b/src/Ratchet/Session/Serialize/HandlerInterface.php @@ -13,4 +13,4 @@ interface HandlerInterface { * @return array */ function unserialize($raw); -} \ No newline at end of file +} diff --git a/src/Ratchet/Session/Serialize/PhpBinaryHandler.php b/src/Ratchet/Session/Serialize/PhpBinaryHandler.php index 3f1b350..ba80551 100644 --- a/src/Ratchet/Session/Serialize/PhpBinaryHandler.php +++ b/src/Ratchet/Session/Serialize/PhpBinaryHandler.php @@ -30,4 +30,4 @@ class PhpBinaryHandler implements HandlerInterface { return $returnData; } -} \ No newline at end of file +} diff --git a/src/Ratchet/Session/Serialize/PhpHandler.php b/src/Ratchet/Session/Serialize/PhpHandler.php index fb0631c..8fb5308 100644 --- a/src/Ratchet/Session/Serialize/PhpHandler.php +++ b/src/Ratchet/Session/Serialize/PhpHandler.php @@ -35,4 +35,4 @@ class PhpHandler implements HandlerInterface { return $returnData; } -} \ No newline at end of file +} diff --git a/src/Ratchet/Session/SessionProvider.php b/src/Ratchet/Session/SessionProvider.php index 42be40a..8aefc96 100644 --- a/src/Ratchet/Session/SessionProvider.php +++ b/src/Ratchet/Session/SessionProvider.php @@ -165,4 +165,4 @@ class SessionProvider implements MessageComponentInterface, WsServerInterface { protected function toClassCase($langDef) { return str_replace(' ', '', ucwords(str_replace('_', ' ', $langDef))); } -} \ No newline at end of file +} diff --git a/src/Ratchet/Session/Storage/Proxy/VirtualProxy.php b/src/Ratchet/Session/Storage/Proxy/VirtualProxy.php index a549d4e..b478d03 100644 --- a/src/Ratchet/Session/Storage/Proxy/VirtualProxy.php +++ b/src/Ratchet/Session/Storage/Proxy/VirtualProxy.php @@ -51,4 +51,4 @@ class VirtualProxy extends SessionHandlerProxy { public function setName($name) { throw new \RuntimeException("Can not change session name in VirtualProxy"); } -} \ No newline at end of file +} diff --git a/src/Ratchet/Session/Storage/VirtualSessionStorage.php b/src/Ratchet/Session/Storage/VirtualSessionStorage.php index dc16388..c86dcab 100644 --- a/src/Ratchet/Session/Storage/VirtualSessionStorage.php +++ b/src/Ratchet/Session/Storage/VirtualSessionStorage.php @@ -79,4 +79,4 @@ class VirtualSessionStorage extends NativeSessionStorage { $this->saveHandler = $saveHandler; } -} \ No newline at end of file +} diff --git a/src/Ratchet/Wamp/Exception.php b/src/Ratchet/Wamp/Exception.php index 9b0ca24..6c824da 100644 --- a/src/Ratchet/Wamp/Exception.php +++ b/src/Ratchet/Wamp/Exception.php @@ -2,4 +2,4 @@ namespace Ratchet\Wamp; class Exception extends \Exception { -} \ No newline at end of file +} diff --git a/src/Ratchet/Wamp/JsonException.php b/src/Ratchet/Wamp/JsonException.php index dfb8da9..8f05d28 100644 --- a/src/Ratchet/Wamp/JsonException.php +++ b/src/Ratchet/Wamp/JsonException.php @@ -28,4 +28,4 @@ class JsonException extends Exception { parent::__construct($msg, $code); } -} \ No newline at end of file +} diff --git a/src/Ratchet/Wamp/ServerProtocol.php b/src/Ratchet/Wamp/ServerProtocol.php index 7842c82..0a5805e 100644 --- a/src/Ratchet/Wamp/ServerProtocol.php +++ b/src/Ratchet/Wamp/ServerProtocol.php @@ -154,4 +154,4 @@ class ServerProtocol implements MessageComponentInterface, WsServerInterface { public function onError(ConnectionInterface $conn, \Exception $e) { return $this->_decorating->onError($this->connections[$conn], $e); } -} \ No newline at end of file +} diff --git a/src/Ratchet/Wamp/TopicManager.php b/src/Ratchet/Wamp/TopicManager.php index 6020791..bceee73 100644 --- a/src/Ratchet/Wamp/TopicManager.php +++ b/src/Ratchet/Wamp/TopicManager.php @@ -111,4 +111,4 @@ class TopicManager implements WsServerInterface, WampServerInterface { return $this->topicLookup[$topic]; } -} \ No newline at end of file +} diff --git a/src/Ratchet/Wamp/WampServer.php b/src/Ratchet/Wamp/WampServer.php index 9e7951f..7644fdc 100644 --- a/src/Ratchet/Wamp/WampServer.php +++ b/src/Ratchet/Wamp/WampServer.php @@ -66,4 +66,4 @@ class WampServer implements MessageComponentInterface, WsServerInterface { public function getSubProtocols() { return $this->wampProtocol->getSubProtocols(); } -} \ No newline at end of file +} diff --git a/src/Ratchet/Wamp/WampServerInterface.php b/src/Ratchet/Wamp/WampServerInterface.php index bef93b1..15c521d 100644 --- a/src/Ratchet/Wamp/WampServerInterface.php +++ b/src/Ratchet/Wamp/WampServerInterface.php @@ -40,4 +40,4 @@ interface WampServerInterface extends ComponentInterface { * @param array $eligible A list of session Ids the message should be send to (whitelist) */ function onPublish(ConnectionInterface $conn, $topic, $event, array $exclude, array $eligible); -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Encoding/ToggleableValidator.php b/src/Ratchet/WebSocket/Encoding/ToggleableValidator.php index 1a3965c..edf14bc 100644 --- a/src/Ratchet/WebSocket/Encoding/ToggleableValidator.php +++ b/src/Ratchet/WebSocket/Encoding/ToggleableValidator.php @@ -28,4 +28,4 @@ class ToggleableValidator implements ValidatorInterface { return $this->validator->checkEncoding($str, $encoding); } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Encoding/Validator.php b/src/Ratchet/WebSocket/Encoding/Validator.php index 0dc8a24..3b02230 100644 --- a/src/Ratchet/WebSocket/Encoding/Validator.php +++ b/src/Ratchet/WebSocket/Encoding/Validator.php @@ -90,4 +90,4 @@ class Validator { return true; } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Encoding/ValidatorInterface.php b/src/Ratchet/WebSocket/Encoding/ValidatorInterface.php index c5769e8..374f220 100644 --- a/src/Ratchet/WebSocket/Encoding/ValidatorInterface.php +++ b/src/Ratchet/WebSocket/Encoding/ValidatorInterface.php @@ -9,4 +9,4 @@ interface ValidatorInterface { * @return bool */ function checkEncoding($str, $encoding); -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/DataInterface.php b/src/Ratchet/WebSocket/Version/DataInterface.php index ef44565..bec1211 100644 --- a/src/Ratchet/WebSocket/Version/DataInterface.php +++ b/src/Ratchet/WebSocket/Version/DataInterface.php @@ -25,4 +25,4 @@ interface DataInterface { * @return string */ function getContents(); -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/FrameInterface.php b/src/Ratchet/WebSocket/Version/FrameInterface.php index 083b6d4..4eafb82 100644 --- a/src/Ratchet/WebSocket/Version/FrameInterface.php +++ b/src/Ratchet/WebSocket/Version/FrameInterface.php @@ -35,4 +35,4 @@ interface FrameInterface extends DataInterface { * @return string */ function getMaskingKey(); -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/Hixie76.php b/src/Ratchet/WebSocket/Version/Hixie76.php index 8b0e2c4..f521992 100644 --- a/src/Ratchet/WebSocket/Version/Hixie76.php +++ b/src/Ratchet/WebSocket/Version/Hixie76.php @@ -117,4 +117,4 @@ class Hixie76 implements VersionInterface { . $code , true); } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/Hixie76/Connection.php b/src/Ratchet/WebSocket/Version/Hixie76/Connection.php index 82053eb..2a5f845 100644 --- a/src/Ratchet/WebSocket/Version/Hixie76/Connection.php +++ b/src/Ratchet/WebSocket/Version/Hixie76/Connection.php @@ -16,4 +16,4 @@ class Connection extends AbstractConnectionDecorator { public function close() { $this->getConnection()->close(); } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/Hixie76/Frame.php b/src/Ratchet/WebSocket/Version/Hixie76/Frame.php index a172207..28eb90e 100644 --- a/src/Ratchet/WebSocket/Version/Hixie76/Frame.php +++ b/src/Ratchet/WebSocket/Version/Hixie76/Frame.php @@ -83,4 +83,4 @@ class Frame implements FrameInterface { public function extractOverflow() { return ''; } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/HyBi10.php b/src/Ratchet/WebSocket/Version/HyBi10.php index 70329c6..a53d338 100644 --- a/src/Ratchet/WebSocket/Version/HyBi10.php +++ b/src/Ratchet/WebSocket/Version/HyBi10.php @@ -12,4 +12,4 @@ class HyBi10 extends RFC6455 { public function getVersionNumber() { return 6; } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/MessageInterface.php b/src/Ratchet/WebSocket/Version/MessageInterface.php index ff29163..476c091 100644 --- a/src/Ratchet/WebSocket/Version/MessageInterface.php +++ b/src/Ratchet/WebSocket/Version/MessageInterface.php @@ -12,4 +12,4 @@ interface MessageInterface extends DataInterface { * @return int */ function getOpcode(); -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/RFC6455/Connection.php b/src/Ratchet/WebSocket/Version/RFC6455/Connection.php index 2d89493..5bfa4a9 100644 --- a/src/Ratchet/WebSocket/Version/RFC6455/Connection.php +++ b/src/Ratchet/WebSocket/Version/RFC6455/Connection.php @@ -30,4 +30,4 @@ class Connection extends AbstractConnectionDecorator { $this->getConnection()->close(); } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/RFC6455/Frame.php b/src/Ratchet/WebSocket/Version/RFC6455/Frame.php index 146bd06..ea8a401 100644 --- a/src/Ratchet/WebSocket/Version/RFC6455/Frame.php +++ b/src/Ratchet/WebSocket/Version/RFC6455/Frame.php @@ -447,4 +447,4 @@ class Frame implements FrameInterface { return ''; } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/RFC6455/HandshakeVerifier.php b/src/Ratchet/WebSocket/Version/RFC6455/HandshakeVerifier.php index 41057cc..fd783f6 100644 --- a/src/Ratchet/WebSocket/Version/RFC6455/HandshakeVerifier.php +++ b/src/Ratchet/WebSocket/Version/RFC6455/HandshakeVerifier.php @@ -134,4 +134,4 @@ class HandshakeVerifier { */ public function verifyExtensions($val) { } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/RFC6455/Message.php b/src/Ratchet/WebSocket/Version/RFC6455/Message.php index fd20047..a839f2d 100644 --- a/src/Ratchet/WebSocket/Version/RFC6455/Message.php +++ b/src/Ratchet/WebSocket/Version/RFC6455/Message.php @@ -104,4 +104,4 @@ class Message implements MessageInterface, \Countable { return $buffer; } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/Version/VersionInterface.php b/src/Ratchet/WebSocket/Version/VersionInterface.php index ddc1170..5bbe534 100644 --- a/src/Ratchet/WebSocket/Version/VersionInterface.php +++ b/src/Ratchet/WebSocket/Version/VersionInterface.php @@ -54,4 +54,4 @@ interface VersionInterface extends MessageInterface { * @todo Change to use other classes, this will be removed eventually */ //function frame($message, $mask = true); -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/VersionManager.php b/src/Ratchet/WebSocket/VersionManager.php index ec81a9d..f514e1b 100644 --- a/src/Ratchet/WebSocket/VersionManager.php +++ b/src/Ratchet/WebSocket/VersionManager.php @@ -87,4 +87,4 @@ class VersionManager { public function getSupportedVersionString() { return $this->versionString; } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/WsServer.php b/src/Ratchet/WebSocket/WsServer.php index c76fd3f..8ad6e4e 100644 --- a/src/Ratchet/WebSocket/WsServer.php +++ b/src/Ratchet/WebSocket/WsServer.php @@ -224,4 +224,4 @@ class WsServer implements HttpServerInterface { $conn->send((string)$response); $conn->close(); } -} \ No newline at end of file +} diff --git a/src/Ratchet/WebSocket/WsServerInterface.php b/src/Ratchet/WebSocket/WsServerInterface.php index 24c7ab9..03b0710 100644 --- a/src/Ratchet/WebSocket/WsServerInterface.php +++ b/src/Ratchet/WebSocket/WsServerInterface.php @@ -11,4 +11,4 @@ interface WsServerInterface { * @temporary This method may be removed in future version (note that will not break code, just make some code obsolete) */ function getSubProtocols(); -} \ No newline at end of file +} diff --git a/tests/helpers/Ratchet/AbstractMessageComponentTestCase.php b/tests/helpers/Ratchet/AbstractMessageComponentTestCase.php index 2ab458e..8c298e5 100644 --- a/tests/helpers/Ratchet/AbstractMessageComponentTestCase.php +++ b/tests/helpers/Ratchet/AbstractMessageComponentTestCase.php @@ -47,4 +47,4 @@ abstract class AbstractMessageComponentTestCase extends \PHPUnit_Framework_TestC $this->_app->expects($this->once())->method('onMessage')->with($this->isExpectedConnection(), $value); $this->_serv->onMessage($this->_conn, $value); } -} \ No newline at end of file +} diff --git a/tests/helpers/Ratchet/Mock/Component.php b/tests/helpers/Ratchet/Mock/Component.php index d2ef27d..e152988 100644 --- a/tests/helpers/Ratchet/Mock/Component.php +++ b/tests/helpers/Ratchet/Mock/Component.php @@ -32,4 +32,4 @@ class Component implements MessageComponentInterface, WsServerInterface { public function getSubProtocols() { return $this->protocols; } -} \ No newline at end of file +} diff --git a/tests/helpers/Ratchet/Mock/Connection.php b/tests/helpers/Ratchet/Mock/Connection.php index 525487f..5918296 100644 --- a/tests/helpers/Ratchet/Mock/Connection.php +++ b/tests/helpers/Ratchet/Mock/Connection.php @@ -17,4 +17,4 @@ class Connection implements ConnectionInterface { public function close() { $this->last[__FUNCTION__] = true; } -} \ No newline at end of file +} diff --git a/tests/helpers/Ratchet/Mock/ConnectionDecorator.php b/tests/helpers/Ratchet/Mock/ConnectionDecorator.php index c8a0d17..5570c07 100644 --- a/tests/helpers/Ratchet/Mock/ConnectionDecorator.php +++ b/tests/helpers/Ratchet/Mock/ConnectionDecorator.php @@ -19,4 +19,4 @@ class ConnectionDecorator extends AbstractConnectionDecorator { $this->getConnection()->close(); } -} \ No newline at end of file +} diff --git a/tests/helpers/Ratchet/Mock/WampComponent.php b/tests/helpers/Ratchet/Mock/WampComponent.php index 87af27c..cd526cb 100644 --- a/tests/helpers/Ratchet/Mock/WampComponent.php +++ b/tests/helpers/Ratchet/Mock/WampComponent.php @@ -40,4 +40,4 @@ class WampComponent implements WampServerInterface, WsServerInterface { public function onError(ConnectionInterface $conn, \Exception $e) { $this->last[__FUNCTION__] = func_get_args(); } -} \ No newline at end of file +} diff --git a/tests/helpers/Ratchet/NullComponent.php b/tests/helpers/Ratchet/NullComponent.php index 4352830..90def21 100644 --- a/tests/helpers/Ratchet/NullComponent.php +++ b/tests/helpers/Ratchet/NullComponent.php @@ -25,4 +25,4 @@ class NullComponent implements MessageComponentInterface, WsServerInterface, Wam public function getSubProtocols() { return array(); } -} \ No newline at end of file +} diff --git a/tests/helpers/Ratchet/Wamp/Stub/WsWampServerInterface.php b/tests/helpers/Ratchet/Wamp/Stub/WsWampServerInterface.php index 45cb35f..197bbd3 100644 --- a/tests/helpers/Ratchet/Wamp/Stub/WsWampServerInterface.php +++ b/tests/helpers/Ratchet/Wamp/Stub/WsWampServerInterface.php @@ -4,4 +4,4 @@ use Ratchet\WebSocket\WsServerInterface; use Ratchet\Wamp\WampServerInterface; interface WsWampServerInterface extends WsServerInterface, WampServerInterface { -} \ No newline at end of file +} diff --git a/tests/helpers/Ratchet/WebSocket/Stub/WsMessageComponentInterface.php b/tests/helpers/Ratchet/WebSocket/Stub/WsMessageComponentInterface.php index 40e6928..ef88325 100644 --- a/tests/helpers/Ratchet/WebSocket/Stub/WsMessageComponentInterface.php +++ b/tests/helpers/Ratchet/WebSocket/Stub/WsMessageComponentInterface.php @@ -4,4 +4,4 @@ use Ratchet\MessageComponentInterface; use Ratchet\WebSocket\WsServerInterface; interface WsMessageComponentInterface extends MessageComponentInterface, WsServerInterface { -} \ No newline at end of file +} diff --git a/tests/integration/GuzzleTest.php b/tests/integration/GuzzleTest.php index 6d3a544..5e4d8aa 100644 --- a/tests/integration/GuzzleTest.php +++ b/tests/integration/GuzzleTest.php @@ -50,4 +50,4 @@ class GuzzleTest extends \PHPUnit_Framework_TestCase { $ref = new \ReflectionMethod('Guzzle\Http\Message\RequestFactory', 'create'); $this->assertEquals(2, $ref->getNumberOfRequiredParameters()); } -} \ No newline at end of file +} diff --git a/tests/unit/AbstractConnectionDecoratorTest.php b/tests/unit/AbstractConnectionDecoratorTest.php index 905cce1..0887d3e 100644 --- a/tests/unit/AbstractConnectionDecoratorTest.php +++ b/tests/unit/AbstractConnectionDecoratorTest.php @@ -144,4 +144,4 @@ class AbstractConnectionDecoratorTest extends \PHPUnit_Framework_TestCase { $this->setExpectedException('PHPUnit_Framework_Error'); $var = $this->l2->nonExistant; } -} \ No newline at end of file +} diff --git a/tests/unit/Http/Guzzle/Http/Message/RequestFactoryTest.php b/tests/unit/Http/Guzzle/Http/Message/RequestFactoryTest.php index 8cada8c..7860f72 100644 --- a/tests/unit/Http/Guzzle/Http/Message/RequestFactoryTest.php +++ b/tests/unit/Http/Guzzle/Http/Message/RequestFactoryTest.php @@ -64,4 +64,4 @@ class RequestFactoryTest extends \PHPUnit_Framework_TestCase { $this->assertEquals($parts['body'], (string)$object->getBody()); } -} \ No newline at end of file +} diff --git a/tests/unit/Http/HttpRequestParserTest.php b/tests/unit/Http/HttpRequestParserTest.php index 89a0e80..4df7d8d 100644 --- a/tests/unit/Http/HttpRequestParserTest.php +++ b/tests/unit/Http/HttpRequestParserTest.php @@ -48,4 +48,4 @@ class HttpRequestParserTest extends \PHPUnit_Framework_TestCase { $this->assertInstanceOf('\Guzzle\Http\Message\RequestInterface', $return); } -} \ No newline at end of file +} diff --git a/tests/unit/Http/HttpServerTest.php b/tests/unit/Http/HttpServerTest.php index 2c069f1..7041d66 100644 --- a/tests/unit/Http/HttpServerTest.php +++ b/tests/unit/Http/HttpServerTest.php @@ -61,4 +61,4 @@ class HttpServerTest extends AbstractMessageComponentTestCase { $this->_serv->onMessage($this->_conn, "GET / HTTP/1.1"); } -} \ No newline at end of file +} diff --git a/tests/unit/Server/FlashPolicyComponentTest.php b/tests/unit/Server/FlashPolicyComponentTest.php index 67f88a7..38fc96a 100644 --- a/tests/unit/Server/FlashPolicyComponentTest.php +++ b/tests/unit/Server/FlashPolicyComponentTest.php @@ -149,4 +149,4 @@ class FlashPolicyTest extends \PHPUnit_Framework_TestCase { $conn = $this->getMock('\Ratchet\ConnectionInterface'); $this->_policy->onClose($conn); } -} \ No newline at end of file +} diff --git a/tests/unit/Server/IoConnectionTest.php b/tests/unit/Server/IoConnectionTest.php index 0cb7fb4..07130f6 100644 --- a/tests/unit/Server/IoConnectionTest.php +++ b/tests/unit/Server/IoConnectionTest.php @@ -29,4 +29,4 @@ class IoConnectionTest extends \PHPUnit_Framework_TestCase { public function testSendReturnsSelf() { $this->assertSame($this->conn, $this->conn->send('fluent interface')); } -} \ No newline at end of file +} diff --git a/tests/unit/Server/IoServerTest.php b/tests/unit/Server/IoServerTest.php index 2b0258c..808098a 100644 --- a/tests/unit/Server/IoServerTest.php +++ b/tests/unit/Server/IoServerTest.php @@ -115,4 +115,4 @@ class IoServerTest extends \PHPUnit_Framework_TestCase { $this->server->handleData('f', $conn); } -} \ No newline at end of file +} diff --git a/tests/unit/Server/IpBlackListComponentTest.php b/tests/unit/Server/IpBlackListComponentTest.php index 419f077..90f4185 100644 --- a/tests/unit/Server/IpBlackListComponentTest.php +++ b/tests/unit/Server/IpBlackListComponentTest.php @@ -122,4 +122,4 @@ class IpBlackListTest extends \PHPUnit_Framework_TestCase { return $conn; } -} \ No newline at end of file +} diff --git a/tests/unit/Session/Serialize/PhpHandlerTest.php b/tests/unit/Session/Serialize/PhpHandlerTest.php index cf1ef48..4dddee9 100644 --- a/tests/unit/Session/Serialize/PhpHandlerTest.php +++ b/tests/unit/Session/Serialize/PhpHandlerTest.php @@ -33,4 +33,4 @@ class PhpHandlerTest extends \PHPUnit_Framework_TestCase { public function testUnserialize($in, $expected) { $this->assertEquals($expected, $this->_handler->unserialize($in)); } -} \ No newline at end of file +} diff --git a/tests/unit/Wamp/ServerProtocolTest.php b/tests/unit/Wamp/ServerProtocolTest.php index 14a8b1e..3cc44f0 100644 --- a/tests/unit/Wamp/ServerProtocolTest.php +++ b/tests/unit/Wamp/ServerProtocolTest.php @@ -264,4 +264,4 @@ class ServerProtocolTest extends \PHPUnit_Framework_TestCase { $this->_comp->onOpen($conn); $this->_comp->onMessage($conn, $message); } -} \ No newline at end of file +} diff --git a/tests/unit/Wamp/TopicManagerTest.php b/tests/unit/Wamp/TopicManagerTest.php index 877f05f..0c31d9a 100644 --- a/tests/unit/Wamp/TopicManagerTest.php +++ b/tests/unit/Wamp/TopicManagerTest.php @@ -193,4 +193,4 @@ class TopicManagerTest extends \PHPUnit_Framework_TestCase { $this->assertEquals($subs, $mngr->getSubProtocols()); } -} \ No newline at end of file +} diff --git a/tests/unit/Wamp/WampConnectionTest.php b/tests/unit/Wamp/WampConnectionTest.php index e33c166..adf59d5 100644 --- a/tests/unit/Wamp/WampConnectionTest.php +++ b/tests/unit/Wamp/WampConnectionTest.php @@ -74,4 +74,4 @@ class WampConnectionTest extends \PHPUnit_Framework_TestCase { $conn->close(); } -} \ No newline at end of file +} diff --git a/tests/unit/Wamp/WampServerTest.php b/tests/unit/Wamp/WampServerTest.php index 02c81a6..626b1ce 100644 --- a/tests/unit/Wamp/WampServerTest.php +++ b/tests/unit/Wamp/WampServerTest.php @@ -46,4 +46,4 @@ class WampServerTest extends AbstractMessageComponentTestCase { $this->_conn->expects($this->once())->method('close'); $this->_serv->onMessage($this->_conn, json_encode(array('valid' => 'json', 'invalid' => 'protocol'))); } -} \ No newline at end of file +} diff --git a/tests/unit/WebSocket/Version/Hixie76Test.php b/tests/unit/WebSocket/Version/Hixie76Test.php index 07d863b..d09cdf7 100644 --- a/tests/unit/WebSocket/Version/Hixie76Test.php +++ b/tests/unit/WebSocket/Version/Hixie76Test.php @@ -80,4 +80,4 @@ class Hixie76Test extends \PHPUnit_Framework_TestCase { $mockApp->expects($this->once())->method('onOpen'); $server->onMessage($mockConn, $body . $this->_crlf . $this->_crlf); } -} \ No newline at end of file +} diff --git a/tests/unit/WebSocket/Version/HyBi10Test.php b/tests/unit/WebSocket/Version/HyBi10Test.php index 74044df..1d9e8a9 100644 --- a/tests/unit/WebSocket/Version/HyBi10Test.php +++ b/tests/unit/WebSocket/Version/HyBi10Test.php @@ -64,4 +64,4 @@ class HyBi10Test extends \PHPUnit_Framework_TestCase { $this->assertEquals($string, $frame->getPayload()); } -} \ No newline at end of file +} diff --git a/tests/unit/WebSocket/Version/RFC6455/FrameTest.php b/tests/unit/WebSocket/Version/RFC6455/FrameTest.php index ca4447c..3683b1c 100644 --- a/tests/unit/WebSocket/Version/RFC6455/FrameTest.php +++ b/tests/unit/WebSocket/Version/RFC6455/FrameTest.php @@ -500,4 +500,4 @@ class FrameTest extends \PHPUnit_Framework_TestCase { return $randomString; } -} \ No newline at end of file +} diff --git a/tests/unit/WebSocket/Version/RFC6455/HandshakeVerifierTest.php b/tests/unit/WebSocket/Version/RFC6455/HandshakeVerifierTest.php index cdaec6d..6761c32 100644 --- a/tests/unit/WebSocket/Version/RFC6455/HandshakeVerifierTest.php +++ b/tests/unit/WebSocket/Version/RFC6455/HandshakeVerifierTest.php @@ -167,4 +167,4 @@ class HandshakeVerifierTest extends \PHPUnit_Framework_TestCase { public function testVersionEquals13($expected, $in) { $this->assertEquals($expected, $this->_v->verifyVersion($in)); } -} \ No newline at end of file +} diff --git a/tests/unit/WebSocket/Version/RFC6455/MessageTest.php b/tests/unit/WebSocket/Version/RFC6455/MessageTest.php index 4b72170..b2d21d2 100644 --- a/tests/unit/WebSocket/Version/RFC6455/MessageTest.php +++ b/tests/unit/WebSocket/Version/RFC6455/MessageTest.php @@ -60,4 +60,4 @@ class MessageTest extends \PHPUnit_Framework_TestCase { $this->assertEquals(28, $this->message->getPayloadLength()); } -} \ No newline at end of file +} diff --git a/tests/unit/WebSocket/Version/RFC6455Test.php b/tests/unit/WebSocket/Version/RFC6455Test.php index 89a9ae6..86e5631 100644 --- a/tests/unit/WebSocket/Version/RFC6455Test.php +++ b/tests/unit/WebSocket/Version/RFC6455Test.php @@ -148,4 +148,4 @@ class RFC6455Test extends \PHPUnit_Framework_TestCase { public function testNewFrame() { $this->assertInstanceOf('\\Ratchet\\WebSocket\\Version\\RFC6455\\Frame', $this->version->newFrame()); } -} \ No newline at end of file +} diff --git a/tests/unit/WebSocket/VersionManagerTest.php b/tests/unit/WebSocket/VersionManagerTest.php index 6083548..d9c55fe 100644 --- a/tests/unit/WebSocket/VersionManagerTest.php +++ b/tests/unit/WebSocket/VersionManagerTest.php @@ -88,4 +88,4 @@ class VersionManagerTest extends \PHPUnit_Framework_TestCase { $this->assertEquals(2, count($values)); $this->assertFalse(array_search(0, $values)); } -} \ No newline at end of file +} diff --git a/tests/unit/WebSocket/WsServerTest.php b/tests/unit/WebSocket/WsServerTest.php index c923e16..3f4aa43 100644 --- a/tests/unit/WebSocket/WsServerTest.php +++ b/tests/unit/WebSocket/WsServerTest.php @@ -48,4 +48,4 @@ class WsServerTest extends \PHPUnit_Framework_TestCase { $this->assertSame($expected, $method->invokeArgs($this->serv, array($req))); } -} \ No newline at end of file +} From 136e72d8074389a0088c3e28f88d91915efa7cc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Pineau?= Date: Fri, 21 Mar 2014 16:46:52 +0100 Subject: [PATCH 07/10] CS (trainling space) --- src/Ratchet/AbstractConnectionDecorator.php | 8 ++++---- src/Ratchet/Http/Guzzle/Http/Message/RequestFactory.php | 4 ++-- src/Ratchet/Session/Storage/VirtualSessionStorage.php | 2 +- src/Ratchet/WebSocket/Version/RFC6455/Frame.php | 2 +- tests/unit/WebSocket/Version/RFC6455/FrameTest.php | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Ratchet/AbstractConnectionDecorator.php b/src/Ratchet/AbstractConnectionDecorator.php index 4474307..9707951 100644 --- a/src/Ratchet/AbstractConnectionDecorator.php +++ b/src/Ratchet/AbstractConnectionDecorator.php @@ -2,7 +2,7 @@ namespace Ratchet; /** - * Wraps ConnectionInterface objects via the decorator pattern but allows + * Wraps ConnectionInterface objects via the decorator pattern but allows * parameters to bubble through with magic methods * @todo It sure would be nice if I could make most of this a trait... */ @@ -26,15 +26,15 @@ abstract class AbstractConnectionDecorator implements ConnectionInterface { public function __set($name, $value) { $this->wrappedConn->$name = $value; } - + public function __get($name) { return $this->wrappedConn->$name; } - + public function __isset($name) { return isset($this->wrappedConn->$name); } - + public function __unset($name) { unset($this->wrappedConn->$name); } diff --git a/src/Ratchet/Http/Guzzle/Http/Message/RequestFactory.php b/src/Ratchet/Http/Guzzle/Http/Message/RequestFactory.php index 5a6d75e..8f68e5e 100644 --- a/src/Ratchet/Http/Guzzle/Http/Message/RequestFactory.php +++ b/src/Ratchet/Http/Guzzle/Http/Message/RequestFactory.php @@ -6,7 +6,7 @@ use Guzzle\Http\EntityBody; class RequestFactory extends GuzzleRequestFactory { protected static $ratchetInstance; - + /** * {@inheritdoc} */ @@ -20,7 +20,7 @@ class RequestFactory extends GuzzleRequestFactory { return static::$ratchetInstance; } - + /** * {@inheritdoc} */ diff --git a/src/Ratchet/Session/Storage/VirtualSessionStorage.php b/src/Ratchet/Session/Storage/VirtualSessionStorage.php index c86dcab..9fb0eb7 100644 --- a/src/Ratchet/Session/Storage/VirtualSessionStorage.php +++ b/src/Ratchet/Session/Storage/VirtualSessionStorage.php @@ -56,7 +56,7 @@ class VirtualSessionStorage extends NativeSessionStorage { // get the data from the bags? // serialize the data // save the data using the saveHandler -// $this->saveHandler->write($this->saveHandler->getId(), +// $this->saveHandler->write($this->saveHandler->getId(), if (!$this->saveHandler->isWrapper() && !$this->getSaveHandler()->isSessionHandlerInterface()) { $this->saveHandler->setActive(false); diff --git a/src/Ratchet/WebSocket/Version/RFC6455/Frame.php b/src/Ratchet/WebSocket/Version/RFC6455/Frame.php index ea8a401..1a92c1f 100644 --- a/src/Ratchet/WebSocket/Version/RFC6455/Frame.php +++ b/src/Ratchet/WebSocket/Version/RFC6455/Frame.php @@ -347,7 +347,7 @@ class Frame implements FrameInterface { $bits += 16; } - // If the value of the initial payload length are is 127 an additional 48 bits are used to describe length + // If the value of the initial payload length are is 127 an additional 48 bits are used to describe length // Note: The documentation specifies the length is to be 63 bits, but I think that's a typo and is 64 (16+48) if ($check === 127) { $bits += 48; diff --git a/tests/unit/WebSocket/Version/RFC6455/FrameTest.php b/tests/unit/WebSocket/Version/RFC6455/FrameTest.php index 3683b1c..7f56a6e 100644 --- a/tests/unit/WebSocket/Version/RFC6455/FrameTest.php +++ b/tests/unit/WebSocket/Version/RFC6455/FrameTest.php @@ -29,7 +29,7 @@ class FrameTest extends \PHPUnit_Framework_TestCase { while (strlen($in) >= 8) { $out .= static::encode(substr($in, 0, 8)); - $in = substr($in, 8); + $in = substr($in, 8); } return $out; From d58b6dd74d476a7c4c81fb3e5dd8b7f8a45de651 Mon Sep 17 00:00:00 2001 From: Graham Campbell Date: Sat, 5 Apr 2014 10:42:42 +0100 Subject: [PATCH 08/10] Update composer.json --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 82796a8..bbefbb6 100644 --- a/composer.json +++ b/composer.json @@ -25,8 +25,8 @@ } , "require": { "php": ">=5.3.9" - , "react/socket": ">=0.3.0,<0.5-dev" - , "guzzle/http": ">=3.6.0,<3.9.0-dev" + , "react/socket": "0.3.*|0.4.*" + , "guzzle/http": "~3.6" , "symfony/http-foundation": "~2.2" , "symfony/routing": "~2.2" } From 67cedf0ce6b6c7fbb5e305e0667ac219e655d561 Mon Sep 17 00:00:00 2001 From: Chris Boden Date: Sun, 13 Apr 2014 12:21:08 -0400 Subject: [PATCH 09/10] composer.json validates - fixes #176 --- composer.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/composer.json b/composer.json index bbefbb6..c785ce0 100644 --- a/composer.json +++ b/composer.json @@ -1,10 +1,9 @@ { - "name": "cboden/Ratchet" + "name": "cboden/ratchet" , "type": "library" , "description": "PHP WebSocket library" , "keywords": ["WebSockets", "Server", "Ratchet", "Sockets"] , "homepage": "http://socketo.me" - , "repository": "https://github.com/cboden/Ratchet" , "license": "MIT" , "authors": [ { From c089aea8ebad521795610feb36bc7a937794a88c Mon Sep 17 00:00:00 2001 From: Marc Easen Date: Wed, 16 Apr 2014 13:11:40 +0100 Subject: [PATCH 10/10] Fixed a memory leak when a connection is closed the topics should also be removed if they are empty --- src/Ratchet/Wamp/TopicManager.php | 7 +++++-- tests/unit/Wamp/TopicManagerTest.php | 7 +++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Ratchet/Wamp/TopicManager.php b/src/Ratchet/Wamp/TopicManager.php index bceee73..a69e315 100644 --- a/src/Ratchet/Wamp/TopicManager.php +++ b/src/Ratchet/Wamp/TopicManager.php @@ -77,8 +77,11 @@ class TopicManager implements WsServerInterface, WampServerInterface { public function onClose(ConnectionInterface $conn) { $this->app->onClose($conn); - foreach ($this->topicLookup as $topic) { - $topic->remove($conn); + foreach ($this->topicLookup as $topic => $storage) { + $storage->remove($conn); + if (0 === $storage->count()) { + unset($this->topicLookup[$topic]); + } } } diff --git a/tests/unit/Wamp/TopicManagerTest.php b/tests/unit/Wamp/TopicManagerTest.php index 0c31d9a..7439064 100644 --- a/tests/unit/Wamp/TopicManagerTest.php +++ b/tests/unit/Wamp/TopicManagerTest.php @@ -166,12 +166,19 @@ class TopicManagerTest extends \PHPUnit_Framework_TestCase { $method = $class->getMethod('getTopic'); $method->setAccessible(true); + $attribute = $class->getProperty('topicLookup'); + $attribute->setAccessible(true); + $topic = $method->invokeArgs($this->mngr, array($name)); + $this->assertCount(1, $attribute->getValue($this->mngr)); + $this->mngr->onSubscribe($this->conn, $name); $this->mngr->onClose($this->conn); $this->assertFalse($topic->has($this->conn)); + + $this->assertCount(0, $attribute->getValue($this->mngr)); } public function testOnErrorBubbles() {