Commit Graph

26 Commits

Author SHA1 Message Date
Chris Boden
86e2484dfe Fixing more Guzzle API breaks 2013-06-01 20:24:11 -04:00
Barbarrosa
9c64881929 Fixed type conversion issue with isProtocol method in RFC6455
I encountered the following error while attempting to use Ratchet. The __toString version of the request contained the correct value (13), so I cast the result to a string before casting it to an integer. 

Notice: Object of class Guzzle\Http\Message\Header could not be converted to int in [file system path]\vendor\cboden\ratchet\src\Ratchet\WebSocket\Version\RFC6455.php on line 53
2013-05-31 22:55:00 -06:00
Chris Boden
f905e3ad1f OCD API documentation updates 2013-01-05 16:10:21 -05:00
Pascal Borreli
26342eb92d Fixed typos 2012-10-11 18:33:29 +00:00
Chris Boden
faa4083b81 API documentation 2012-07-22 11:25:55 -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
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
59725ebc2d mbstring no longer required for Ratchet 2012-07-12 15:41:30 -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
89660863c3 [WebSocket][Tests] Passing AB tests 3.* and 7.* 2012-07-11 10:45:34 -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
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
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
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
71a2b33056 Cleanup
CS
Removed a var_dump
Removed garbage from a unit test
2012-05-19 23:57:20 -04:00
Chris Boden
ef995377d1 [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
2ffcc6b0a7 [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