Commit Graph

106 Commits

Author SHA1 Message Date
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
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
Chris Boden
afa2dacf40 [Flash] Fixed unit test coverage annotation 2012-05-07 21:06:11 -04:00
Chris Boden
5078aa2e4c Merge branch 'refs/heads/master' into socket-server 2012-05-07 21:03:01 -04:00
Chris Boden
d9bc1af385 [WAMP] Cleanup
Removed all Command classes (WAMP and global)
We-wrote WAMP unit tests to match
refs #22
2012-05-07 20:59:47 -04:00
Chris Boden
d30c8358ef [BCB] [WIP] Overhaul
React at the core of Ratchet, refs #6
Removed Commands (except WAMP), refs #22
Updated Guzzle to 2.4 branch, refs #20
Fixed some Hixie bugs, refs #21
2012-05-07 18:49:13 -04:00
Mike Almond
52b1704155 FlashPolicy all the things
$policy = new Ratchet\Component\Server\FlashPolicyComponent();
$policy->addAllowedAccess('192.168.1.120', '8000');

$io = new Ratchet\Component\Server\IOServerComponent($policy);
$io->run(843);
2012-05-07 13:44:48 -04:00
Chris Boden
af35aab345 True errors 2012-05-06 14:27:14 -04:00
Chris Boden
dbc40b821d ConnectionInterface updates
Added write/end methods to Connections
Created decorator class implementing ConnectionInterface
2012-05-06 13:18:21 -04:00
Chris Boden
8ab79d217f Guzzle update
Updated Guzzle to 2.4.1
Fixed code to pass unit tests from update
2012-05-04 18:17:23 -04:00
Mike Almond
6374bb3dac Removing a method that isn't available in sockets and fixing validation and tests 2012-05-04 10:20:24 -04:00
Mike Almond
e7ed247393 [FlashPolicy] Updating the flash policy component 2012-05-01 14:49:54 -04:00
Chris Boden
913774e072 Unit tests 2012-04-29 20:42:33 -04:00
Chris Boden
86b3343b6f [WAMP] unit tests and fix
Increases code coverage on WAMP
Fixed a bug found while writing tests
2012-04-29 19:21:29 -04:00
Chris Boden
852e5777e3 Silently fail unblock
If the user unblocks and address that was not blocked, silently fail
2012-04-29 13:53:10 -04:00
Chris Boden
550b32e1e7 IpBlackList
Fixed bug where onClose was propagated if onOpen wasn't
Filter out ports from IP4 addresses
2012-04-29 13:20:26 -04:00
Chris Boden
8f653294c5 IpBlackList unit test coverage 2012-04-29 12:48:43 -04:00
Chris Boden
47e7059ed6 Mock MessageComponent common access
Updated class to match the WAMP component
2012-04-29 12:38:37 -04:00
Chris Boden
6be16bea4a Added IpBlackListComponent
refs #4
2012-04-29 12:35:46 -04:00
Chris Boden
b0d5274985 [WAMP] Oops, committed unit tests
Adding the unit tests for WAMP to the repo!
2012-04-28 23:46:23 -04:00
Chris Boden
9e667dfc8b [WAMP] Work
Unit testing WAMP; 0 -> 84% coverage
Fixed an Event command bug
API documentation
2012-04-28 19:32:32 -04:00
Chris Boden
228d0b8627 Composite Command updates
Unit tested Composite
Corrected interface to be E_STRICT compliant
Refactored enqueue method
2012-04-28 18:25:57 -04:00
Chris Boden
b6b2099415 Merge branch 'refs/heads/symfony/sessions'
Conflicts:
	composer.json
	composer.lock
2012-04-26 21:13:48 -04:00
Chris Boden
4654acb7d6 Replaced Connection::getId() with resourceId property 2012-04-25 22:59:46 -04:00
Chris Boden
f98cda3e29 Fixed unit test namespace 2012-04-25 22:22:49 -04:00
Chris Boden
dd79245ecf Simplified
Removed magic methods from Connection(Interface)
Connection is closer to a POPO now
2012-04-25 21:58:12 -04:00