Class: RackReverseProxy::Middleware

Inherits:
Object
  • Object
show all
Includes:
NewRelic::Agent::Instrumentation::ControllerInstrumentation
Defined in:
lib/rack_reverse_proxy/middleware.rb

Overview

Rack middleware for handling reverse proxying

Instance Method Summary collapse

Constructor Details

#initialize(app = nil, &b) ⇒ Middleware

Returns a new instance of Middleware.



11
12
13
14
15
16
17
18
19
20
21
22
# 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

Instance Method Details

#call(env) ⇒ Object



24
25
26
# File 'lib/rack_reverse_proxy/middleware.rb', line 24

def call(env)
  RoundTrip.new(@app, env, @global_options, @rules).call
end