httpi 0.4.0 → 0.4.1

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.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- httpi (0.3.0)
4
+ httpi (0.4.1)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
data/README.md CHANGED
@@ -3,7 +3,7 @@ HTTPI
3
3
 
4
4
  HTTPI provides a common interface for Ruby HTTP libraries.
5
5
 
6
- [Feedback](http://httpi.uservoice.com) | [Bugs](http://github.com/rubiii/httpi/issues) | [Docs](http://rubydoc.info/gems/httpi)
6
+ [Wishlist](http://httpi.uservoice.com) | [Bugs](http://github.com/rubiii/httpi/issues) | [Docs](http://rubydoc.info/gems/httpi/frames)
7
7
 
8
8
  Installation
9
9
  ------------
@@ -48,32 +48,31 @@ HTTPI
48
48
  -------------
49
49
 
50
50
  The `HTTPI` module uses one of the available adapters to execute HTTP requests.
51
- It supports GET, POST, HEAD, PUT and DELETE requests:
52
51
 
53
52
  ### GET
54
53
 
55
- .get(request, adapter = nil)
56
- .get(url, adapter = nil)
54
+ HTTPI.get(request, adapter = nil)
55
+ HTTPI.get(url, adapter = nil)
57
56
 
58
57
  ### POST
59
58
 
60
- .post(request, adapter = nil)
61
- .post(url, body, adapter = nil)
59
+ HTTPI.post(request, adapter = nil)
60
+ HTTPI.post(url, body, adapter = nil)
62
61
 
63
62
  ### HEAD
64
63
 
65
- .head(request, adapter = nil)
66
- .head(url, adapter = nil)
64
+ HTTPI.head(request, adapter = nil)
65
+ HTTPI.head(url, adapter = nil)
67
66
 
68
67
  ### PUT
69
68
 
70
- .put(request, adapter = nil)
71
- .put(url, body, adapter = nil)
69
+ HTTPI.put(request, adapter = nil)
70
+ HTTPI.put(url, body, adapter = nil)
72
71
 
73
72
  ### DELETE
74
73
 
75
- .delete(request, adapter = nil)
76
- .delete(url, adapter = nil)
74
+ HTTPI.delete(request, adapter = nil)
75
+ HTTPI.delete(url, adapter = nil)
77
76
 
78
77
  ### Notice
79
78
 
data/Rakefile CHANGED
@@ -29,7 +29,7 @@ begin
29
29
  require "rspec/core/rake_task"
30
30
 
31
31
  RSpec::Core::RakeTask.new do |t|
32
- t.pattern = "spec/httpi/*_spec.rb"
32
+ t.pattern = "spec/httpi/**/*_spec.rb"
33
33
  t.rspec_opts = %w(-fd -c)
34
34
  end
35
35
 
@@ -44,6 +44,11 @@ module HTTPI
44
44
  # Sets the Hash of HTTP headers.
45
45
  attr_writer :headers
46
46
 
47
+ # Adds a header information to accept gzipped content.
48
+ def gzip
49
+ headers["Accept-encoding"] = "gzip,deflate"
50
+ end
51
+
47
52
  attr_accessor :body, :open_timeout, :read_timeout, :auth_type
48
53
 
49
54
  # Returns whether any authentication credentials were specified.
@@ -1,5 +1,5 @@
1
1
  module HTTPI
2
2
 
3
- VERSION = "0.4.0"
3
+ VERSION = "0.4.1"
4
4
 
5
5
  end
@@ -25,7 +25,7 @@ describe HTTPI::Adapter::Curb do
25
25
 
26
26
  it "should return a valid HTTPI::Response" do
27
27
  request = HTTPI::Request.new :url => "http://example.com"
28
- adapter.get(request).should be_a_valid_httpi_response
28
+ adapter.get(request).should match_response(:body => Fixture.xml)
29
29
  end
30
30
  end
31
31
 
@@ -39,7 +39,7 @@ describe HTTPI::Adapter::Curb do
39
39
 
40
40
  it "should return a valid HTTPI::Response" do
41
41
  request = HTTPI::Request.new :url => "http://example.com"
42
- adapter.post(request).should be_a_valid_httpi_response
42
+ adapter.post(request).should match_response(:body => Fixture.xml)
43
43
  end
44
44
  end
45
45
 
@@ -53,7 +53,7 @@ describe HTTPI::Adapter::Curb do
53
53
 
54
54
  it "should return a valid HTTPI::Response" do
55
55
  request = HTTPI::Request.new :url => "http://example.com"
56
- adapter.head(request).should be_a_valid_httpi_response
56
+ adapter.head(request).should match_response(:body => Fixture.xml)
57
57
  end
58
58
  end
59
59
 
@@ -67,7 +67,7 @@ describe HTTPI::Adapter::Curb do
67
67
 
68
68
  it "should return a valid HTTPI::Response" do
69
69
  request = HTTPI::Request.new :url => "http://example.com"
70
- adapter.put(request).should be_a_valid_httpi_response
70
+ adapter.put(request).should match_response(:body => Fixture.xml)
71
71
  end
72
72
  end
73
73
 
@@ -81,7 +81,7 @@ describe HTTPI::Adapter::Curb do
81
81
 
82
82
  it "should return a valid HTTPI::Response" do
83
83
  request = HTTPI::Request.new :url => "http://example.com"
84
- adapter.delete(request).should be_a_valid_httpi_response
84
+ adapter.delete(request).should match_response(:body => "")
85
85
  end
86
86
  end
87
87
 
@@ -23,7 +23,7 @@ describe HTTPI::Adapter::HTTPClient do
23
23
  end
24
24
 
25
25
  it "should return a valid HTTPI::Response" do
26
- adapter.get(@request).should be_a_valid_httpi_response
26
+ adapter.get(@request).should match_response(:body => Fixture.xml)
27
27
  end
28
28
  end
29
29
 
@@ -35,7 +35,7 @@ describe HTTPI::Adapter::HTTPClient do
35
35
  end
36
36
 
37
37
  it "should return a valid HTTPI::Response" do
38
- adapter.post(@request).should be_a_valid_httpi_response
38
+ adapter.post(@request).should match_response(:body => Fixture.xml)
39
39
  end
40
40
  end
41
41
 
@@ -47,7 +47,7 @@ describe HTTPI::Adapter::HTTPClient do
47
47
  end
48
48
 
49
49
  it "should return a valid HTTPI::Response" do
50
- adapter.head(@request).should be_a_valid_httpi_response
50
+ adapter.head(@request).should match_response(:body => Fixture.xml)
51
51
  end
52
52
  end
53
53
 
@@ -59,7 +59,7 @@ describe HTTPI::Adapter::HTTPClient do
59
59
  end
60
60
 
61
61
  it "should return a valid HTTPI::Response" do
62
- adapter.put(@request).should be_a_valid_httpi_response
62
+ adapter.put(@request).should match_response(:body => Fixture.xml)
63
63
  end
64
64
  end
65
65
 
@@ -67,11 +67,11 @@ describe HTTPI::Adapter::HTTPClient do
67
67
  before do
68
68
  @request = HTTPI::Request.new :url => "http://example.com"
69
69
  response = HTTP::Message.new_response ""
70
- httpclient.expects(:delete).with(@request.url, nil, @request.headers).returns(response)
70
+ httpclient.expects(:delete).with(@request.url, @request.headers).returns(response)
71
71
  end
72
72
 
73
73
  it "should return a valid HTTPI::Response" do
74
- adapter.delete(@request).should be_a_valid_httpi_response
74
+ adapter.delete(@request).should match_response(:body => "")
75
75
  end
76
76
  end
77
77
 
@@ -60,6 +60,13 @@ describe HTTPI::Request do
60
60
  end
61
61
  end
62
62
 
63
+ describe "#gzip" do
64
+ it "should add the proper 'Accept-encoding' header" do
65
+ request.gzip
66
+ request.headers["Accept-encoding"].should == "gzip,deflate"
67
+ end
68
+ end
69
+
63
70
  describe "#body" do
64
71
  it "lets you specify the HTTP request body" do
65
72
  request.body = "<some>xml</some>"
@@ -1,8 +1,11 @@
1
- RSpec::Matchers.define :be_a_valid_httpi_response do
1
+ RSpec::Matchers.define :match_response do |options|
2
+ defaults = { :code => 200, :headers => {}, :body => "" }
3
+ response = defaults.merge options
4
+
2
5
  match do |actual|
3
6
  actual.should be_an(HTTPI::Response)
4
- actual.code.should == 200
5
- actual.headers.should be_a(Hash)
6
- actual.body.should == Fixture.xml
7
+ actual.code.should == response[:code]
8
+ actual.headers.should == response[:headers]
9
+ actual.body.should == response[:body]
7
10
  end
8
11
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpi
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 4
9
- - 0
10
- version: 0.4.0
8
+ - 1
9
+ version: 0.4.1
11
10
  platform: ruby
12
11
  authors:
13
12
  - Daniel Harrington
@@ -16,18 +15,16 @@ autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
17
 
19
- date: 2010-09-25 00:00:00 +02:00
18
+ date: 2010-09-28 00:00:00 +02:00
20
19
  default_executable:
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
23
22
  name: httpclient
24
23
  prerelease: false
25
24
  requirement: &id001 !ruby/object:Gem::Requirement
26
- none: false
27
25
  requirements:
28
26
  - - ~>
29
27
  - !ruby/object:Gem::Version
30
- hash: 1
31
28
  segments:
32
29
  - 2
33
30
  - 1
@@ -39,11 +36,9 @@ dependencies:
39
36
  name: curb
40
37
  prerelease: false
41
38
  requirement: &id002 !ruby/object:Gem::Requirement
42
- none: false
43
39
  requirements:
44
40
  - - ~>
45
41
  - !ruby/object:Gem::Version
46
- hash: 19
47
42
  segments:
48
43
  - 0
49
44
  - 7
@@ -55,11 +50,9 @@ dependencies:
55
50
  name: rspec
56
51
  prerelease: false
57
52
  requirement: &id003 !ruby/object:Gem::Requirement
58
- none: false
59
53
  requirements:
60
54
  - - "="
61
55
  - !ruby/object:Gem::Version
62
- hash: 62196431
63
56
  segments:
64
57
  - 2
65
58
  - 0
@@ -73,11 +66,9 @@ dependencies:
73
66
  name: mocha
74
67
  prerelease: false
75
68
  requirement: &id004 !ruby/object:Gem::Requirement
76
- none: false
77
69
  requirements:
78
70
  - - ~>
79
71
  - !ruby/object:Gem::Version
80
- hash: 43
81
72
  segments:
82
73
  - 0
83
74
  - 9
@@ -131,27 +122,23 @@ rdoc_options: []
131
122
  require_paths:
132
123
  - lib
133
124
  required_ruby_version: !ruby/object:Gem::Requirement
134
- none: false
135
125
  requirements:
136
126
  - - ">="
137
127
  - !ruby/object:Gem::Version
138
- hash: 3
139
128
  segments:
140
129
  - 0
141
130
  version: "0"
142
131
  required_rubygems_version: !ruby/object:Gem::Requirement
143
- none: false
144
132
  requirements:
145
133
  - - ">="
146
134
  - !ruby/object:Gem::Version
147
- hash: 3
148
135
  segments:
149
136
  - 0
150
137
  version: "0"
151
138
  requirements: []
152
139
 
153
140
  rubyforge_project: httpi
154
- rubygems_version: 1.3.7
141
+ rubygems_version: 1.3.6
155
142
  signing_key:
156
143
  specification_version: 3
157
144
  summary: Interface for Ruby HTTP libraries