class RackReverseProxy::ResponseBuilder
ResponseBuilder
knows target response building process
Attributes
options[R]
target_request[R]
uri[R]
Public Class Methods
new(target_request, uri, options)
click to toggle source
# File lib/rack_reverse_proxy/response_builder.rb, line 4 def initialize(target_request, uri, options) @target_request = target_request @uri = uri @options = options end
Public Instance Methods
fetch()
click to toggle source
# File lib/rack_reverse_proxy/response_builder.rb, line 10 def fetch setup_response target_response end
Private Instance Methods
handle_https()
click to toggle source
# File lib/rack_reverse_proxy/response_builder.rb, line 32 def handle_https return unless https? target_response.use_ssl = true end
handle_verify_mode()
click to toggle source
# File lib/rack_reverse_proxy/response_builder.rb, line 41 def handle_verify_mode return unless verify_mode? target_response.verify_mode = options[:verify_mode] end
https?()
click to toggle source
# File lib/rack_reverse_proxy/response_builder.rb, line 37 def https? "https" == uri.scheme end
read_timeout?()
click to toggle source
# File lib/rack_reverse_proxy/response_builder.rb, line 28 def read_timeout? options[:timeout].to_i > 0 end
set_read_timeout()
click to toggle source
# File lib/rack_reverse_proxy/response_builder.rb, line 23 def set_read_timeout return unless read_timeout? target_response.read_timeout = options[:timeout] end
setup_response()
click to toggle source
# File lib/rack_reverse_proxy/response_builder.rb, line 17 def setup_response set_read_timeout handle_https handle_verify_mode end
target_response()
click to toggle source
# File lib/rack_reverse_proxy/response_builder.rb, line 50 def target_response @_target_response ||= Rack::HttpStreamingResponse.new( target_request, uri.host, uri.port ) end
verify_mode?()
click to toggle source
# File lib/rack_reverse_proxy/response_builder.rb, line 46 def verify_mode? options.key?(:verify_mode) end