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 +4 -4
- data/lib/rack/http_streaming_response.rb +2 -0
- data/lib/rack/proxy.rb +4 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ce5d567ab16788c94ed838096b23ab448a15afb
|
4
|
+
data.tar.gz: 7a286bd289c7225cf311e26bae4882fdbb88255a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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.
|
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-
|
11
|
+
date: 2014-04-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|