class RackReverseProxy::Middleware
Rack
middleware for handling reverse proxying
Public Class Methods
new(app = nil, &b)
click to toggle source
# File lib/rack_reverse_proxy/middleware.rb, line 11 def initialize(app = nil, &b) @app = app || lambda { |_| [404, [], []] } @rules = [] @global_options = { :preserve_host => true, :preserve_encoding => false, :x_forwarded_headers => true, :matching => :all, :replace_response_host => false } instance_eval(&b) if block_given? end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack_reverse_proxy/middleware.rb, line 24 def call(env) RoundTrip.new(@app, env, @global_options, @rules).call end
Private Instance Methods
reverse_proxy(rule, url = nil, opts = {})
click to toggle source
# File lib/rack_reverse_proxy/middleware.rb, line 34 def reverse_proxy(rule, url = nil, opts = {}) if rule.is_a?(String) && url.is_a?(String) && URI(url).class == URI::Generic raise Errors::GenericURI.new, url end @rules << Rule.new(rule, url, opts) end
reverse_proxy_options(options)
click to toggle source
# File lib/rack_reverse_proxy/middleware.rb, line 30 def reverse_proxy_options(options) @global_options = options end