httpi 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 2.0.2 (2013-01-26)
2
+
3
+ * Feature: Changed `HTTPI::Request#set_cookies` to accept an Array of `HTTPI::Cookie`
4
+ objects as well as any object that responds to `cookies` (like an `HTTPI::Response`).
5
+
1
6
  ## 2.0.1 (2013-01-25)
2
7
 
3
8
  * Fix: [#72](https://github.com/savonrb/httpi/pull/72) standardized response
data/lib/httpi/request.rb CHANGED
@@ -78,9 +78,15 @@ module HTTPI
78
78
  headers["Accept-Encoding"] = "gzip,deflate"
79
79
  end
80
80
 
81
- # Sets the cookies from a given +http_response+.
82
- def set_cookies(http_response)
83
- cookie_store.add *http_response.cookies
81
+ # Sets the cookies from an object responding to `cookies` (e.g. `HTTPI::Response`)
82
+ # or an Array of `HTTPI::Cookie` objects.
83
+ def set_cookies(object_or_array)
84
+ if object_or_array.respond_to?(:cookies)
85
+ cookie_store.add *object_or_array.cookies
86
+ else
87
+ cookie_store.add *object_or_array
88
+ end
89
+
84
90
  cookies = cookie_store.fetch
85
91
  headers["Cookie"] = cookies if cookies
86
92
  end
data/lib/httpi/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module HTTPI
2
2
 
3
- VERSION = "2.0.1"
3
+ VERSION = "2.0.2"
4
4
 
5
5
  end
@@ -142,11 +142,26 @@ describe HTTPI::Request do
142
142
  request.headers["Cookie"].should include("some-cookie=choc-chip", "second-cookie=oatmeal")
143
143
  end
144
144
 
145
+ it "accepts an Array of cookies" do
146
+ cookies = [
147
+ new_cookie("some-cookie=choc-chip"),
148
+ new_cookie("second-cookie=oatmeal")
149
+ ]
150
+
151
+ request.set_cookies(cookies)
152
+
153
+ request.headers["Cookie"].should include("some-cookie=choc-chip", "second-cookie=oatmeal")
154
+ end
155
+
145
156
  it "doesn't do anything if the response contains no cookies" do
146
157
  request.set_cookies HTTPI::Response.new(200, {}, "")
147
158
  request.headers.should_not include("Cookie")
148
159
  end
149
160
 
161
+ def new_cookie(cookie_string)
162
+ HTTPI::Cookie.new(cookie_string)
163
+ end
164
+
150
165
  def response_with_cookie(cookie)
151
166
  HTTPI::Response.new(200, { "Set-Cookie" => "#{cookie}; Path=/; HttpOnly" }, "")
152
167
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpi
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-01-25 00:00:00.000000000 Z
13
+ date: 2013-01-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
@@ -171,7 +171,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
171
  version: '0'
172
172
  segments:
173
173
  - 0
174
- hash: -1005658617748404150
174
+ hash: -2172357975066915796
175
175
  required_rubygems_version: !ruby/object:Gem::Requirement
176
176
  none: false
177
177
  requirements:
@@ -180,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
180
  version: '0'
181
181
  segments:
182
182
  - 0
183
- hash: -1005658617748404150
183
+ hash: -2172357975066915796
184
184
  requirements: []
185
185
  rubyforge_project: httpi
186
186
  rubygems_version: 1.8.24