Commit Graph

235 Commits

Author SHA1 Message Date
Grégoire Pineau
3a8578bd17 CS (eof_ending) 2014-03-21 16:46:43 +01:00
Laurynas Veržukauskas
b7b0a6d2f4 PHP5.3 fix 2014-03-19 18:28:28 +02:00
Laurynas Veržukauskas
27d3939d30 Test added 2014-03-18 22:28:18 +02:00
Chris Boden
930130cab3 [Session] Construct/onOpen use HttpServerInterface 2014-02-17 11:29:43 -05:00
Chris Boden
c11ecd9fb4 [Sessions] Decouple interface from WS, align with HTTP 2014-02-17 11:23:35 -05:00
Chris Boden
dffb8d2c1f [WAMP] CS, added unit tests for new features, 100% on WAMP 2014-02-16 19:09:54 -05:00
Konstantin Burkalev
48352fce63 Code fix for pull request 165 2014-02-11 11:16:25 +04:00
Konstantin Burkalev
646c2e263a Slightly modified TopicTest to support new broadcast params 2014-02-09 14:50:07 +04:00
Chris Boden
0adf940068 [Tests] Added AB LibEv to suite, cleaned up scripts 2014-01-27 07:51:21 -05:00
Benjamin Zikarsky
1432e4f954 Skip test when pdo_sqlite isn't there but PDO is 2013-12-20 18:45:54 +01:00
Chris Boden
f50af83fa7 [Http][Security] OriginCheck + same host/origin policy
Added the Http\OriginCheck component that will only allow connections coming from desired Origins
Same host+origin policy by default: App.php, by default, will only allow connections from the given hostname
Fixes #102
2013-07-20 18:41:08 -04:00
Chris Boden
5676161277 [WebSocket] Only select one sub-protocol, fixes #103 2013-07-20 12:38:23 -04:00
Chris Boden
9a50835637 [WAMP] Message verification, fixes #105
Validate all messages follow WAMP protocol
2013-07-20 12:31:44 -04:00
Chris Boden
0dad9f1c03 Removed libuv test 2013-07-20 11:14:20 -04:00
Chris Boden
b1b5fbe1a7 [Tests] Added Guzzle integration tests 2013-06-16 17:40:38 -04:00
Chris Boden
a876770cda [Tests] Restructured test filesystem layout 2013-06-16 10:12:48 -04:00
Chris Boden
0edd37af3f Hostname check verification refs #102
host parameter of App now verified on incoming connections
2013-06-09 14:09:57 -04:00
Chris Boden
40f267834a Merge branch 'refs/heads/master' (v0.2.7) into 0.3
Conflicts:
	CHANGELOG.md
	composer.json
	composer.lock
	src/Ratchet/ConnectionInterface.php
	src/Ratchet/WebSocket/Version/HyBi10.php
	src/Ratchet/WebSocket/Version/RFC6455.php
	src/Ratchet/WebSocket/WsServer.php
