From 029d113e531f73d6620f65199a6481d9af4a92cb Mon Sep 17 00:00:00 2001 From: Michael Crumm Date: Wed, 16 Dec 2015 01:11:06 -0800 Subject: [PATCH] Replace phpws with pawl --- composer.json | 2 +- composer.lock | 1123 ++++++++++++++++++++-------------------- src/RealTimeClient.php | 70 ++- 3 files changed, 619 insertions(+), 576 deletions(-) diff --git a/composer.json b/composer.json index b380114..fbb60e8 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,7 @@ }], "require": { "php": ">=5.5", - "devristo/phpws": "dev-master", + "ratchet/pawl": "^0.1", "evenement/evenement": "2.0.*", "guzzlehttp/guzzle": "~6.0", "react/event-loop": "^0.4.1", diff --git a/composer.lock b/composer.lock index 13a16b2..57f95a7 100644 --- a/composer.lock +++ b/composer.lock @@ -1,102 +1,183 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "7e5efd44ec72b130fa9295150f16d4c7", - "content-hash": "6f976692ac6b9273a15bceb323640d5a", + "hash": "d1c41343afefe04adc5761bfb1416a1c", "packages": [ { - "name": "container-interop/container-interop", - "version": "1.1.0", + "name": "cboden/ratchet", + "version": "v0.3.3", "source": { "type": "git", - "url": "https://github.com/container-interop/container-interop.git", - "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e" + "url": "https://github.com/ratchetphp/Ratchet.git", + "reference": "6b247c05251b4b5cbd14243366b649f99a0e5681" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/container-interop/container-interop/zipball/fc08354828f8fd3245f77a66b9e23a6bca48297e", - "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e", + "url": "https://api.github.com/repos/ratchetphp/Ratchet/zipball/6b247c05251b4b5cbd14243366b649f99a0e5681", + "reference": "6b247c05251b4b5cbd14243366b649f99a0e5681", "shasum": "" }, + "require": { + "guzzle/http": "^3.6", + "php": ">=5.3.9", + "react/socket": "^0.3 || ^0.4", + "symfony/http-foundation": "^2.2", + "symfony/routing": "^2.2" + }, "type": "library", "autoload": { "psr-4": { - "Interop\\Container\\": "src/Interop/Container/" + "Ratchet\\": "src/Ratchet" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", - "time": "2014-12-30 15:22:37" + "authors": [ + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "role": "Developer" + } + ], + "description": "PHP WebSocket library", + "homepage": "http://socketo.me", + "keywords": [ + "Ratchet", + "WebSockets", + "server", + "sockets" + ], + "time": "2015-05-27 12:51:05" }, { - "name": "devristo/phpws", - "version": "dev-master", + "name": "evenement/evenement", + "version": "v2.0.0", "source": { "type": "git", - "url": "https://github.com/Devristo/phpws.git", - "reference": "5c495fa15555c8a4eb40c000e28ab6205d72e7f7" + "url": "https://github.com/igorw/evenement.git", + "reference": "f6e843799fd4f4184d54d8fc7b5b3551c9fa803e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Devristo/phpws/zipball/5c495fa15555c8a4eb40c000e28ab6205d72e7f7", - "reference": "5c495fa15555c8a4eb40c000e28ab6205d72e7f7", + "url": "https://api.github.com/repos/igorw/evenement/zipball/f6e843799fd4f4184d54d8fc7b5b3551c9fa803e", + "reference": "f6e843799fd4f4184d54d8fc7b5b3551c9fa803e", "shasum": "" }, "require": { - "react/socket": "0.4.*", - "react/socket-client": "0.4.*", - "react/stream": "0.4.*", - "zendframework/zend-http": "2.*", - "zendframework/zend-log": "2.*" + "php": ">=5.4.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, "autoload": { "psr-0": { - "Devristo\\Phpws\\": "src/" + "Evenement": "src" } }, "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], "authors": [ { - "name": "Devristo", - "email": "chris@devristo.com" + "name": "Igor Wiedler", + "email": "igor@wiedler.ch", + "homepage": "http://wiedler.ch/igor/" } ], - "description": "WebSocket Server and Client library for PHP", - "time": "2015-07-10 14:59:37" + "description": "Événement is a very simple event dispatching library for PHP", + "keywords": [ + "event-dispatcher", + "event-emitter" + ], + "time": "2012-11-02 14:49:47" }, { - "name": "evenement/evenement", - "version": "v2.0.0", + "name": "guzzle/common", + "version": "v3.9.2", + "target-dir": "Guzzle/Common", "source": { "type": "git", - "url": "https://github.com/igorw/evenement.git", - "reference": "f6e843799fd4f4184d54d8fc7b5b3551c9fa803e" + "url": "https://github.com/Guzzle3/common.git", + "reference": "2e36af7cf2ce3ea1f2d7c2831843b883a8e7b7dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/igorw/evenement/zipball/f6e843799fd4f4184d54d8fc7b5b3551c9fa803e", - "reference": "f6e843799fd4f4184d54d8fc7b5b3551c9fa803e", + "url": "https://api.github.com/repos/Guzzle3/common/zipball/2e36af7cf2ce3ea1f2d7c2831843b883a8e7b7dc", + "reference": "2e36af7cf2ce3ea1f2d7c2831843b883a8e7b7dc", "shasum": "" }, "require": { - "php": ">=5.4.0" + "php": ">=5.3.2", + "symfony/event-dispatcher": ">=2.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.7-dev" } }, "autoload": { "psr-0": { - "Evenement": "src" + "Guzzle\\Common": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Common libraries used by Guzzle", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "collection", + "common", + "event", + "exception" + ], + "abandoned": "guzzle/guzzle", + "time": "2014-08-11 04:32:36" + }, + { + "name": "guzzle/http", + "version": "v3.9.2", + "target-dir": "Guzzle/Http", + "source": { + "type": "git", + "url": "https://github.com/Guzzle3/http.git", + "reference": "1e8dd1e2ba9dc42332396f39fbfab950b2301dc5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Guzzle3/http/zipball/1e8dd1e2ba9dc42332396f39fbfab950b2301dc5", + "reference": "1e8dd1e2ba9dc42332396f39fbfab950b2301dc5", + "shasum": "" + }, + "require": { + "guzzle/common": "self.version", + "guzzle/parser": "self.version", + "guzzle/stream": "self.version", + "php": ">=5.3.2" + }, + "suggest": { + "ext-curl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.7-dev" + } + }, + "autoload": { + "psr-0": { + "Guzzle\\Http": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -105,30 +186,134 @@ ], "authors": [ { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch", - "homepage": "http://wiedler.ch/igor/" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" } ], - "description": "Événement is a very simple event dispatching library for PHP", + "description": "HTTP libraries used by Guzzle", + "homepage": "http://guzzlephp.org/", "keywords": [ - "event-dispatcher", - "event-emitter" + "Guzzle", + "client", + "curl", + "http", + "http client" ], - "time": "2012-11-02 14:49:47" + "abandoned": "guzzle/guzzle", + "time": "2014-08-11 04:32:36" + }, + { + "name": "guzzle/parser", + "version": "v3.9.2", + "target-dir": "Guzzle/Parser", + "source": { + "type": "git", + "url": "https://github.com/Guzzle3/parser.git", + "reference": "6874d171318a8e93eb6d224cf85e4678490b625c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Guzzle3/parser/zipball/6874d171318a8e93eb6d224cf85e4678490b625c", + "reference": "6874d171318a8e93eb6d224cf85e4678490b625c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.7-dev" + } + }, + "autoload": { + "psr-0": { + "Guzzle\\Parser": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Interchangeable parsers used by Guzzle", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "URI Template", + "cookie", + "http", + "message", + "url" + ], + "abandoned": "guzzle/guzzle", + "time": "2014-02-05 18:29:46" + }, + { + "name": "guzzle/stream", + "version": "v3.9.2", + "target-dir": "Guzzle/Stream", + "source": { + "type": "git", + "url": "https://github.com/Guzzle3/stream.git", + "reference": "60c7fed02e98d2c518dae8f97874c8f4622100f0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Guzzle3/stream/zipball/60c7fed02e98d2c518dae8f97874c8f4622100f0", + "reference": "60c7fed02e98d2c518dae8f97874c8f4622100f0", + "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.7-dev" + } + }, + "autoload": { + "psr-0": { + "Guzzle\\Stream": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle stream wrapper component", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "Guzzle", + "component", + "stream" + ], + "abandoned": "guzzle/guzzle", + "time": "2014-05-01 21:36:02" }, { "name": "guzzlehttp/guzzle", - "version": "6.1.0", + "version": "6.1.1", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "66fd14b4d0b8f2389eaf37c5458608c7cb793a81" + "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/66fd14b4d0b8f2389eaf37c5458608c7cb793a81", - "reference": "66fd14b4d0b8f2389eaf37c5458608c7cb793a81", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/c6851d6e48f63b69357cbfa55bca116448140e0c", + "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c", "shasum": "" }, "require": { @@ -177,7 +362,7 @@ "rest", "web service" ], - "time": "2015-09-08 17:36:26" + "time": "2015-11-23 00:47:50" }, { "name": "guzzlehttp/promises", @@ -338,42 +523,42 @@ "time": "2015-05-04 20:22:00" }, { - "name": "psr/log", - "version": "1.0.0", + "name": "ratchet/pawl", + "version": "v0.1.2", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" + "url": "https://github.com/ratchetphp/Pawl.git", + "reference": "b58948f6244e07bfcc8c8b824862ce41b1dad0d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", + "url": "https://api.github.com/repos/ratchetphp/Pawl/zipball/b58948f6244e07bfcc8c8b824862ce41b1dad0d3", + "reference": "b58948f6244e07bfcc8c8b824862ce41b1dad0d3", "shasum": "" }, + "require": { + "cboden/ratchet": "0.3.*", + "php": ">=5.4", + "react/socket-client": "0.4.*" + }, "type": "library", "autoload": { - "psr-0": { - "Psr\\Log\\": "" + "psr-4": { + "Ratchet\\Client\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", + "description": "Asynchronous WebSocket client", "keywords": [ - "log", - "psr", - "psr-3" + "Ratchet", + "async", + "client", + "websocket" ], - "time": "2012-12-21 11:40:51" + "time": "2014-11-09 20:47:17" }, { "name": "react/cache", @@ -675,484 +860,249 @@ "time": "2015-10-07 18:32:58" }, { - "name": "zendframework/zend-escaper", - "version": "2.5.1", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-escaper.git", - "reference": "a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73", - "reference": "a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73", - "shasum": "" - }, - "require": { - "php": ">=5.3.23" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev", - "dev-develop": "2.6-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Escaper\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "homepage": "https://github.com/zendframework/zend-escaper", - "keywords": [ - "escaper", - "zf2" - ], - "time": "2015-06-03 14:05:37" - }, - { - "name": "zendframework/zend-http", - "version": "2.5.3", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-http.git", - "reference": "21174ba162cfda8d0b1d172d9f80a8bea0b767be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-http/zipball/21174ba162cfda8d0b1d172d9f80a8bea0b767be", - "reference": "21174ba162cfda8d0b1d172d9f80a8bea0b767be", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "zendframework/zend-loader": "~2.5", - "zendframework/zend-stdlib": "~2.5", - "zendframework/zend-uri": "~2.5", - "zendframework/zend-validator": "~2.5" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-config": "~2.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev", - "dev-develop": "2.6-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Http\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", - "homepage": "https://github.com/zendframework/zend-http", - "keywords": [ - "http", - "zf2" - ], - "time": "2015-09-14 15:58:07" - }, - { - "name": "zendframework/zend-hydrator", - "version": "1.0.0", + "name": "symfony/event-dispatcher", + "version": "v3.0.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-hydrator.git", - "reference": "f3ed8b833355140350bbed98d8a7b8b66875903f" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "d36355e026905fa5229e1ed7b4e9eda2e67adfcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/f3ed8b833355140350bbed98d8a7b8b66875903f", - "reference": "f3ed8b833355140350bbed98d8a7b8b66875903f", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d36355e026905fa5229e1ed7b4e9eda2e67adfcf", + "reference": "d36355e026905fa5229e1ed7b4e9eda2e67adfcf", "shasum": "" }, "require": { - "php": ">=5.5", - "zendframework/zend-stdlib": "^2.5.1" + "php": ">=5.5.9" }, "require-dev": { - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "^2.0@dev", - "zendframework/zend-eventmanager": "^2.5.1", - "zendframework/zend-filter": "^2.5.1", - "zendframework/zend-inputfilter": "^2.5.1", - "zendframework/zend-serializer": "^2.5.1", - "zendframework/zend-servicemanager": "^2.5.1" + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0" }, "suggest": { - "zendframework/zend-eventmanager": "^2.5.1, to support aggregate hydrator usage", - "zendframework/zend-filter": "^2.5.1, to support naming strategy hydrator usage", - "zendframework/zend-serializer": "^2.5.1, to use the SerializableStrategy", - "zendframework/zend-servicemanager": "^2.5.1, to support hydrator plugin manager usage" + "symfony/dependency-injection": "", + "symfony/http-kernel": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev", - "dev-develop": "1.1-dev" + "dev-master": "3.0-dev" } }, "autoload": { "psr-4": { - "Zend\\Hydrator\\": "src/" - } + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-hydrator", - "keywords": [ - "hydrator", - "zf2" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "time": "2015-09-17 14:06:43" + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2015-10-30 23:35:59" }, { - "name": "zendframework/zend-loader", - "version": "2.5.1", + "name": "symfony/http-foundation", + "version": "v2.8.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-loader.git", - "reference": "c5fd2f071bde071f4363def7dea8dec7393e135c" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "5ed0ec39ef684bec84d1fd9f2a55104e403b7e49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/c5fd2f071bde071f4363def7dea8dec7393e135c", - "reference": "c5fd2f071bde071f4363def7dea8dec7393e135c", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5ed0ec39ef684bec84d1fd9f2a55104e403b7e49", + "reference": "5ed0ec39ef684bec84d1fd9f2a55104e403b7e49", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": ">=5.3.9", + "symfony/polyfill-php54": "~1.0" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0" + "symfony/expression-language": "~2.4|~3.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev", - "dev-develop": "2.6-dev" + "dev-master": "2.8-dev" } }, "autoload": { "psr-4": { - "Zend\\Loader\\": "src/" - } + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "homepage": "https://github.com/zendframework/zend-loader", - "keywords": [ - "loader", - "zf2" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } ], - "time": "2015-06-03 14:05:47" + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2015-11-27 11:03:19" }, { - "name": "zendframework/zend-log", - "version": "2.6.0", + "name": "symfony/polyfill-php54", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-log.git", - "reference": "75bcfb813571705032571e2b471519b924b86fde" + "url": "https://github.com/symfony/polyfill-php54.git", + "reference": "2c9f6d98eb30dc04fe0b06f9cc92a55acea5bdcc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-log/zipball/75bcfb813571705032571e2b471519b924b86fde", - "reference": "75bcfb813571705032571e2b471519b924b86fde", + "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/2c9f6d98eb30dc04fe0b06f9cc92a55acea5bdcc", + "reference": "2c9f6d98eb30dc04fe0b06f9cc92a55acea5bdcc", "shasum": "" }, "require": { - "php": ">=5.5", - "psr/log": "~1.0", - "zendframework/zend-servicemanager": "~2.5", - "zendframework/zend-stdlib": "~2.5" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-console": "~2.5", - "zendframework/zend-db": "~2.5", - "zendframework/zend-escaper": "~2.5", - "zendframework/zend-filter": "~2.5", - "zendframework/zend-mail": "~2.5", - "zendframework/zend-mvc": "~2.5", - "zendframework/zend-validator": "~2.5" - }, - "suggest": { - "ext-mongo": "mongodb extetension to use MongoDB writer", - "zendframework/zend-console": "Zend\\Console component to use the RequestID log processor", - "zendframework/zend-db": "Zend\\Db component to use the database log writer", - "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML log formatter", - "zendframework/zend-mail": "Zend\\Mail component to use the email log writer", - "zendframework/zend-validator": "Zend\\Validator component to block invalid log messages" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev", - "dev-develop": "2.7-dev" + "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { - "Zend\\Log\\": "src/" - } + "Symfony\\Polyfill\\Php54\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "description": "component for general purpose logging", - "homepage": "https://github.com/zendframework/zend-log", - "keywords": [ - "log", - "logging", - "zf2" + "MIT" ], - "time": "2015-07-20 17:41:08" - }, - { - "name": "zendframework/zend-servicemanager", - "version": "2.6.0", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-servicemanager.git", - "reference": "1dc33f23bd0a7f4d8ba743b915fae523d356027a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/1dc33f23bd0a7f4d8ba743b915fae523d356027a", - "reference": "1dc33f23bd0a7f4d8ba743b915fae523d356027a", - "shasum": "" - }, - "require": { - "container-interop/container-interop": "~1.0", - "php": ">=5.5" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-di": "~2.5", - "zendframework/zend-mvc": "~2.5" - }, - "suggest": { - "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services", - "zendframework/zend-di": "Zend\\Di component" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev", - "dev-develop": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\ServiceManager\\": "src/" + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zend-servicemanager", + "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "servicemanager", - "zf2" + "compatibility", + "polyfill", + "portable", + "shim" ], - "time": "2015-07-23 21:49:08" + "time": "2015-11-04 20:28:58" }, { - "name": "zendframework/zend-stdlib", - "version": "2.7.4", + "name": "symfony/routing", + "version": "v2.8.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-stdlib.git", - "reference": "cae029346a33663b998507f94962eb27de060683" + "url": "https://github.com/symfony/routing.git", + "reference": "f76830dc0f8068df36226dc822e7fc1f5f73be46" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cae029346a33663b998507f94962eb27de060683", - "reference": "cae029346a33663b998507f94962eb27de060683", + "url": "https://api.github.com/repos/symfony/routing/zipball/f76830dc0f8068df36226dc822e7fc1f5f73be46", + "reference": "f76830dc0f8068df36226dc822e7fc1f5f73be46", "shasum": "" }, "require": { - "php": ">=5.5", - "zendframework/zend-hydrator": "~1.0" + "php": ">=5.3.9" + }, + "conflict": { + "symfony/config": "<2.7" }, "require-dev": { - "athletic/athletic": "~0.1", - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-config": "~2.5", - "zendframework/zend-eventmanager": "~2.5", - "zendframework/zend-filter": "~2.5", - "zendframework/zend-inputfilter": "~2.5", - "zendframework/zend-serializer": "~2.5", - "zendframework/zend-servicemanager": "~2.5" + "doctrine/annotations": "~1.0", + "doctrine/common": "~2.2", + "psr/log": "~1.0", + "symfony/config": "~2.7|~3.0.0", + "symfony/expression-language": "~2.4|~3.0.0", + "symfony/http-foundation": "~2.3|~3.0.0", + "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" }, "suggest": { - "zendframework/zend-eventmanager": "To support aggregate hydrator usage", - "zendframework/zend-filter": "To support naming strategy hydrator usage", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/dependency-injection": "For loading routes from a service", + "symfony/expression-language": "For using expression matching", + "symfony/yaml": "For using the YAML loader" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev", - "dev-develop": "2.8-dev" + "dev-master": "2.8-dev" } }, "autoload": { "psr-4": { - "Zend\\Stdlib\\": "src/" - } + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "homepage": "https://github.com/zendframework/zend-stdlib", - "keywords": [ - "stdlib", - "zf2" + "MIT" ], - "time": "2015-10-15 15:57:32" - }, - { - "name": "zendframework/zend-uri", - "version": "2.5.1", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-uri.git", - "reference": "fe6c7f4c8d9037fe551898a538a2b6d39483f572" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-uri/zipball/fe6c7f4c8d9037fe551898a538a2b6d39483f572", - "reference": "fe6c7f4c8d9037fe551898a538a2b6d39483f572", - "shasum": "" - }, - "require": { - "php": ">=5.3.23", - "zendframework/zend-escaper": "~2.5", - "zendframework/zend-validator": "~2.5" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev", - "dev-develop": "2.6-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Uri\\": "src/" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" ], - "description": "a component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", - "homepage": "https://github.com/zendframework/zend-uri", + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", "keywords": [ + "router", + "routing", "uri", - "zf2" - ], - "time": "2015-06-03 15:32:03" - }, - { - "name": "zendframework/zend-validator", - "version": "2.5.3", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-validator.git", - "reference": "53e567a58c8952a03da0b8edf0f075303a5ac5d1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/53e567a58c8952a03da0b8edf0f075303a5ac5d1", - "reference": "53e567a58c8952a03da0b8edf0f075303a5ac5d1", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "zendframework/zend-stdlib": "~2.5" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-cache": "~2.5", - "zendframework/zend-config": "~2.5", - "zendframework/zend-db": "~2.5", - "zendframework/zend-filter": "~2.5", - "zendframework/zend-http": "~2.5", - "zendframework/zend-i18n": "~2.5", - "zendframework/zend-math": "~2.5", - "zendframework/zend-servicemanager": "~2.5", - "zendframework/zend-session": "~2.5", - "zendframework/zend-uri": "~2.5" - }, - "suggest": { - "zendframework/zend-db": "Zend\\Db component", - "zendframework/zend-filter": "Zend\\Filter component, required by the Digits validator", - "zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages as well as to use the various Date validators", - "zendframework/zend-i18n-resources": "Translations of validator messages", - "zendframework/zend-math": "Zend\\Math component", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", - "zendframework/zend-session": "Zend\\Session component", - "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev", - "dev-develop": "2.6-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Validator\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "provides a set of commonly needed validators", - "homepage": "https://github.com/zendframework/zend-validator", - "keywords": [ - "validator", - "zf2" + "url" ], - "time": "2015-09-03 19:06:11" + "time": "2015-11-26 07:00:59" } ], "packages-dev": [ @@ -1205,16 +1155,16 @@ }, { "name": "apigen/apigen", - "version": "v4.1.1", + "version": "v4.1.2", "source": { "type": "git", "url": "https://github.com/ApiGen/ApiGen.git", - "reference": "e9aff53d56d2b74104dee2b88396eb614e9717d5" + "reference": "3365433ea3433b0e5c8f763608f8e63cbedb2a3a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ApiGen/ApiGen/zipball/e9aff53d56d2b74104dee2b88396eb614e9717d5", - "reference": "e9aff53d56d2b74104dee2b88396eb614e9717d5", + "url": "https://api.github.com/repos/ApiGen/ApiGen/zipball/3365433ea3433b0e5c8f763608f8e63cbedb2a3a", + "reference": "3365433ea3433b0e5c8f763608f8e63cbedb2a3a", "shasum": "" }, "require": { @@ -1224,7 +1174,7 @@ "herrera-io/phar-update": "~2.0", "kdyby/events": "~2.0", "kukulich/fshl": "~2.1", - "latte/latte": "~2.2", + "latte/latte": ">=2.2.0,<2.3.5", "michelf/php-markdown": "~1.4", "nette/application": "~2.2", "nette/bootstrap": "~2.2", @@ -1291,7 +1241,7 @@ "generator", "phpdoc" ], - "time": "2015-04-09 13:42:45" + "time": "2015-11-29 20:11:30" }, { "name": "apigen/theme-bootstrap", @@ -1844,16 +1794,16 @@ }, { "name": "latte/latte", - "version": "v2.3.7", + "version": "v2.3.4", "source": { "type": "git", "url": "https://github.com/nette/latte.git", - "reference": "b6e090e461c9cd88d60ae79a7713990b17b1531c" + "reference": "5e891af999776d2204a9d06ad66ad8fa0bcd4f8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/latte/zipball/b6e090e461c9cd88d60ae79a7713990b17b1531c", - "reference": "b6e090e461c9cd88d60ae79a7713990b17b1531c", + "url": "https://api.github.com/repos/nette/latte/zipball/5e891af999776d2204a9d06ad66ad8fa0bcd4f8b", + "reference": "5e891af999776d2204a9d06ad66ad8fa0bcd4f8b", "shasum": "" }, "require": { @@ -1882,20 +1832,20 @@ "authors": [ { "name": "David Grudl", - "homepage": "https://davidgrudl.com" + "homepage": "http://davidgrudl.com" }, { "name": "Nette Community", - "homepage": "https://nette.org/contributors" + "homepage": "http://nette.org/contributors" } ], "description": "Latte: the amazing template engine for PHP", - "homepage": "https://latte.nette.org", + "homepage": "http://latte.nette.org", "keywords": [ "templating", "twig" ], - "time": "2015-11-07 22:54:05" + "time": "2015-08-23 12:36:55" }, { "name": "michelf/php-markdown", @@ -1950,16 +1900,16 @@ }, { "name": "nette/application", - "version": "v2.3.7", + "version": "v2.3.8", "source": { "type": "git", "url": "https://github.com/nette/application.git", - "reference": "8e87ae81c2098abd7895bfd96d9fac1cd332abc3" + "reference": "32023ed31791cdf05be8816528ae5921dc841b5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/application/zipball/8e87ae81c2098abd7895bfd96d9fac1cd332abc3", - "reference": "8e87ae81c2098abd7895bfd96d9fac1cd332abc3", + "url": "https://api.github.com/repos/nette/application/zipball/32023ed31791cdf05be8816528ae5921dc841b5a", + "reference": "32023ed31791cdf05be8816528ae5921dc841b5a", "shasum": "" }, "require": { @@ -2008,20 +1958,20 @@ ], "description": "Nette Application MVC Component", "homepage": "https://nette.org", - "time": "2015-10-13 14:33:28" + "time": "2015-12-03 04:12:02" }, { "name": "nette/bootstrap", - "version": "v2.3.3", + "version": "v2.3.4", "source": { "type": "git", "url": "https://github.com/nette/bootstrap.git", - "reference": "8e2db45c39a1fa24f88e94c7b2a62ad09e9a306e" + "reference": "e32964df66f2c5a3a50b229204f583d20c1f6829" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/bootstrap/zipball/8e2db45c39a1fa24f88e94c7b2a62ad09e9a306e", - "reference": "8e2db45c39a1fa24f88e94c7b2a62ad09e9a306e", + "url": "https://api.github.com/repos/nette/bootstrap/zipball/e32964df66f2c5a3a50b229204f583d20c1f6829", + "reference": "e32964df66f2c5a3a50b229204f583d20c1f6829", "shasum": "" }, "require": { @@ -2065,29 +2015,29 @@ "authors": [ { "name": "David Grudl", - "homepage": "http://davidgrudl.com" + "homepage": "https://davidgrudl.com" }, { "name": "Nette Community", - "homepage": "http://nette.org/contributors" + "homepage": "https://nette.org/contributors" } ], "description": "Nette Bootstrap", - "homepage": "http://nette.org", - "time": "2015-07-11 21:07:11" + "homepage": "https://nette.org", + "time": "2015-11-16 20:18:31" }, { "name": "nette/caching", - "version": "v2.4.2", + "version": "v2.4.3", "source": { "type": "git", "url": "https://github.com/nette/caching.git", - "reference": "ce04a24e03230a3ad163540aab46635c220163ed" + "reference": "f60c1767fe5a4b2b45edf2a98cf9dc70c15ea1b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/caching/zipball/ce04a24e03230a3ad163540aab46635c220163ed", - "reference": "ce04a24e03230a3ad163540aab46635c220163ed", + "url": "https://api.github.com/repos/nette/caching/zipball/f60c1767fe5a4b2b45edf2a98cf9dc70c15ea1b1", + "reference": "f60c1767fe5a4b2b45edf2a98cf9dc70c15ea1b1", "shasum": "" }, "require": { @@ -2099,9 +2049,9 @@ "nette/nette": "<2.2" }, "require-dev": { - "latte/latte": "~2.4", + "latte/latte": "~2.3.0", "nette/di": "~2.3", - "nette/tester": "~1.4" + "nette/tester": "~1.6" }, "type": "library", "extra": { @@ -2123,16 +2073,16 @@ "authors": [ { "name": "David Grudl", - "homepage": "http://davidgrudl.com" + "homepage": "https://davidgrudl.com" }, { "name": "Nette Community", - "homepage": "http://nette.org/contributors" + "homepage": "https://nette.org/contributors" } ], "description": "Nette Caching Component", - "homepage": "http://nette.org", - "time": "2015-09-07 11:57:44" + "homepage": "https://nette.org", + "time": "2015-11-29 21:35:25" }, { "name": "nette/component-model", @@ -2186,29 +2136,29 @@ }, { "name": "nette/di", - "version": "v2.3.6", + "version": "v2.3.7", "source": { "type": "git", "url": "https://github.com/nette/di.git", - "reference": "efa1d13f016b58b4a9200802c9c5b14d10d72e85" + "reference": "7595c0bc17125b6ac3bb8f857b7c9b1be743c762" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/di/zipball/efa1d13f016b58b4a9200802c9c5b14d10d72e85", - "reference": "efa1d13f016b58b4a9200802c9c5b14d10d72e85", + "url": "https://api.github.com/repos/nette/di/zipball/7595c0bc17125b6ac3bb8f857b7c9b1be743c762", + "reference": "7595c0bc17125b6ac3bb8f857b7c9b1be743c762", "shasum": "" }, "require": { "nette/neon": "^2.3.3", "nette/php-generator": "^2.3.3", - "nette/utils": "~2.3", + "nette/utils": "^2.3.5", "php": ">=5.3.1" }, "conflict": { "nette/nette": "<2.2" }, "require-dev": { - "nette/tester": "~1.3" + "nette/tester": "^1.6" }, "type": "library", "autoload": { @@ -2225,16 +2175,16 @@ "authors": [ { "name": "David Grudl", - "homepage": "http://davidgrudl.com" + "homepage": "https://davidgrudl.com" }, { "name": "Nette Community", - "homepage": "http://nette.org/contributors" + "homepage": "https://nette.org/contributors" } ], "description": "Nette Dependency Injection Component", - "homepage": "http://nette.org", - "time": "2015-09-14 18:18:24" + "homepage": "https://nette.org", + "time": "2015-11-13 12:34:13" }, { "name": "nette/finder", @@ -2342,16 +2292,16 @@ }, { "name": "nette/mail", - "version": "v2.3.3", + "version": "v2.3.4", "source": { "type": "git", "url": "https://github.com/nette/mail.git", - "reference": "4ea303d96c6a80ffe357baf59d387f4fe2cfd412" + "reference": "3b8ba96407029d94d83177086bcb5e1fe0046929" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/mail/zipball/4ea303d96c6a80ffe357baf59d387f4fe2cfd412", - "reference": "4ea303d96c6a80ffe357baf59d387f4fe2cfd412", + "url": "https://api.github.com/repos/nette/mail/zipball/3b8ba96407029d94d83177086bcb5e1fe0046929", + "reference": "3b8ba96407029d94d83177086bcb5e1fe0046929", "shasum": "" }, "require": { @@ -2393,7 +2343,7 @@ ], "description": "Nette Mail: Sending E-mails", "homepage": "https://nette.org", - "time": "2015-10-05 12:58:01" + "time": "2015-11-29 22:09:25" }, { "name": "nette/neon", @@ -2444,16 +2394,16 @@ }, { "name": "nette/php-generator", - "version": "v2.3.4", + "version": "v2.3.5", "source": { "type": "git", "url": "https://github.com/nette/php-generator.git", - "reference": "846028e9d885d2d8ec60823d995e1291bbe3eb69" + "reference": "224730a45e0cd6e76e692997a3d981a592f80b5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/php-generator/zipball/846028e9d885d2d8ec60823d995e1291bbe3eb69", - "reference": "846028e9d885d2d8ec60823d995e1291bbe3eb69", + "url": "https://api.github.com/repos/nette/php-generator/zipball/224730a45e0cd6e76e692997a3d981a592f80b5d", + "reference": "224730a45e0cd6e76e692997a3d981a592f80b5d", "shasum": "" }, "require": { @@ -2490,7 +2440,7 @@ ], "description": "Nette PHP Generator", "homepage": "https://nette.org", - "time": "2015-10-09 14:34:13" + "time": "2015-11-29 22:14:37" }, { "name": "nette/reflection", @@ -2705,16 +2655,16 @@ }, { "name": "nette/utils", - "version": "v2.3.6", + "version": "v2.3.7", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "c9dfaec788eb65d5ef10cefed0ae63bc76febaa8" + "reference": "6f1ed73088c28a24acc9657ca14b3418a270e24b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/c9dfaec788eb65d5ef10cefed0ae63bc76febaa8", - "reference": "c9dfaec788eb65d5ef10cefed0ae63bc76febaa8", + "url": "https://api.github.com/repos/nette/utils/zipball/6f1ed73088c28a24acc9657ca14b3418a270e24b", + "reference": "6f1ed73088c28a24acc9657ca14b3418a270e24b", "shasum": "" }, "require": { @@ -2756,7 +2706,7 @@ ], "description": "Nette Utility Classes", "homepage": "https://nette.org", - "time": "2015-10-05 12:18:24" + "time": "2015-11-30 00:11:35" }, { "name": "phpdocumentor/reflection-docblock", @@ -3109,16 +3059,16 @@ }, { "name": "phpunit/phpunit", - "version": "4.8.18", + "version": "4.8.21", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "fa33d4ad96481b91df343d83e8c8aabed6b1dfd3" + "reference": "ea76b17bced0500a28098626b84eda12dbcf119c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fa33d4ad96481b91df343d83e8c8aabed6b1dfd3", - "reference": "fa33d4ad96481b91df343d83e8c8aabed6b1dfd3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea76b17bced0500a28098626b84eda12dbcf119c", + "reference": "ea76b17bced0500a28098626b84eda12dbcf119c", "shasum": "" }, "require": { @@ -3177,7 +3127,7 @@ "testing", "xunit" ], - "time": "2015-11-11 11:32:49" + "time": "2015-12-12 07:45:58" }, { "name": "phpunit/phpunit-mock-objects", @@ -3301,28 +3251,28 @@ }, { "name": "sebastian/diff", - "version": "1.3.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "~4.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -3345,24 +3295,24 @@ } ], "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ "diff" ], - "time": "2015-02-22 15:13:53" + "time": "2015-12-08 07:14:41" }, { "name": "sebastian/environment", - "version": "1.3.2", + "version": "1.3.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44" + "reference": "6e7133793a8e5a5714a551a8324337374be209df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44", - "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6e7133793a8e5a5714a551a8324337374be209df", + "reference": "6e7133793a8e5a5714a551a8324337374be209df", "shasum": "" }, "require": { @@ -3399,7 +3349,7 @@ "environment", "hhvm" ], - "time": "2015-08-03 06:14:51" + "time": "2015-12-02 08:37:27" }, { "name": "sebastian/exporter", @@ -3520,16 +3470,16 @@ }, { "name": "sebastian/recursion-context", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba" + "reference": "913401df809e99e4f47b27cdd781f4a258d58791" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba", - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791", "shasum": "" }, "require": { @@ -3569,7 +3519,7 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-06-21 08:04:50" + "time": "2015-11-11 19:50:13" }, { "name": "sebastian/version", @@ -3608,20 +3558,20 @@ }, { "name": "seld/jsonlint", - "version": "1.3.1", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "863ae85c6d3ef60ca49cb12bd051c4a0648c40c4" + "reference": "66834d3e3566bb5798db7294619388786ae99394" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/863ae85c6d3ef60ca49cb12bd051c4a0648c40c4", - "reference": "863ae85c6d3ef60ca49cb12bd051c4a0648c40c4", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/66834d3e3566bb5798db7294619388786ae99394", + "reference": "66834d3e3566bb5798db7294619388786ae99394", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^5.3 || ^7.0" }, "bin": [ "bin/jsonlint" @@ -3650,29 +3600,30 @@ "parser", "validator" ], - "time": "2015-01-04 21:18:15" + "time": "2015-11-21 02:21:41" }, { "name": "symfony/console", - "version": "v2.7.6", + "version": "v2.8.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "5efd632294c8320ea52492db22292ff853a43766" + "reference": "d232bfc100dfd32b18ccbcab4bcc8f28697b7e41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/5efd632294c8320ea52492db22292ff853a43766", - "reference": "5efd632294c8320ea52492db22292ff853a43766", + "url": "https://api.github.com/repos/symfony/console/zipball/d232bfc100dfd32b18ccbcab4bcc8f28697b7e41", + "reference": "d232bfc100dfd32b18ccbcab4bcc8f28697b7e41", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/process": "~2.1" + "symfony/event-dispatcher": "~2.1|~3.0.0", + "symfony/process": "~2.1|~3.0.0" }, "suggest": { "psr/log": "For using the console logger", @@ -3682,13 +3633,16 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Console\\": "" - } + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3706,11 +3660,11 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2015-10-20 14:38:46" + "time": "2015-11-30 12:35:10" }, { "name": "symfony/options-resolver", - "version": "v2.6.11", + "version": "v2.6.12", "target-dir": "Symfony/Component/OptionsResolver", "source": { "type": "git", @@ -3763,18 +3717,74 @@ ], "time": "2015-05-13 11:33:56" }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "0b6a8940385311a24e060ec1fe35680e17c74497" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0b6a8940385311a24e060ec1fe35680e17c74497", + "reference": "0b6a8940385311a24e060ec1fe35680e17c74497", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, { "name": "symfony/yaml", - "version": "v2.7.6", + "version": "v2.8.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "eca9019c88fbe250164affd107bc8057771f3f4d" + "reference": "f79824187de95064a2f5038904c4d7f0227fedb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/eca9019c88fbe250164affd107bc8057771f3f4d", - "reference": "eca9019c88fbe250164affd107bc8057771f3f4d", + "url": "https://api.github.com/repos/symfony/yaml/zipball/f79824187de95064a2f5038904c4d7f0227fedb5", + "reference": "f79824187de95064a2f5038904c4d7f0227fedb5", "shasum": "" }, "require": { @@ -3783,13 +3793,16 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\Yaml\\": "" - } + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3807,20 +3820,20 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2015-10-11 09:39:48" + "time": "2015-11-30 12:35:10" }, { "name": "tracy/tracy", - "version": "v2.3.6", + "version": "v2.3.7", "source": { "type": "git", "url": "https://github.com/nette/tracy.git", - "reference": "79831c75b6f48fcb897d25ccae5deec358cb2142" + "reference": "eddb369f320b86fe37838bbbfb12d79ddd21d134" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/tracy/zipball/79831c75b6f48fcb897d25ccae5deec358cb2142", - "reference": "79831c75b6f48fcb897d25ccae5deec358cb2142", + "url": "https://api.github.com/repos/nette/tracy/zipball/eddb369f320b86fe37838bbbfb12d79ddd21d134", + "reference": "eddb369f320b86fe37838bbbfb12d79ddd21d134", "shasum": "" }, "require": { @@ -3862,14 +3875,12 @@ "debugger", "nette" ], - "time": "2015-10-28 23:49:21" + "time": "2015-11-30 00:50:47" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": { - "devristo/phpws": 20 - }, + "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": { diff --git a/src/RealTimeClient.php b/src/RealTimeClient.php index fc287de..1c41526 100644 --- a/src/RealTimeClient.php +++ b/src/RealTimeClient.php @@ -1,9 +1,11 @@ wsFactory = $wsFactory ?: new WebSocketFactory($loop); + } + /** * Connects to the real-time messaging server. * @@ -101,19 +125,10 @@ public function connect() $this->dms[$data['id']] = new DirectMessageChannel($this, $data); } - // Make a dummy log to make PHPWS happy - $logger = new \Zend\Log\Logger(); - $logger->addWriter(new \Zend\Log\Writer\Noop()); - // initiate the websocket connection - $this->websocket = new WebSocket($responseData['url'], $this->loop, $logger); - $this->websocket->on('message', function ($message) { - $this->onMessage($message); - }); - - return $this->websocket->open(); + return $this->newWebSocket($responseData['url']); }, function($exception) use ($deferred) { - // if connection was not succesfull + // if connection was not successful $deferred->reject(new ConnectionException( 'Could not connect to Slack API: '. $exception->getMessage(), $exception->getCode() @@ -121,7 +136,9 @@ public function connect() }) // then wait for the connection to be ready. - ->then(function () use ($deferred) { + ->then(function (WebSocket $socket) use ($deferred) { + $this->websocket = $socket; + $this->once('hello', function () use ($deferred) { $deferred->resolve(); }); @@ -269,15 +286,30 @@ public function postMessage(Message $message) } /** - * Handles incoming websocket messages, parses them, and emits them as remote events. + * Creates a new WebSocket for the given URL. * - * @param WebSocketMessageInterface $messageRaw A websocket message. + * @param string $url WebSocket URL. + * @return \React\Promise\PromiseInterface */ - private function onMessage(WebSocketMessageInterface $message) + private function newWebSocket($url) { - // parse the message and get the event name - $payload = Payload::fromJson($message->getData()); + return $this->wsFactory->__invoke($url)->then(function (WebSocket $socket) { + $socket->on('message', function ($data) { + // parse the message and get the event name + $this->onMessage(Payload::fromJson($data)); + }); + + return $socket; + }); + } + /** + * Handles incoming websocket messages and emits them as remote events. + * + * @param Payload $payload A websocket message. + */ + private function onMessage(Payload $payload) + { if (isset($payload['type'])) { switch ($payload['type']) { case 'hello':