Class: Rack::Delegate::Delegator
- Inherits:
-
Object
- Object
- Rack::Delegate::Delegator
- Defined in:
- lib/rack/delegate/delegator.rb
Class Attribute Summary collapse
-
.network_error_response ⇒ Object
Returns the value of attribute network_error_response.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(url, uri_rewriter, net_http_request_rewriter) ⇒ Delegator
constructor
A new instance of Delegator.
Constructor Details
#initialize(url, uri_rewriter, net_http_request_rewriter) ⇒ Delegator
Returns a new instance of Delegator.
10 11 12 13 14 |
# File 'lib/rack/delegate/delegator.rb', line 10 def initialize(url, uri_rewriter, net_http_request_rewriter) @url = URI(url) @uri_rewriter = uri_rewriter @net_http_request_rewriter = net_http_request_rewriter end |
Class Attribute Details
.network_error_response ⇒ Object
Returns the value of attribute network_error_response.
7 8 9 |
# File 'lib/rack/delegate/delegator.rb', line 7 def network_error_response @network_error_response end |
Instance Method Details
#call(env) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/rack/delegate/delegator.rb', line 16 def call(env) rack_request = Request.new(env) net_http_request = NetHttpRequestBuilder.new(rack_request, @uri_rewriter, @net_http_request_rewriter).build http_response = Net::HTTP.start(*) do |http| http.request(net_http_request) end convert_to_rack_response(http_response) rescue TimeoutErrors # TODO: Should I let the error in as an input? network_error_response.call(env) end |