2013-06-09 12:04:42 -04:00
Chris Boden
435315c782 Fixed broken unit test with Symfony 2.3 2013-06-09 11:21:39 -04:00
Chris Boden
37d1339359 [Tests] Refactor AB Fuzzing
AbFuzzyServer is now first class EchoServer
Updated meta files
Cleaned up a WAMP unit test slightly
composer alpha7
2013-05-08 20:32:02 -04:00
Chris Boden
8c05486740 [Server] Full coverage on flash 2013-04-30 21:30:16 -04:00
Chris Boden
ec9bef4ee1 [Http] Router tests 2013-04-30 21:09:49 -04:00
Chris Boden
4c1073883a [Tests] Skip serializer if not available (TravisCI) 2013-04-28 15:58:22 -04:00
Chris Boden
344818d0f5 [Tests] Bring up unit testing coverage
Coverage on Http and Session
Set version to 0.3-beta
Cleaned up a couple API doc things
Removed Origin code from RFC, will be moved to Http
2013-04-28 15:25:16 -04:00
Chris Boden
1ea0bd3255 [Http] Cleanup and parse error fix 2013-04-27 16:51:24 -04:00
Chris Boden
38df976768 [Http] Fixed tests, upgraded React 2013-04-27 11:22:56 -04:00
Chris Boden
5c41b2fbe1 [Http][Tests] Refactored unit tests, added new for HTTP 2013-04-27 10:27:45 -04:00
Chris Boden
c24cdf379e [Http] Accept RouteCollection, spike CORS protection 2013-04-26 21:06:34 -04:00
Chris Boden
ba76600214 [Http] Fixed broken unit tests 2013-04-19 22:40:16 -04:00
Chris Boden
69afb3de1f [Http] Fixed broken unit tests 2013-04-14 18:42:30 -04:00
Chris Boden
3f64caf8cb Minor doc corrections 2013-04-13 10:55:28 -04:00
Chris Boden
92f3844a53 [WebSocket] Prevent division by 0 in Hixie handshake 2013-03-31 14:16:40 -04:00
Chris Boden
3030c81f03 [WebSocket] Fixed Hixie handshake bug (for real this time)
refs #80
2013-03-31 14:02:10 -04:00
Chris Boden
51f46332ad [WebSocket] Fixed failing Hixie handshake bug
refs #80
2013-03-31 11:41:31 -04:00
Chris Boden
492d1985d4 [WebSocket] New failing test for Hixie fragmentation bug
refs #80
2013-03-30 15:07:11 -04:00
Chris Boden
1b941a3112 AB testing
Added libuv to test suite
Set port 8000 default unless specified; makes changing shit easier
2013-03-29 20:01:24 -04:00
Chris Boden
75bb5ac891 Cleaning 2013-01-04 19:52:57 -05:00
Chris Boden
f7399dde44 AB test adjustments
Added libev test
Added lone test for quick compliance checking
Added a test w/o UTF-8 checks to show perf
2012-11-17 19:11:30 -05:00
Chris Boden
f17350a625 Testing updates
New testing environment, adjusted automated scripts to reflect
2012-11-10 14:16:46 -05:00
Chris Boden
69e3d5a5a2 Merge pull request #52 from pborreli/typos
Fixed typos
2012-10-13 10:53:04 -07:00
Pascal Borreli
ebcc66f1bf Fixed typos 2012-10-11 18:33:29 +00:00
Vladimir Kartaviy
410550b3b2 #49 Fixed WsServer::getSubProtocolString method return value and related unit-test 2012-09-22 01:18:53 +03:00
Chris Boden
eef375ddae v0.2 references 2012-09-07 14:20:05 -04:00
Chris Boden
491d0c779c [WAMP] Removed default var from onPublish
Removed default array being set on WampServerInterface::onPublish
These methods are called by Ratchet's event components
Ratchet will never pass null values
This removes excess requirements from the end developer
2012-07-22 20:01:05 -04:00
Chris Boden
6ee81074d3 [WAMP][BCB] Property name change
Changed $conn->WAMP->topics to
$conn->WAMP->subscriptions
2012-07-22 17:55:53 -04:00
Chris Boden
e7e8936b77 Merge branch 'refs/heads/unit-tests' into 0.2-beta 2012-07-20 10:25:18 -04:00
Chris Boden
21bec3f74e [Sessions][Tests] Coverage
More code coverage on SessionProvider unit tests
Removed usage of MockConnection in favour of PHPUnit mocks
2012-07-19 12:01:18 -04:00
Chris Boden
dd8a59df69 [WAMP][Tests] Full namespace coverage
Added `has` method to Topic class
Covering all of WAMP code in unit tests
2012-07-19 11:27:31 -04:00
Chris Boden
9a317fefc7 [WAMP] Topic tests 2012-07-19 10:46:43 -04:00
Chris Boden
4a4e80a945 [Server] Tests
Increased unit test code coverage
Replaced concrete mock objects with PHPUnit mocks
2012-07-19 09:03:07 -04:00
Chris Boden
bd5b7d09aa [WAMP][Tests] Coverage
Sight bug fixes in WAMP topics
Unit tests coverage
2012-07-19 01:38:08 -04:00
Chris Boden
4078a360a8 [WAMP] Topic testing
Fixed bugs failing on Travis
More unit test coverage
2012-07-19 00:14:36 -04:00
Chris Boden
8d0cf5ffb2 [WAMP]
Lots of unit tests for new WAMP classes
Fixed parse error in TopicManager
Aliased Topic::getId -> __toString to WampConnection can work with Topics or raw protocol strings
API docs
CS
2012-07-18 23:55:59 -04:00
Chris Boden
9d0e6735db Merge branch 'refs/heads/0.2-beta' into wamp-topics
Conflicts:
	composer.lock
