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
169 170 171 |
# File 'lib/sockjs/transports/websocket.rb', line 169 def self.routing_prefix "/" + self.prefix end |
Instance Method Details
#closing_frame(response, status, message) ⇒ Object
193 194 195 |
# File 'lib/sockjs/transports/websocket.rb', line 193 def closing_frame(response, status, ) finish_response(response) end |
#extract_message(event) ⇒ Object
179 180 181 182 |
# File 'lib/sockjs/transports/websocket.rb', line 179 def (event) SockJS.debug "Received message event: #{event.data.inspect}" event.data.to_json end |
#handle_request(request) ⇒ Object
160 161 162 163 164 165 166 167 |
# File 'lib/sockjs/transports/websocket.rb', line 160 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
176 177 |
# File 'lib/sockjs/transports/websocket.rb', line 176 def heartbeat_frame(response) end |
#messages_frame(websocket, messages) ⇒ Object
184 185 186 187 188 189 190 191 |
# File 'lib/sockjs/transports/websocket.rb', line 184 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
173 174 |
# File 'lib/sockjs/transports/websocket.rb', line 173 def opening_frame(response) end |