Class: Rack::Proxy

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/proxy.rb

Overview

Subclass and bring your own #rewrite_request and #rewrite_response

Constant Summary collapse

VERSION =
"0.5.4"

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Proxy

Returns a new instance of Proxy.

Parameters:

  • opts (Hash) (defaults to: {})

    a customizable set of options

Options Hash (opts):

  • :backend (String, URI::HTTP)

    Backend host to proxy requests to



11
12
13
14
# File 'lib/rack/proxy.rb', line 11

def initialize(opts={})
  @streaming = opts.fetch(:streaming, true)
  @backend = URI(opts[:backend]) if opts[:backend]
end

Instance Method Details

#call(env) ⇒ Object



16
17
18
# File 'lib/rack/proxy.rb', line 16

def call(env)
  rewrite_response(perform_request(rewrite_env(env)))
end

#rewrite_env(env) ⇒ Object

Return modified env



21
22
23
# File 'lib/rack/proxy.rb', line 21

def rewrite_env(env)
  env
end

#rewrite_response(triplet) ⇒ Object

Return a rack triplet [status, headers, body]



26
27
28
# File 'lib/rack/proxy.rb', line 26

def rewrite_response(triplet)
  triplet
end