2012-07-18 20:34:17 -04:00
Chris Boden
b8a677a6bb [WAMP] Topic tests and fix
Fixed a bug in Topic
Created unit tests for Topic
2012-07-17 23:59:35 -04:00
Chris Boden
534375160a [Server] IoServer cleanup
Removed React event loop as a requirement; loop can be run outside
Removed Server as a requirement for Connection; wasn't used anymore
2012-07-17 17:22:51 -04:00
Chris Boden
5a80a67f03 [WAMP][BCB] Init new serer component
Moved WampServer to ServerProtocol
New WampServer component
New Topic class
2012-07-17 16:57:05 -04:00
Chris Boden
3a844edbfd [WebSocket] Performance
No more sprintf calls
2012-07-15 11:57:42 -04:00
Chris Boden
1afd42d987 PHP 5.4 tests 2012-07-14 18:52:44 -04:00
Chris Boden
e27ab9891b [WebSocket] Encoding
Added the ability to turn UTF-8 encoding checks off to increase performance
Separated encoding checks into its own set of classes
Encoding checks now use mbstring or iconv depending on availability
2012-07-14 16:44:36 -04:00
Chris Boden
188e9f04ce [Server][WebSocket] Performance
Switched IoServer::factory to use React factory (libevent stable)
Bit operations in Frame for performance gains
Added performance tests back to fuzzing config
2012-07-14 11:58:26 -04:00
Chris Boden
288f74a9f1 [WebSocket] RFC Frame tests
Removed global @coverage annotation in favour of per-method
This allows better coverage results, less false-positives
New tests: Reserved bits, masking, buffer underflows
2012-07-13 20:05:22 -04:00
Chris Boden
f86230fd16 [WebSocket] Removed deprecated code
Removed some unused Frame code in favour of newer APIs
Removed RFC's Message::frame and Frame::create methods
2012-07-13 19:58:44 -04:00
Chris Boden
0c55aa6bef Test cleanup
Added the AutobahnTestSuite Fuzzing Server to AB tests
giving another language (Python) to compare Ratchet to
Added a profile option for make
Cleaned up the tests directory structure
2012-07-13 19:53:18 -04:00
Chris Boden
14959b6ea5 PHP min req bump
PHP <= 5.3.4 now required to coincide with Symfony's updated requirement
2012-07-13 19:46:49 -04:00
Chris Boden
a2188a449e [WebSocket] Performance
Added unit tests for Rsv bit checks
Using binary operators to check bits resulting in massive performance gains
2012-07-13 11:38:16 -04:00
Chris Boden
2d9967b066 Version bump in test conf 2012-07-13 10:24:51 -04:00
Chris Boden
54b072884c Merge branch 'refs/heads/master' into 0.2-beta
Conflicts:
	composer.lock
	src/Ratchet/ConnectionInterface.php
