Class: Angelo::Responder::Eventsource
Instance Attribute Summary
#base, #connection, #request
Instance Method Summary
collapse
content_type, #content_type, #error_message, #handle_error, #headers, #redirect, #respond_with?, symhash, #transfer_encoding
Constructor Details
#initialize(_headers = nil, &block) ⇒ Eventsource
Returns a new instance of Eventsource.
5
6
7
8
|
# File 'lib/angelo/responder/eventsource.rb', line 5
def initialize = nil, &block
if
super &block
end
|
Instance Method Details
#handle_request ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/angelo/responder/eventsource.rb', line 16
def handle_request
begin
if @response_handler
@base.filter :before
@body = catch(:halt) { @base.eventsource &@response_handler.bind(@base) }
if HALT_STRUCT === @body
raise RequestError.new 'unknown sse error' unless @body.body == :sse
end
respond
else
raise NotImplementedError
end
rescue IOError => ioe
warn "#{ioe.class} - #{ioe.message}"
rescue RequestError => re
handle_error re, re.type
rescue => e
handle_error e
end
end
|
#request=(request) ⇒ Object
10
11
12
13
14
|
# File 'lib/angelo/responder/eventsource.rb', line 10
def request= request
@params = nil
@request = request
handle_request
end
|
#respond ⇒ Object
42
43
44
45
|
# File 'lib/angelo/responder/eventsource.rb', line 42
def respond
Angelo.log @connection, @request, nil, :ok
@request.respond 200, , nil
end
|