Commit Graph

109 Commits

Author SHA1 Message Date
Chris Boden
ba8289c7d9 Minor updates 2013-01-05 13:04:43 -05:00
Chris Boden
293ebb3473 Cleaning 2013-01-04 19:52:57 -05:00
Chris Boden
48f95fc556 Merge pull request #52 from pborreli/typos
Fixed typos
2012-10-13 10:53:04 -07:00
Pascal Borreli
26342eb92d Fixed typos 2012-10-11 18:33:29 +00:00
Vladimir Kartaviy
cc1717030f Rewritten sub protocols string building 2012-09-22 04:01:28 +03:00
Vladimir Kartaviy
399d22550a #49 Fixed WsServer::getSubProtocolString method return value and related unit-test 2012-09-22 01:18:53 +03:00
Chris Boden
491919f7dc [WebSocket] Connection API
All implementations of ConnectionInterface return themselves
2012-07-22 20:05:04 -04:00
Chris Boden
faa4083b81 API documentation 2012-07-22 11:25:55 -04:00
Chris Boden
fbe1d1763b [WebSocket] Closing frame bug fix 2012-07-15 12:15:54 -04:00
Chris Boden
a2edc02d97 [WebSocket] Performance
No more sprintf calls
2012-07-15 11:57:42 -04:00
Chris Boden
2f8bb3395b [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
bb38fbb14b [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
52fbb59808 [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
e42a8c3d7a Micro optimization on RFC Frame 2012-07-13 15:00:00 -04:00
Chris Boden
22c0ea19d9 [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
59725ebc2d mbstring no longer required for Ratchet 2012-07-12 15:41:30 -04:00
Chris Boden
87bac1a0d3 API docs 2012-07-12 15:21:54 -04:00
Chris Boden
37b8170eb1 [WebSocket] UTF-8 checking
mb_check_encoding first, as it's much faster, fail fast
Only do the other check if message is under 10k characters
Large payloads crawl otherwise
2012-07-12 13:29:12 -04:00
Chris Boden
ae9524a178 [WebSocket] UTF-8 checks
New method to check UTF-8
All non-binary AB tests passing
2012-07-12 12:12:08 -04:00
Chris Boden
cb163a7576 API docs and cleanup 2012-07-11 15:43:54 -04:00
Chris Boden
6fbd8cae93 Cleanup 2012-07-11 11:00:44 -04:00
Chris Boden
89660863c3 [WebSocket][Tests] Passing AB tests 3.* and 7.* 2012-07-11 10:45:34 -04:00
Chris Boden
693cda9526 [WebSocket] Added missing method
Re-added the disableVersion method to WsServer
Updated composer meta
Updated composer lock file with latest React changes
2012-07-09 15:28:40 -04:00
Chris Boden
46249d0579 [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
5c8d11b8b3 [WebSocket] RFC Fragmentation
AB tests 5.* passing
Refs #13
2012-06-16 12:20:14 -04:00
Chris Boden
90c3d2107b [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
653d8fb482 [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
ed83f67a84 Merge branch 'refs/heads/ws-refactor' 2012-06-15 10:07:23 -04:00
Chris Boden
2b9e4a4aee CS 2012-06-15 09:56:16 -04:00
Chris Boden
c0d0c9d2bc [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
8770c361bc [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
f0a277cec9 [WebSocket] Cleanup
Removed some obsolete code
Handshakes always returns a response
2012-06-14 11:24:18 -04:00
Chris Boden
412f5c2d07 [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
305865a938 [WebSocket] Cleanup
Added a couple coverage unit tests
CS
2012-06-13 23:06:12 -04:00
Chris Boden
1c34e12be8 [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
ac660017fe CS 2012-06-12 20:49:05 -04:00
Chris Boden
6cbf0eb186 [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
b05552b219 Revert "[WebSocket] Frame concatenation"
This reverts commit 53354cd967d60115f9ab2bd833d3b0650bbd175c.
2012-06-07 09:05:36 -04:00
Chris Boden
a563fa3b0e [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
9670876e51 [WebSocket] Refactored Frame masking/payload 2012-06-03 12:14:53 -04:00
Chris Boden
08d7d6f8a0 [WebSocket] RFC Masking
Full un/masking capabilities on RFC6455 Frames
2012-06-03 11:55:35 -04:00
Chris Boden
49d1dc33ef [WebSocket] Frame masking 2012-06-03 02:03:16 -04:00
Chris Boden
8e30b861c7 [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
0326ac99bd [WebSocket] Frame overflow 2012-06-02 21:11:29 -04:00
Chris Boden
cea538429d [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
8e0175494d 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
0caa6e814b Minor cleanups 2012-05-21 13:16:33 -04:00
Chris Boden
bf808d4c61 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
d383f3e829 [WebSocket] Un-framing encoding
Parsing incoming RFC6455 frames with mb_string
2012-05-20 02:03:53 -04:00
Chris Boden
ee40816fe4 [WebSocket] Message refactoring
Moved the message buffering into its own class
2012-05-20 01:04:09 -04:00