rack-proxy 0.3.4 → 0.3.5
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.
- data/Readme +2 -0
- data/lib/net_http_hacked.rb +1 -1
- data/lib/rack/http_streaming_response.rb +7 -1
- data/lib/rack/proxy.rb +3 -1
- metadata +6 -8
data/Readme
CHANGED
data/lib/net_http_hacked.rb
CHANGED
@@ -4,6 +4,8 @@ module Rack
|
|
4
4
|
|
5
5
|
# Wraps the hacked net/http in a Rack way.
|
6
6
|
class HttpStreamingResponse
|
7
|
+
attr_accessor :use_ssl
|
8
|
+
|
7
9
|
def initialize(request, host, port = nil)
|
8
10
|
@request, @host, @port = request, host, port
|
9
11
|
end
|
@@ -54,7 +56,11 @@ module Rack
|
|
54
56
|
|
55
57
|
# Net::HTTP
|
56
58
|
def session
|
57
|
-
@session ||=
|
59
|
+
@session ||= begin
|
60
|
+
http = Net::HTTP.new @host, @port
|
61
|
+
http.use_ssl = self.use_ssl
|
62
|
+
http.start
|
63
|
+
end
|
58
64
|
end
|
59
65
|
|
60
66
|
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.3.
|
8
|
+
VERSION = "0.3.5"
|
9
9
|
|
10
10
|
def call(env)
|
11
11
|
rewrite_response(perform_request(rewrite_env(env)))
|
@@ -41,6 +41,8 @@ module Rack
|
|
41
41
|
|
42
42
|
# Create a streaming response (the actual network communication is deferred, a.k.a. streamed)
|
43
43
|
target_response = HttpStreamingResponse.new(target_request, source_request.host, source_request.port)
|
44
|
+
|
45
|
+
target_response.use_ssl = "https" == source_request.scheme
|
44
46
|
|
45
47
|
[target_response.status, target_response.headers, target_response.body]
|
46
48
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-proxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 25
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 5
|
10
|
+
version: 0.3.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jacek Becela
|
@@ -15,8 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
18
|
+
date: 2012-01-09 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: rack
|
@@ -70,7 +69,6 @@ files:
|
|
70
69
|
- test/net_http_hacked_test.rb
|
71
70
|
- test/rack_proxy_test.rb
|
72
71
|
- test/test_helper.rb
|
73
|
-
has_rdoc: true
|
74
72
|
homepage: http://rubygems.org/gems/rack-proxy
|
75
73
|
licenses: []
|
76
74
|
|
@@ -100,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
98
|
requirements: []
|
101
99
|
|
102
100
|
rubyforge_project: rack-proxy
|
103
|
-
rubygems_version: 1.
|
101
|
+
rubygems_version: 1.8.10
|
104
102
|
signing_key:
|
105
103
|
specification_version: 3
|
106
104
|
summary: A request/response rewriting HTTP proxy. A Rack app.
|