Class: SockJS::Transports::RawWebSocket
- Inherits:
-
WebSocket
- Object
- Endpoint
- SessionEndpoint
- SockJS::Transport
- ConsumingTransport
- WebSocket
- SockJS::Transports::RawWebSocket
- Defined in:
- lib/sockjs/transports/websocket.rb
Instance Attribute Summary
Attributes inherited from Endpoint
#connection, #http_origin, #options, #remote_addr
Attributes included from Endpoint::ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #closing_frame(response, status, message) ⇒ Object
- #extract_message(event) ⇒ Object
- #handle_request(request) ⇒ Object
- #heartbeat_frame(response) ⇒ Object
- #messages_frame(websocket, messages) ⇒ Object
- #opening_frame(response) ⇒ Object
Methods inherited from WebSocket
#build_error_response, #build_response, #disabled?, #finish_response, #format_frame, #process_session, #send_data, #session_key
Methods inherited from ConsumingTransport
#finish_response, #format_frame, #get_session, #process_session, #request_closed, #send_data
Methods inherited from SockJS::Transport
#exception_response, #handle_session_unavailable, #request_data, #response_beginning, #server_key, #session_key
Methods inherited from Endpoint
#build_error_response, #build_response, #call, #empty_string, #error_content_type, #format_frame, #handle, #handle_http_error, #initialize, #inspect, #response_class, #setup_response
Methods included from Endpoint::ClassMethods
#add_route, #add_routes, #endpoints, #register, #route_conditions, #routing_prefix
Constructor Details
This class inherits a constructor from SockJS::Endpoint
Class Method Details
.routing_prefix ⇒ Object
173 174 175 |
# File 'lib/sockjs/transports/websocket.rb', line 173 def self.routing_prefix "/" + self.prefix end |
Instance Method Details
#closing_frame(response, status, message) ⇒ Object
197 198 199 |
# File 'lib/sockjs/transports/websocket.rb', line 197 def closing_frame(response, status, ) finish_response(response) end |
#extract_message(event) ⇒ Object
183 184 185 186 |
# File 'lib/sockjs/transports/websocket.rb', line 183 def (event) SockJS.debug "Received message event: #{event.data.inspect}" event.data.to_json end |
#handle_request(request) ⇒ Object
164 165 166 167 168 169 170 171 |
# File 'lib/sockjs/transports/websocket.rb', line 164 def handle_request(request) ver = request.env["sec-websocket-version"] || "" unless ['8', '13'].include?(ver) raise HttpError.new(400, 'Only supported WebSocket protocol is RFC 6455.') end super end |
#heartbeat_frame(response) ⇒ Object
180 181 |
# File 'lib/sockjs/transports/websocket.rb', line 180 def heartbeat_frame(response) end |
#messages_frame(websocket, messages) ⇒ Object
188 189 190 191 192 193 194 195 |
# File 'lib/sockjs/transports/websocket.rb', line 188 def (websocket, ) .inject(0) do |sent_count, data| send_data(websocket, data) sent_count + data.length end rescue Object => ex SockJS::debug "Error delivering messages to raw websocket: #{.inspect} #{ex.inspect}" end |
#opening_frame(response) ⇒ Object
177 178 |
# File 'lib/sockjs/transports/websocket.rb', line 177 def opening_frame(response) end |