Changes for version 0.1
- MINOR BREAKING: All messages are now Net::WebSocket::Message instances; the ::text and ::binary subclasses are removed. They weren’t useful, and they complicated support for custom frame/message types.
- Fix frame RSV methods, and add tests.
- Fix Endpoint auto-response to close frames to use the correct masking.
- Use exception objects for remaining server handshake problems.
- Make Sec-WebSocket-Key validation more accurate.
- New, separate exception type for when a data frame arrives after an unfinished message.
- is_control_frame() method is renamed to is_control(). (The old name is also preserved for legacy compatibility.) Message objects have the same method, so now frames and messages are more nearly interchangeable.
- Lots of inert code is now removed.
- Lots of tests added, especially against Endpoint and Handshake.
- Ping messages now count from 1 rather than 0.
- This file is now in chronological-descending order.
Documentation
Modules
WebSocket in Perl
HTTP utilities for Net::WebSocket
logic for HTTP::Request & HTTP::Response
base class for handshake objects
WebSocket extension handshake
WebSocket per-message compression extensions
Base class for PMCE data modules.
WebSocket’s permessage-deflate extension
permessage-deflate for a client
permessage-deflate for a server
Parse WebSocket from a filehandle
Stream a WebSocket message easily
Provides
in demo/lib/NWDemo.pm
in lib/Net/WebSocket/Base/ControlFrame.pm
in lib/Net/WebSocket/Base/DataFrame.pm
in lib/Net/WebSocket/Base/ReadString.pm
in lib/Net/WebSocket/Base/Typed.pm
in lib/Net/WebSocket/Constants.pm
in lib/Net/WebSocket/Endpoint/Client.pm
in lib/Net/WebSocket/Frame/continuation.pm
in lib/Net/WebSocket/Frame/ping.pm
in lib/Net/WebSocket/Frame/pong.pm
in lib/Net/WebSocket/FrameTypeName.pm
in lib/Net/WebSocket/Mask.pm
in lib/Net/WebSocket/Masker/Client.pm
in lib/Net/WebSocket/Masker/Server.pm
in lib/Net/WebSocket/Message.pm
in lib/Net/WebSocket/PMCE/deflate/Constants.pm
in lib/Net/WebSocket/PMCE/deflate/Data.pm
in lib/Net/WebSocket/PMCE/deflate/Data/Client.pm
in lib/Net/WebSocket/PMCE/deflate/Data/Server.pm
in lib/Net/WebSocket/PingStore.pm
in lib/Net/WebSocket/Streamer/Client.pm
in lib/Net/WebSocket/X.pm
in lib/Net/WebSocket/X/BadAccept.pm
in lib/Net/WebSocket/X/BadArg.pm
in lib/Net/WebSocket/X/BadHTTPMethod.pm
in lib/Net/WebSocket/X/BadHTTPStatus.pm
in lib/Net/WebSocket/X/BadHeader.pm
in lib/Net/WebSocket/X/BadRequestProtocol.pm
in lib/Net/WebSocket/X/BadToken.pm
in lib/Net/WebSocket/X/Base.pm
in lib/Net/WebSocket/X/ControlPayloadTooLong.pm
in lib/Net/WebSocket/X/DuplicateHeader.pm
in lib/Net/WebSocket/X/EndpointAlreadyClosed.pm
in lib/Net/WebSocket/X/MissingHeaders.pm
in lib/Net/WebSocket/X/ReceivedBadControlFrame.pm
in lib/Net/WebSocket/X/ReceivedBadDataFrame.pm
in lib/Net/WebSocket/X/ReceivedClose.pm
in lib/Net/WebSocket/X/UnfinishedStream.pm
in lib/Net/WebSocket/X/UnknownExtension.pm
in lib/Net/WebSocket/X/UnknownSubprotocol.pm
in lib/Net/WebSocket/X/UnsupportedProtocolVersion.pm