2012-07-12 20:00:03 -04:00
Chris Boden
1e298c634b Version tagging 2012-07-12 19:52:04 -04:00
Chris Boden
fd9e03bd99 API docs and cleanup 2012-07-11 15:43:54 -04:00
Chris Boden
6115df886d README 2012-07-11 11:36:40 -04:00
Chris Boden
2c9a446efe [Tests] Skip all binary 2012-07-11 10:43:55 -04:00
Chris Boden
baed21ed8b [WebSocket] AB tests, React update output buffer
AB tests 9.* (non-binary) all passing
2012-06-17 22:47:29 -04:00
Chris Boden
5d1cabc751 [WebSocket] Fixed missing request headers bug
Accidentally removed HTTP request headers from connections
Added them back
2012-06-14 16:07:16 -04:00
Chris Boden
49d68ba7df [WebSocket] Hixie refactoring
Created parent interface for messages and frames
Created Hixie Connection
Applied updated interfaces to Hixie versions
Removed __toString on msgs/frames since there could be 2-3 types returned
2012-06-14 15:07:52 -04:00
Chris Boden
439ac1234f [WebSocket] Cleanup
Removed some obsolete code
Handshakes always returns a response
2012-06-14 11:24:18 -04:00
Chris Boden
87dcd1d510 [WebSocket] Re-scoped variable
Protecting Frame::$data to prevent overflow error
Correct frame contents is fetched from ::getContents()
2012-06-14 10:54:26 -04:00
Chris Boden
9d2939e1e8 [WebSocket] Cleanup
Added a couple coverage unit tests
CS
2012-06-13 23:06:12 -04:00
Chris Boden
f1612a603f [WebSocket] Separating responsibilities
Separated HandshakeNegotiator into HttpRequestParser and VersionManager
Moved WsConnection to Version specific Connection
2012-06-13 22:46:08 -04:00
Chris Boden
55243550af [WebSocket] Refactoring
Updated deps; React Socket notify client of shutdown
Separated core interfaces into many
Removed initial version support out of handshake negotiator
Moved message parser responsibility to each version
Removed __toString method from MessageInterface as to not confuse message from payload
Support for RFC control frames
Support message concatenation
[BCB] (temporary) WsConnection hard coded to RFC version
Handshake checks for \r\n\r\n anywhere, not just at end of string
2012-06-09 19:38:44 -04:00
Chris Boden
3a530c8c24 [WebSocket] RFC Masking
Full un/masking capabilities on RFC6455 Frames
2012-06-03 11:55:35 -04:00
Chris Boden
9f0e29fe7f [WebSocket] Frame masking 2012-06-03 02:03:16 -04:00
Chris Boden
54479da9d5 [WebSocket] Messaging
Fluent interface on MessageInterface::addFrame
RFC6455 Message unit tests
RFC handling TCP concatenation (refs #31)
2012-06-02 22:08:27 -04:00
Chris Boden
7790ef39a1 [WebSocket] Frame overflow 2012-06-02 21:11:29 -04:00
Chris Boden
291bd5da5a [WebSocket] RFC6455 Framing work
New code to create a frame
Unit tests for new code
API cleanup
2012-06-02 15:44:18 -04:00
Chris Boden
070a4f1c34 [Tests] Coverage and extension checking 2012-06-01 23:41:51 -04:00
Chris Boden
9a27adfcd8 [Tests] Multiple AB WS tests 2012-05-21 11:38:24 -04:00
Chris Boden
ff07104316 AutobahnTestSuite
Added files to test Ratchet against the AutobahnTestSuite
Bumped version v0.2b
Updated how to handle control frames to run the test suite
2012-05-20 13:24:37 -04:00
Chris Boden
0ef0410ab6 Cleanup
CS
Removed a var_dump
Removed garbage from a unit test
2012-05-19 23:57:20 -04:00
Chris Boden
935866c036 [WebSocket] Refactoring
Separated handshake negotiation into its own class
`HandshakeNegotiator` deals with Request/Response classes
These changes are geared towards separate responsibility
Refs #29
2012-05-19 23:43:30 -04:00
Chris Boden
d075b99c26 [WebSockets] Handshake encoding + case insensitivity
Updated RFC6455 handshaker to check values case insensitively
Made sure RFC6455 handshaker matches encoding properly
Added mbstring as a requirement for Ratchet
Refs #28, #30
2012-05-19 23:42:13 -04:00
Chris Boden
986edd9562 [WAMP] [BCB] Publishing
BC break: Updated the `WampServerInterface` to have a strict API
Exclude and Eligible are now always arrays acting like black/white list
Changed `uri` to `topic` to be more generic with Pub/Sub
Added unit tests for `onPublish`
2012-05-19 13:30:58 -04:00
Chris Boden
f729be2ef3 [WebSocket] [WAMP] Sub-Protocols
Updated how Ratchet handles WebSocket sub-protocols
Broke out WsServerInterface to not extend MessageInterface;
Components will instead use Interface segregation principle
WAMP is now able to work without the developer having to
manually enable the WAMP sub-protocol
2012-05-12 22:42:56 -04:00
Chris Boden
1582853255 [Server] Fixed remoteAddress not being set on Connection
Updated to latest version of `React`
Fixed bug where `$conn->remoteAddress` always returned "127.0.0.1"
This will result in IpBlackList working properly
Added unit tests for IoServer
2012-05-12 19:35:39 -04:00
Chris Boden
710ec2535f [WAMP][BCB] Subscribe protocol compliance 2012-05-10 23:14:59 -04:00
Chris Boden
ce12a977bf Filename case fix 2012-05-08 23:22:17 -04:00
Chris Boden
0d592ae875 Case sensitiviy fixes 2012-05-08 23:19:28 -04:00
Chris Boden
4735218aa0 [BCB] Namespace changes
Removed the `Component` namespace
Removed the `Resource` namespace
Renamed components:
`IOServerComponent` => `IoServer`
`WebSocketComponent` => `WsServer`
`SessionComponent` => `SessionProvider`
`WAMPServerComponent` => `WampServer`
`IpBlackListComponent` => `IpBlackList`
`FlashPolicyComponent` => `FlashPolicy`
2012-05-08 23:14:28 -04:00
Chris Boden
ef6e777f31 Guzzle changes
Taking advantage of RequestFactory LSB
New tests to make sure Guzzle returns what's expected
2012-05-08 12:46:21 -04:00
Chris Boden
decf88833c Merge branch 'refs/heads/master' into socket-server 2012-05-07 21:06:25 -04:00