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 +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
|