Commit Graph

495 Commits

Author SHA1 Message Date
Chris Boden
34fee70e04 Versioning 2012-06-17 23:04:25 -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
f176790ed8 [WebSocket] RFC compliance
Close connection if payload is not UTF-8
Fixed several AB 6.* tests
Refs #13
2012-06-16 12:49:28 -04:00
Chris Boden
cea49e714b [WebSocket] RFC Fragmentation
AB tests 5.* passing
Refs #13
2012-06-16 12:20:14 -04:00
Chris Boden
ccf7114a90 [WebSocket] RFC spec
AB fix 5.1, 5.2
Close connection on fragmented control frames
Refs #13
2012-06-16 11:54:15 -04:00
Chris Boden
f0d605a42e [WebSocket] RFC Protocol Compliance
Refs #13
Fixed AB tests: 2.5, 4.*
RFC fails connections on bad control frames
2012-06-16 11:49:46 -04:00
Chris Boden
5c521af229 Merge branch 'refs/heads/ws-refactor' 2012-06-15 10:07:23 -04:00
Chris Boden
28a28513a5 Readme 2012-06-15 10:06:14 -04:00
Chris Boden
fdff37ba60 CS 2012-06-15 09:56:16 -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
f9ce641f04 CS 2012-06-12 20:49:05 -04:00
Chris Boden
87b6b53dce Merge branch 'refs/heads/ws-ref-ctrls-msgs' into ws-refactor
Conflicts:
	composer.lock
2012-06-11 18:25:15 -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
d4ee8f9b1a Revert "[WebSocket] Frame concatenation"
This reverts commit 53354cd967.
2012-06-07 09:05:36 -04:00
Chris Boden
53354cd967 [WebSocket] Frame concatenation
If the server receives two frames that have been concatenated (RFC only) they're not separated properly
2012-06-07 09:00:31 -04:00
Chris Boden
724a15ceb2 [Server] Stream over Libevent 2012-06-03 21:26:20 -04:00
Chris Boden
b27c9700f4 [WebSocket] Refactored Frame masking/payload 2012-06-03 12:14:53 -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
e42abf912f Removed most of the mbstring calls
Moving forward we're going to assume `mbstring.func_overload` is off.
For that reason we're not going to call `mb_` functions when checking byte level strings.
2012-06-01 23:07:25 -04:00
Chris Boden
e38f81af64 Minor cleanups 2012-05-21 13:16:33 -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
232f28a1bd Merge branch 'refs/heads/master' into ws-refactor 2012-05-20 13:11:40 -04:00
Chris Boden
7c9b2ae227 Updated .gitignore 2012-05-20 12:57:34 -04:00
Chris Boden
530469295b [WebSocket] Un-framing encoding
Parsing incoming RFC6455 frames with mb_string
2012-05-20 02:03:53 -04:00
Chris Boden
e9825e0ba7 [WebSocket] Message refactoring
Moved the message buffering into its own class
2012-05-20 01:04:09 -04:00
Chris Boden
ac7cc55d5f Oops - TCI fix 2012-05-20 00:11:04 -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
27716fef78 [WebSocket] Encoding bug fix
In the handshake verifier, make sure we're checking byte length, not string length
2012-05-19 23:01:40 -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
598da1e8b0 [Server] Long running tweaks
Added commands to [IoServer] that should be called in long-running scripts
Removed version information from composer
Updated dependencies
2012-05-16 17:16:50 -04:00
Chris Boden
36212f9947 Tagging 2012-05-14 18:59:18 -04:00
Chris Boden
cfd05b0557 [Server] Close fix
Another close fix from server->client close
2012-05-14 16:58:24 -04:00
Chris Boden
6e44d6bafa [WebSocket] Bug fix on close frame 2012-05-14 16:33:46 -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
ae826aa24f [Composer] Lock update 2012-05-12 19:39:27 -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
c6f089885b Merge pull request #24 from cboden/socket-server
v0.1RC1
2012-05-11 10:17:09 -07:00