class WebSocket::Frame::Base
@abstract Subclass and override to implement custom frames
def error?
-
(Boolean)
- True if error is set
def error? !@error.nil? end
def include_version
-
(Boolean)
- false if protocol number is unknown, otherwise true
def include_version @handler = case @version when 75..76 then Handler::Handler75.new(self) when 0..2 then Handler::Handler75.new(self) when 3 then Handler::Handler03.new(self) when 4 then Handler::Handler04.new(self) when 5..6 then Handler::Handler05.new(self) when 7..13 then Handler::Handler07.new(self) else raise WebSocket::Error::Frame::UnknownVersion end end
def initialize(args = {})
(**args)
-
:version
(Integer
) -- Version of draft. Currently supported version are 75, 76 and 00-13. -
:code
(Integer
) -- Code for close frame. Supported by drafts > 05. -
:type
(String
) -- Type of frame - available types are "text", "binary", "ping", "pong" and "close"(support depends on draft version) -
:data
(String
) -- default data for frame
Parameters:
-
args
(Hash
) -- Arguments for frame
def initialize(args = {}) @type = args[:type].to_sym if args[:type] @code = args[:code] @data = Data.new(args[:data].to_s) @version = args[:version] || DEFAULT_VERSION @handler = nil include_version end
def support_type?
def support_type? @handler.supported_frames.include?(@type) end
def supported_frames
def supported_frames raise NotImplementedError end