rack-streaming-proxy 1.0.1 → 1.0.2

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/Rakefile CHANGED
@@ -17,11 +17,12 @@ Bones {
17
17
  url 'http://github.com/aniero/rack-streaming-proxy'
18
18
  version Rack::StreamingProxy::VERSION
19
19
  ignore_file '.gitignore'
20
- depend_on "rack", :version => "~> 1.0.1"
20
+ depend_on "rack", :version => "~> 1.1.0"
21
21
  depend_on "servolux", :version => "~> 0.8.1"
22
22
  depend_on "rack-test", :version => "~> 0.5.1", :development => true
23
23
  spec {
24
24
  opts ["--colour", "--loadby mtime", "--reverse", "--diff unified"]
25
25
  }
26
+ enable_sudo
26
27
  }
27
28
 
@@ -4,7 +4,7 @@ module Rack
4
4
  class Error < StandardError; end
5
5
 
6
6
  # :stopdoc:
7
- VERSION = '1.0.1'
7
+ VERSION = '1.0.2'
8
8
  LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
9
9
  PATH = ::File.expand_path(::File.join(::File.dirname(__FILE__), "..", "..")) + ::File::SEPARATOR
10
10
  # :startdoc:
@@ -19,7 +19,9 @@ class Rack::StreamingProxy
19
19
  end
20
20
 
21
21
  %w(Accept Accept-Encoding Accept-Charset
22
- X-Requested-With Referer User-Agent Cookie).each do |header|
22
+ X-Requested-With Referer User-Agent Cookie
23
+ Authorization
24
+ ).each do |header|
23
25
  key = "HTTP_#{header.upcase.gsub('-', '_')}"
24
26
  proxy_request[header] = request.env[key] if request.env[key]
25
27
  end
@@ -52,11 +54,15 @@ class Rack::StreamingProxy
52
54
  @headers = HeaderHash.new(read_from_child)
53
55
  end
54
56
  rescue => e
55
- @piper.parent { raise }
56
- @piper.child { @piper.puts e }
57
+ if @piper
58
+ @piper.parent { raise }
59
+ @piper.child { @piper.puts e }
60
+ else
61
+ raise
62
+ end
57
63
  ensure
58
64
  # child needs to exit, always.
59
- @piper.child { exit!(0) }
65
+ @piper.child { exit!(0) } if @piper
60
66
  end
61
67
 
62
68
  def each
@@ -143,5 +143,17 @@ describe Rack::StreamingProxy do
143
143
  lambda { get "/not_proxied/boom" }.should raise_error(RuntimeError, /app error/)
144
144
  end
145
145
 
146
+ it "preserves cookies" do
147
+ set_cookie "foo"
148
+ post "/env"
149
+ YAML.load(last_response.body)["HTTP_COOKIE"].should == "foo"
150
+ end
151
+
152
+ it "preserves authentication info" do
153
+ basic_authorize "admin", "secret"
154
+ post "/env"
155
+ YAML.load(last_response.body)["HTTP_AUTHORIZATION"].should == "Basic YWRtaW46c2VjcmV0\n"
156
+ end
157
+
146
158
  end
147
159
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-streaming-proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Witmer
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-16 00:00:00 -07:00
12
+ date: 2010-01-09 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: 1.0.1
23
+ version: 1.1.0
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: servolux
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 3.0.1
53
+ version: 3.2.0
54
54
  version:
55
55
  description: Streaming proxy for Rack, the rainbows to Rack::Proxy's unicorn.
56
56
  email: nwitmer@gmail.com
@@ -62,7 +62,6 @@ extra_rdoc_files:
62
62
  - History.txt
63
63
  - README.txt
64
64
  files:
65
- - .gitignore
66
65
  - History.txt
67
66
  - README.txt
68
67
  - Rakefile
data/.gitignore DELETED
@@ -1,18 +0,0 @@
1
- # The list of files that should be ignored by Mr Bones.
2
- # Lines that start with '#' are comments.
3
- #
4
- # A .gitignore file can be used instead by setting it as the ignore
5
- # file in your Rakefile:
6
- #
7
- # Bones {
8
- # ignore_file '.gitignore'
9
- # }
10
- #
11
- # For a project with a C extension, the following would be a good set of
12
- # exclude patterns (uncomment them if you want to use them):
13
- # *.[oa]
14
- # *~
15
- announcement.txt
16
- coverage
17
- doc
18
- pkg