rack-proxy 0.5.13 → 0.5.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f7c71d8f5f093330b71efd20ec95ce541c396b16
4
- data.tar.gz: 1a5584b604965a50245ab35caf7da811c33a2fe4
3
+ metadata.gz: 5ce5d567ab16788c94ed838096b23ab448a15afb
4
+ data.tar.gz: 7a286bd289c7225cf311e26bae4882fdbb88255a
5
5
  SHA512:
6
- metadata.gz: 98a8805b4ae8e3c86c24c780b958a3095fb0ea1bd86eec1c103ee9634e9a8ebdb5ba62c49af6a75687902b7793c71221a12618f912f936cd36aab4884f1ef76d
7
- data.tar.gz: e77ed4762415ff980601d2c33f82d08e7d257088c60360323846a304e1df91d82cd81585b5dc65c8e185a03ceb96041f7ed6e84d82012ce8ebd08a17206025d2
6
+ metadata.gz: e9db5340034180f70ae24ba40618372f57f5eeb7db1445d3dbc6e5543058f38c5a7f0d90f2ce233861bce3cb55731325c164d6d93b0d5e559b828d5452ea163e
7
+ data.tar.gz: 5e06019e897591b0b1da6b750a44e3b52a58dc7f2b70ed8e40bb59d5240e60f08f502baa00b5f05b09dc276826b98660d322554e77cbd909c8283851b67cff32
@@ -6,6 +6,7 @@ module Rack
6
6
  class HttpStreamingResponse
7
7
  attr_accessor :use_ssl
8
8
  attr_accessor :verify_mode
9
+ attr_accessor :read_timeout
9
10
 
10
11
  def initialize(request, host, port = nil)
11
12
  @request, @host, @port = request, host, port
@@ -63,6 +64,7 @@ module Rack
63
64
  http = Net::HTTP.new @host, @port
64
65
  http.use_ssl = self.use_ssl
65
66
  http.verify_mode = self.verify_mode
67
+ http.read_timeout = self.read_timeout
66
68
  http.start
67
69
  end
68
70
  end
data/lib/rack/proxy.rb CHANGED
@@ -5,7 +5,7 @@ module Rack
5
5
 
6
6
  # Subclass and bring your own #rewrite_request and #rewrite_response
7
7
  class Proxy
8
- VERSION = "0.5.13"
8
+ VERSION = "0.5.14"
9
9
 
10
10
  class << self
11
11
  def extract_http_request_headers(env)
@@ -43,6 +43,7 @@ module Rack
43
43
  @streaming = opts.fetch(:streaming, true)
44
44
  @ssl_verify_none = opts.fetch(:ssl_verify_none, false)
45
45
  @backend = URI(opts[:backend]) if opts[:backend]
46
+ @read_timeout = opts.fetch(:read_timeout, 60)
46
47
  end
47
48
 
48
49
  def call(env)
@@ -87,12 +88,14 @@ module Rack
87
88
  backend = @backend || source_request
88
89
  use_ssl = backend.scheme == "https"
89
90
  ssl_verify_none = (env.delete('rack.ssl_verify_none') || @ssl_verify_none) == true
91
+ read_timeout = env.delete('http.read_timeout') || @read_timeout
90
92
 
91
93
  # Create the response
92
94
  if @streaming
93
95
  # streaming response (the actual network communication is deferred, a.k.a. streamed)
94
96
  target_response = HttpStreamingResponse.new(target_request, backend.host, backend.port)
95
97
  target_response.use_ssl = use_ssl
98
+ target_response.read_timeout = read_timeout
96
99
  target_response.verify_mode = OpenSSL::SSL::VERIFY_NONE if use_ssl && ssl_verify_none
97
100
  else
98
101
  start_opts = use_ssl ? {:use_ssl => use_ssl} : {}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.13
4
+ version: 0.5.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacek Becela
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-17 00:00:00.000000000 Z
11
+ date: 2014-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack