Class: Spider::HTTP::MongrelIO
- Inherits:
-
ControllerIO
- Object
- IO
- ControllerIO
- Spider::HTTP::MongrelIO
- Defined in:
- lib/spiderfw/http/adapters/mongrel.rb
Constant Summary
Constants inherited from ControllerIO
Class Method Summary collapse
Instance Method Summary collapse
- #flush ⇒ Object
-
#initialize(response, controller_response) ⇒ MongrelIO
constructor
A new instance of MongrelIO.
- #send_headers ⇒ Object
- #write(msg) ⇒ Object
Methods inherited from ControllerIO
Constructor Details
#initialize(response, controller_response) ⇒ MongrelIO
Returns a new instance of MongrelIO.
35 36 37 38 |
# File 'lib/spiderfw/http/adapters/mongrel.rb', line 35 def initialize(response, controller_response) @response = response @controller_response = controller_response end |
Class Method Details
.send_headers(controller_response, response) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/spiderfw/http/adapters/mongrel.rb', line 48 def self.send_headers(controller_response, response) begin controller_response.prepare_headers response.status = controller_response.status response.send_status(nil) controller_response.headers.each do |key, val| if (val.is_a?(Array)) val.each{ |v| response.header[key] = v } else response.header[key] = val end end response.send_header rescue Errno::EPIPE, IOError end end |
Instance Method Details
#flush ⇒ Object
74 75 |
# File 'lib/spiderfw/http/adapters/mongrel.rb', line 74 def flush end |
#send_headers ⇒ Object
65 66 67 68 69 70 71 |
# File 'lib/spiderfw/http/adapters/mongrel.rb', line 65 def send_headers Spider::Logger.debug("---SENDING HEADERS----") self.class.send_headers(@controller_response, @response) end |
#write(msg) ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/spiderfw/http/adapters/mongrel.rb', line 40 def write(msg) unless @response.header_sent #Spider::Logger.debug("Sending headers because wrote #{msg}") send_headers end @response.write(msg) rescue Errno::EPIPE # FIXME: is it bad? end |