Class: SockJS::DeliveryTransport
- Inherits:
-
Transport
- Object
- Endpoint
- SessionEndpoint
- Transport
- SockJS::DeliveryTransport
- Defined in:
- lib/sockjs/transport.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Endpoint
#connection, #http_origin, #options, #remote_addr
Attributes included from Endpoint::ClassMethods
Instance Method Summary collapse
- #extract_message(request) ⇒ Object
- #get_session(response) ⇒ Object
- #process_session(session, response) ⇒ Object
- #setup_response(response) ⇒ Object
- #successful_response(response) ⇒ Object
Methods inherited from Transport
#exception_response, #handle_request, #handle_session_unavailable, #request_data, #response_beginning, #server_key, #session_key
Methods inherited from SessionEndpoint
Methods inherited from Endpoint
#build_error_response, #build_response, #call, #empty_string, #error_content_type, #format_frame, #handle, #handle_http_error, #handle_request, #initialize, #inspect, #response_class
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
Instance Method Details
#extract_message(request) ⇒ Object
332 333 334 335 336 |
# File 'lib/sockjs/transport.rb', line 332 def (request) body = request.data.read raise "Payload expected." if body.empty? return body end |
#get_session(response) ⇒ Object
346 347 348 349 350 351 352 353 354 355 |
# File 'lib/sockjs/transport.rb', line 346 def get_session(response) begin session = connection.get_session(session_key(response)) response_beginning(response) return session rescue KeyError SockJS::debug("Missing session for #{session_key(response)} - invalid request") raise SessionUnavailableError end end |
#process_session(session, response) ⇒ Object
326 327 328 329 330 |
# File 'lib/sockjs/transport.rb', line 326 def process_session(session, response) session.((response.request)) successful_response(response) end |
#setup_response(response) ⇒ Object
338 339 340 |
# File 'lib/sockjs/transport.rb', line 338 def setup_response(response) response.status = 204 end |
#successful_response(response) ⇒ Object
342 343 344 |
# File 'lib/sockjs/transport.rb', line 342 def successful_response(response) response.finish end |