rack-proxy 0.2.0 → 0.3.0

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -26,12 +26,25 @@ module Rack
26
26
  self
27
27
  end
28
28
 
29
+ # Can be called only once!
29
30
  def each(&block)
30
31
  response.read_body(&block)
31
32
  ensure
32
33
  session.end_request_hacked
33
34
  end
35
+
36
+ def to_s
37
+ @body ||= begin
38
+ lines = []
39
+
40
+ each do |line|
41
+ lines << line
42
+ end
34
43
 
44
+ lines.join
45
+ end
46
+ end
47
+
35
48
  protected
36
49
 
37
50
  # Net::HTTPResponse
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rack-proxy}
8
- s.version = "0.2.0"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jacek Becela"]
12
- s.date = %q{2010-01-13}
12
+ s.date = %q{2010-01-15}
13
13
  s.description = %q{A Rack app that provides request/response rewriting proxy capabilities with streaming.}
14
14
  s.email = %q{jacek.becela@gmail.com}
15
15
  s.files = [
@@ -3,16 +3,17 @@ require "rack/http_streaming_response"
3
3
 
4
4
  class HttpStreamingResponseTest < Test::Unit::TestCase
5
5
 
6
- def test_streaming
6
+ def setup
7
7
  host, req = "trix.pl", Net::HTTP::Get.new("/")
8
-
9
- response = Rack::HttpStreamingResponse.new(req, host)
10
-
8
+ @response = Rack::HttpStreamingResponse.new(req, host)
9
+ end
10
+
11
+ def test_streaming
11
12
  # Response status
12
- assert response.status == 200
13
+ assert @response.status == 200
13
14
 
14
15
  # Headers
15
- headers = response.headers
16
+ headers = @response.headers
16
17
 
17
18
  assert headers.size > 0
18
19
  assert headers["content-type"] == "text/html"
@@ -21,7 +22,7 @@ class HttpStreamingResponseTest < Test::Unit::TestCase
21
22
 
22
23
  # Body
23
24
  chunks = []
24
- response.body.each do |chunk|
25
+ @response.body.each do |chunk|
25
26
  chunks << chunk
26
27
  end
27
28
 
@@ -29,6 +30,17 @@ class HttpStreamingResponseTest < Test::Unit::TestCase
29
30
  chunks.each do |chunk|
30
31
  assert chunk.is_a?(String)
31
32
  end
33
+
34
+
35
+ end
36
+
37
+ def test_to_s
38
+ assert_equal @response.headers["Content-Length"].to_i, @response.body.to_s.size
39
+ end
40
+
41
+ def test_to_s_called_twice
42
+ body = @response.body
43
+ assert_equal body.to_s, body.to_s
32
44
  end
33
45
 
34
46
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacek Becela
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-13 00:00:00 +01:00
12
+ date: 2010-01-15 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency