rack-proxy 0.5.13 → 0.5.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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