rack-proxy 0.3.6 → 0.3.7

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/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
+ gem 'rake'
4
+
3
5
  # Specify your gem's dependencies in rack-proxy.gemspec
4
6
  gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rack-proxy (0.3.4)
4
+ rack-proxy (0.3.7)
5
5
  rack
6
6
 
7
7
  GEM
@@ -10,11 +10,12 @@ GEM
10
10
  rack (1.2.1)
11
11
  rack-test (0.5.6)
12
12
  rack (>= 1.0)
13
+ rake (0.9.2.2)
13
14
 
14
15
  PLATFORMS
15
16
  ruby
16
17
 
17
18
  DEPENDENCIES
18
- rack
19
19
  rack-proxy!
20
20
  rack-test
21
+ rake
data/Rakefile CHANGED
@@ -1,3 +1,4 @@
1
+ require 'rubygems'
1
2
  require 'bundler'
2
3
  Bundler::GemHelper.install_tasks
3
4
 
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.6"
8
+ VERSION = "0.3.7"
9
9
 
10
10
  def call(env)
11
11
  rewrite_response(perform_request(rewrite_env(env)))
@@ -49,7 +49,7 @@ module Rack
49
49
 
50
50
  def extract_http_request_headers(env)
51
51
  headers = env.reject do |k, v|
52
- !(/^HTTP_[A-Z_]+$/ === k)
52
+ !(/^HTTP_[A-Z_]+$/ === k) || v.nil?
53
53
  end.map do |k, v|
54
54
  [reconstruct_header_name(k), v]
55
55
  end.inject(Utils::HeaderHash.new) do |hash, k_v|
@@ -17,7 +17,7 @@ class NetHttpHackedTest < Test::Unit::TestCase
17
17
 
18
18
  assert headers.size > 0
19
19
  assert headers["content-type"] == "text/html; charset=UTF-8"
20
- assert headers["content-length"].to_i > 0
20
+ assert !headers["date"].nil?
21
21
 
22
22
  # Body
23
23
  chunks = []
@@ -5,7 +5,6 @@ class RackProxyTest < Test::Unit::TestCase
5
5
  class TrixProxy < Rack::Proxy
6
6
  def rewrite_env(env)
7
7
  env["HTTP_HOST"] = "trix.pl"
8
-
9
8
  env
10
9
  end
11
10
  end
@@ -29,4 +28,18 @@ class RackProxyTest < Test::Unit::TestCase
29
28
  header = proxy.send(:reconstruct_header_name, "HTTP_ABC_D")
30
29
  assert header == "ABC-D"
31
30
  end
31
+
32
+ def test_extract_http_request_headers
33
+ proxy = Rack::Proxy.new
34
+ env = {
35
+ 'NOT-HTTP-HEADER' => 'test-value',
36
+ 'HTTP_ACCEPT' => 'text/html',
37
+ 'HTTP_CONNECTION' => nil
38
+ }
39
+
40
+ headers = proxy.send(:extract_http_request_headers, env)
41
+ assert headers.key?('ACCEPT')
42
+ assert !headers.key?('CONNECTION')
43
+ assert !headers.key?('NOT-HTTP-HEADER')
44
+ end
32
45
  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: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 6
10
- version: 0.3.6
9
+ - 7
10
+ version: 0.3.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jacek Becela
@@ -15,10 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-09 00:00:00 Z
18
+ date: 2012-02-02 00:00:00 +01:00
19
+ default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- name: rack
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
24
  none: false
@@ -30,9 +30,9 @@ dependencies:
30
30
  - 0
31
31
  version: "0"
32
32
  type: :runtime
33
+ name: rack
33
34
  version_requirements: *id001
34
35
  - !ruby/object:Gem::Dependency
35
- name: rack-test
36
36
  prerelease: false
37
37
  requirement: &id002 !ruby/object:Gem::Requirement
38
38
  none: false
@@ -44,6 +44,7 @@ dependencies:
44
44
  - 0
45
45
  version: "0"
46
46
  type: :development
47
+ name: rack-test
47
48
  version_requirements: *id002
48
49
  description: A Rack app that provides request/response rewriting proxy capabilities with streaming.
49
50
  email:
@@ -69,6 +70,7 @@ files:
69
70
  - test/net_http_hacked_test.rb
70
71
  - test/rack_proxy_test.rb
71
72
  - test/test_helper.rb
73
+ has_rdoc: true
72
74
  homepage: http://rubygems.org/gems/rack-proxy
73
75
  licenses: []
74
76
 
@@ -98,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
100
  requirements: []
99
101
 
100
102
  rubyforge_project: rack-proxy
101
- rubygems_version: 1.8.10
103
+ rubygems_version: 1.6.2
102
104
  signing_key:
103
105
  specification_version: 3
104
106
  summary: A request/response rewriting HTTP proxy. A Rack app.