Class: Faye::WebSocket::Draft75Parser
- Inherits:
-
Object
- Object
- Faye::WebSocket::Draft75Parser
- Defined in:
- lib/faye/util/web_socket/draft75_parser.rb
Direct Known Subclasses
Instance Method Summary collapse
- #frame(data, type = nil, error_type = nil) ⇒ Object
- #handshake_response ⇒ Object
-
#initialize(web_socket) ⇒ Draft75Parser
constructor
A new instance of Draft75Parser.
- #parse(data) ⇒ Object
- #version ⇒ Object
Constructor Details
#initialize(web_socket) ⇒ Draft75Parser
Returns a new instance of Draft75Parser.
5 6 7 8 9 |
# File 'lib/faye/util/web_socket/draft75_parser.rb', line 5 def initialize(web_socket) @socket = web_socket @buffer = [] @buffering = false end |
Instance Method Details
#frame(data, type = nil, error_type = nil) ⇒ Object
29 30 31 |
# File 'lib/faye/util/web_socket/draft75_parser.rb', line 29 def frame(data, type = nil, error_type = nil) ["\x00", data, "\xFF"].map(&Faye.method(:encode)) * '' end |
#handshake_response ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/faye/util/web_socket/draft75_parser.rb', line 15 def handshake_response upgrade = "HTTP/1.1 101 Web Socket Protocol Handshake\r\n" upgrade << "Upgrade: WebSocket\r\n" upgrade << "Connection: Upgrade\r\n" upgrade << "WebSocket-Origin: #{@socket.env['HTTP_ORIGIN']}\r\n" upgrade << "WebSocket-Location: #{@socket.url}\r\n" upgrade << "\r\n" upgrade end |
#parse(data) ⇒ Object
25 26 27 |
# File 'lib/faye/util/web_socket/draft75_parser.rb', line 25 def parse(data) data.each_byte(&method(:handle_byte)) end |
#version ⇒ Object
11 12 13 |
# File 'lib/faye/util/web_socket/draft75_parser.rb', line 11 def version 'draft-75' end |