typhoeus 0.1.21 → 0.1.22
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/typhoeus.rb +1 -1
- data/lib/typhoeus/response.rb +4 -3
- data/spec/typhoeus/response_spec.rb +6 -0
- metadata +1 -1
data/lib/typhoeus.rb
CHANGED
data/lib/typhoeus/response.rb
CHANGED
@@ -21,9 +21,10 @@ module Typhoeus
|
|
21
21
|
if o.empty?
|
22
22
|
hash
|
23
23
|
else
|
24
|
-
|
25
|
-
key = o.
|
26
|
-
value = o.
|
24
|
+
i = o.index(":") || o.size
|
25
|
+
key = o.slice(0, i)
|
26
|
+
value = o.slice(i + 1, o.size)
|
27
|
+
value = value.strip unless value.nil?
|
27
28
|
if hash.has_key? key
|
28
29
|
hash[key] = [hash[key], value].flatten
|
29
30
|
else
|
@@ -41,5 +41,11 @@ describe Typhoeus::Response do
|
|
41
41
|
response.headers_hash["Set-Cookie"].should == ["_some_session=BAh7CDoGciIAOg9zZXNzaW9uX2lkIiU1OTQ2OTcwMjljMWM5ZTQwODU1NjQwYTViMmQxMTkxMjoGcyIKL2NhcnQ%3D--b4c4663932243090c961bb93d4ad5e4327064730; path=/; HttpOnly", "foo=bar; path=/;"]
|
42
42
|
response.headers_hash["Content-Type"].should == "text/html; charset=utf-8"
|
43
43
|
end
|
44
|
+
|
45
|
+
it "parses a header key that appears multiple times into an array" do
|
46
|
+
response = Typhoeus::Response.new(:headers => "HTTP/1.1 302 Found\r\nContent-Type: text/html; charset=utf-8\r\nConnection: close\r\nStatus: 302\r\nX-Powered-By: Phusion Passenger (mod_rails/mod_rack) 2.2.9\r\nLocation: http://mckenzie-greenholt1512.myshopify.com/cart\r\nX-Runtime: 22\r\nCache-Control: no-cache\r\nContent-Length: 114\r\nSet-Cookie: cart=8fdd6a828d9c89a737a52668be0cebaf; path=/; expires=Fri, 12-Mar-2010 18:30:19 GMT\r\nSet-Cookie: _session=BAh7CToPc2Vzc2lvbl9pZCIlZTQzMDQzMDg1YjI3MTQ4MzAzMTZmMWZmMWJjMTU1NmI6CWNhcnQiJThmZGQ2YTgyOGQ5Yzg5YTczN2E1MjY2OGJlMGNlYmFmOgZyIgA6BnMiDi9jYXJ0L2FkZA%3D%3D--6b0a699625caed9597580d8e9b6ca5f5e5954125; path=/; HttpOnly\r\nServer: nginx/0.6.37 + Phusion Passenger 2.2.4 (mod_rails/mod_rack)\r\nP3P: CP=\"NOI DSP COR NID ADMa OPTa OUR NOR\"\r\n\r\n")
|
47
|
+
response.headers_hash["Set-Cookie"].should include("cart=8fdd6a828d9c89a737a52668be0cebaf; path=/; expires=Fri, 12-Mar-2010 18:30:19 GMT")
|
48
|
+
response.headers_hash["Set-Cookie"].should include("_session=BAh7CToPc2Vzc2lvbl9pZCIlZTQzMDQzMDg1YjI3MTQ4MzAzMTZmMWZmMWJjMTU1NmI6CWNhcnQiJThmZGQ2YTgyOGQ5Yzg5YTczN2E1MjY2OGJlMGNlYmFmOgZyIgA6BnMiDi9jYXJ0L2FkZA%3D%3D--6b0a699625caed9597580d8e9b6ca5f5e5954125; path=/; HttpOnly")
|
49
|
+
end
|
44
50
|
end
|
45
51
|
end
|