File tree Expand file tree Collapse file tree 4 files changed +32
-2
lines changed Expand file tree Collapse file tree 4 files changed +32
-2
lines changed Original file line number Diff line number Diff line change 1
1
module HTTP
2
2
class Response
3
- attr_reader :body , :status_code
3
+ attr_reader :body , :status_code , :headers
4
4
5
5
def initialize ( native_response )
6
6
@status_code = native_response . status_line . status_code
7
7
@body = EntityUtils . to_string ( native_response . entity )
8
+
9
+ @headers = native_response . all_headers . inject ( { } ) do |map , header |
10
+ map [ header . name ] = header . value
11
+ map
12
+ end
8
13
end
9
14
end
10
15
Original file line number Diff line number Diff line change 1
1
require 'helper'
2
2
3
- class TestClientHeaders < Test ::Unit ::TestCase
3
+ class ClientHeadersTest < Test ::Unit ::TestCase
4
4
def test_get_headers
5
5
get = HTTP ::Get . new ( "/echo_header" )
6
6
get . add_headers ( :test_header => "get testing" )
Original file line number Diff line number Diff line change
1
+ require 'helper'
2
+
3
+ class ServerHeadersTest < Test ::Unit ::TestCase
4
+ def test_response_contains_server_headers
5
+ get = HTTP ::Get . new ( "/set_header" )
6
+ response = @client . execute ( get )
7
+
8
+ assert_equal ( "FooBar" , response . headers [ "Test-Header" ] )
9
+ end
10
+
11
+ def setup
12
+ @client = HTTP ::Client . new ( :default_host => "http://localhost:8080" )
13
+ end
14
+
15
+ def teardown
16
+ @client . shutdown
17
+ end
18
+ end
Original file line number Diff line number Diff line change @@ -11,9 +11,16 @@ def self.start_server
11
11
SERVER . mount ( '/redirect' , RedirectServlet )
12
12
SERVER . mount ( '/set_cookie' , SetCookieServlet )
13
13
SERVER . mount ( '/echo_cookie' , EchoCookieServlet )
14
+ SERVER . mount ( '/set_header' , SetHeaderServlet )
14
15
Thread . new { SERVER . start }
15
16
end
16
17
18
+ class SetHeaderServlet < WEBrick ::HTTPServlet ::AbstractServlet
19
+ def do_GET ( request , response )
20
+ response [ "Test-Header" ] = "FooBar"
21
+ end
22
+ end
23
+
17
24
class SetCookieServlet < WEBrick ::HTTPServlet ::AbstractServlet
18
25
def do_GET ( request , response )
19
26
response . cookies << WEBrick ::Cookie . new ( "test_cookie" , request . query [ 'cookie' ] )
You can’t perform that action at this time.
0 commit comments