curb-fu 0.4.3 → 0.4.4

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.
@@ -58,7 +58,5 @@ module CurbFu
58
58
  def debug?
59
59
  @debug
60
60
  end
61
-
62
-
63
61
  end
64
62
  end
@@ -56,7 +56,14 @@ module CurbFu
56
56
 
57
57
  curb = self.build(url)
58
58
  curb.http_post(*fields)
59
- CurbFu::Response::Base.from_curb_response(curb)
59
+ response = CurbFu::Response::Base.from_curb_response(curb)
60
+ if CurbFu.debug?
61
+ puts "Response from server was"
62
+ puts "Status: #{response.status}"
63
+ puts "Headers: #{response.headers.inspect}"
64
+ puts "Body: #{response.body.inspect}"
65
+ end
66
+ response
60
67
  end
61
68
 
62
69
  def post_file(url, params = {}, filez = {})
@@ -73,6 +80,14 @@ module CurbFu
73
80
  raise e, "There was an attempt to post invalid fields. The fields were:\n#{field_list.join("\n")}"
74
81
  end
75
82
  CurbFu::Response::Base.from_curb_response(curb)
83
+ response = CurbFu::Response::Base.from_curb_response(curb)
84
+ if CurbFu.debug?
85
+ puts "Response from server was"
86
+ puts "Status: #{response.status}"
87
+ puts "Headers: #{response.headers.inspect}"
88
+ puts "Body: #{response.body.inspect}"
89
+ end
90
+ response
76
91
  end
77
92
 
78
93
  def delete(url)
@@ -13,7 +13,8 @@ module CurbFu
13
13
  if url_params.is_a? String
14
14
  built_url = url_params
15
15
  else
16
- built_url = "http://#{url_params[:host]}"
16
+ protocol = url_params[:protocol] || "http"
17
+ built_url = "#{protocol}://#{url_params[:host]}"
17
18
  built_url += ":" + url_params[:port].to_s if url_params[:port]
18
19
  built_url += url_params[:path] if url_params[:path]
19
20
  end
@@ -130,50 +130,50 @@ module CurbFu
130
130
  end
131
131
 
132
132
  module Information; end
133
- module Continue; def self.to_i; 100; end; end
134
- module SwitchProtocl; end
135
- module Success; def self.to_i; 200; end; end
136
- module OK; def self.to_i; 200; end; end
137
- module Created; def self.to_i; 201; end; end
138
- module Accepted; def self.to_i; 202; end; end
139
- module NonAuthoritativeInformation; end
140
- module NoContent; end
141
- module ResetContent; end
142
- module PartialContent; end
143
- module Redirection; end # 3xx
144
- module MultipleChoice; end # 300
145
- module MovedPermanently; end # 301
146
- module Found; def self.to_i; 302; end; end
147
- module SeeOther; end # 303
148
- module NotModified; end # 304
149
- module UseProxy; end # 305
150
- module TemporaryRedirect; end # 307
151
- module ClientError; end # 4xx
152
- module BadRequest; end # 400
153
- module Unauthorized; end # 401
154
- module PaymentRequired; end # 402
155
- module Forbidden; end # 403
156
- module NotFound; def self.to_i; 404; end; end
157
- module MethodNotAllowed; end # 405
158
- module NotAcceptable; end # 406
159
- module ProxyAuthenticationRequired; end # 407
160
- module RequestTimeOut; end # 408
161
- module Conflict; end # 409
162
- module Gone; def self.to_i; 410; end; end
163
- module LengthRequired; end # 411
164
- module PreconditionFailed; end # 412
165
- module RequestEntityTooLarge; end # 413
166
- module RequestURITooLong; end # 414
167
- module UnsupportedMediaType; end # 415
168
- module RequestedRangeNotSatisfiable; end # 416
169
- module ExpectationFailed; end # 417
170
- module ServerError; end # 5xx
171
- module InternalServerError; def self.to_i; 500; end; end
172
- module NotImplemented; end # 501
173
- module BadGateway; end # 502
174
- module ServiceUnavailable; def self.to_i; 503; end; end
175
- module GatewayTimeOut; end # 504
176
- module VersionNotSupported; end # 505
177
- module UnknownResponse; end
133
+ module Continue; def self.to_i; 100; end; def message; "Continue"; end; end
134
+ module SwitchProtocol; def self.to_i; 101; end; def message; "Switch Protocol"; end; end
135
+ module Success; def self.to_i; 200; end; def message; "Success"; end; end
136
+ module OK; def self.to_i; 200; end; def message; "OK"; end; end
137
+ module Created; def self.to_i; 201; end; def message; "Created"; end; end
138
+ module Accepted; def self.to_i; 202; end; def message; "Accepted"; end; end
139
+ module NonAuthoritativeInformation; def self.to_i; 203; end; def message; "Non Authoritative Information"; end; end
140
+ module NoContent; def self.to_i; 204; end; def message; "No Content"; end; end
141
+ module ResetContent; def self.to_i; 205; end; def message; "Reset Content"; end; end
142
+ module PartialContent; def self.to_i; 206; end; def message; "Partial Content"; end; end
143
+ module Redirection; def self.to_i; 300; end; def message; "Redirection"; end; end
144
+ module MultipleChoice; def self.to_i; 300; end; def message; "Multiple Choice"; end; end
145
+ module MovedPermanently; def self.to_i; 301; end; def message; "Moved Permanently"; end; end
146
+ module Found; def self.to_i; 302; end; def message; "Found"; end; end
147
+ module SeeOther; def self.to_i; 303; end; def message; "See Other"; end; end
148
+ module NotModified; def self.to_i; 304; end; def message; "Not Modified"; end; end
149
+ module UseProxy; def self.to_i; 305; end; def message; "Use Proxy"; end; end
150
+ module TemporaryRedirect; def self.to_i; 307; end; def message; "Temporary Redirect"; end; end
151
+ module ClientError; def self.to_i; 400; end; def message; "Client Error"; end; end
152
+ module BadRequest; def self.to_i; 400; end; def message; "Bad Request"; end; end
153
+ module Unauthorized; def self.to_i; 401; end; def message; "Unauthorized"; end; end
154
+ module PaymentRequired; def self.to_i; 402; end; def message; "Payment Required"; end; end
155
+ module Forbidden; def self.to_i; 403; end; def message; "Forbidden"; end; end
156
+ module NotFound; def self.to_i; 404; end; def message; "Not Found"; end; end
157
+ module MethodNotAllowed; def self.to_i; 405; end; def message; "Method Not Allowed"; end; end
158
+ module NotAcceptable; def self.to_i; 406; end; def message; "Not Acceptable"; end; end
159
+ module ProxyAuthenticationRequired; def self.to_i; 407; end; def message; "Proxy Authentication Required"; end; end
160
+ module RequestTimeOut; def self.to_i; 408; end; def message; "Request Time Out"; end; end
161
+ module Conflict; def self.to_i; 409; end; def message; "Conflict"; end; end
162
+ module Gone; def self.to_i; 410; end; def message; "Gone"; end; end
163
+ module LengthRequired; def self.to_i; 411; end; def message; "Length Required"; end; end
164
+ module PreconditionFailed; def self.to_i; 412; end; def message; "Precondition Failed"; end; end
165
+ module RequestEntityTooLarge; def self.to_i; 413; end; def message; "Request Entity Too Large"; end; end
166
+ module RequestURITooLong; def self.to_i; 414; end; def message; "Request URI Too Long"; end; end
167
+ module UnsupportedMediaType; def self.to_i; 415; end; def message; "Unsupported Media Type"; end; end
168
+ module RequestedRangeNotSatisfiable; def self.to_i; 416; end; def message; "Requested Range Not Satisfiable"; end; end
169
+ module ExpectationFailed; def self.to_i; 417; end; def message; "Expectation Failed"; end; end
170
+ module ServerError; def self.to_i; 500; end; def message; "Server Error"; end; end
171
+ module InternalServerError; def self.to_i; 500; end; def message; "Internal Server Error"; end; end
172
+ module NotImplemented; def self.to_i; 501; end; def message; "Not Implemented"; end; end
173
+ module BadGateway; def self.to_i; 502; end; def message; "Bad Gateway"; end; end
174
+ module ServiceUnavailable; def self.to_i; 503; end; def message; "Service Unavailable"; end; end
175
+ module GatewayTimeOut; def self.to_i; 504; end; def message; "Gateway Time Out"; end; end
176
+ module VersionNotSupported; def self.to_i; 505; end; def message; "Version Not Supported"; end; end
177
+ module UnknownResponse; def self.to_i; 0; end; def message; "Unknown Response"; end; end
178
178
  end
179
179
  end
@@ -49,6 +49,9 @@ describe CurbFu::Request::Base do
49
49
  TestHarness.build_url('http://chocolatecheese.com','?nuts=true').
50
50
  should == 'http://chocolatecheese.com?nuts=true'
51
51
  end
52
+ it "should accept a 'protocol' parameter" do
53
+ TestHarness.build_url(:host => "mybank.com", :protocol => "https").should == "https://mybank.com"
54
+ end
52
55
  end
53
56
 
54
57
  describe "get" do
@@ -196,8 +199,8 @@ describe CurbFu::Request::Base do
196
199
  end
197
200
 
198
201
  it 'should handle multiple parameters' do
199
- TestHarness.create_put_fields(:rock => 'beatles', :rap => '2pac').
200
- should == "rock=beatles&rap=2pac"
202
+ TestHarness.create_put_fields(:rock => 'beatles', :rap => '2pac').split("&").
203
+ should include("rock=beatles","rap=2pac")
201
204
  end
202
205
 
203
206
  it "should handle params that contain arrays" do
@@ -54,12 +54,24 @@ describe CurbFu::Response::Base do
54
54
  end
55
55
 
56
56
  describe "response modules" do
57
- describe "to_i" do
57
+ describe ".to_i" do
58
58
  it "should return the status code represented by the module" do
59
59
  CurbFu::Response::OK.to_i.should == 200
60
60
  CurbFu::Response::NotFound.to_i.should == 404
61
61
  end
62
62
  end
63
+ describe "#message" do
64
+ it "should return a string indicating the english translation of the status code" do
65
+ r = CurbFu::Response::Base.new(200, {}, "text")
66
+ r.message.should == "OK"
67
+ r = CurbFu::Response::Base.new(404, {}, "text")
68
+ r.message.should == "Not Found"
69
+ r = CurbFu::Response::Base.new(302, {}, "text")
70
+ r.message.should == "Found"
71
+ r = CurbFu::Response::Base.new(505, {}, "text")
72
+ r.message.should == "Version Not Supported"
73
+ end
74
+ end
63
75
  end
64
76
 
65
77
  describe "parse_headers" do
metadata CHANGED
@@ -1,39 +1,53 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curb-fu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 4
8
+ - 4
9
+ version: 0.4.4
5
10
  platform: ruby
6
11
  authors:
7
- - Phil Green, Derek Kastner, Matt Wilson
12
+ - Derek Kastner, Matt Wilson
8
13
  autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-10-14 00:00:00 -04:00
17
+ date: 2010-06-18 00:00:00 -04:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: curb
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ - 5
30
+ - 4
31
+ - 0
23
32
  version: 0.5.4.0
24
- version:
33
+ type: :runtime
34
+ version_requirements: *id001
25
35
  - !ruby/object:Gem::Dependency
26
36
  name: rack-test
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
30
39
  requirements:
31
40
  - - ">="
32
41
  - !ruby/object:Gem::Version
42
+ segments:
43
+ - 0
44
+ - 2
45
+ - 0
33
46
  version: 0.2.0
34
- version:
47
+ type: :runtime
48
+ version_requirements: *id002
35
49
  description:
36
- email: support@greenviewdata.com
50
+ email: development@greenviewdata.com
37
51
  executables: []
38
52
 
39
53
  extensions: []
@@ -67,18 +81,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
67
81
  requirements:
68
82
  - - ">="
69
83
  - !ruby/object:Gem::Version
84
+ segments:
85
+ - 0
70
86
  version: "0"
71
- version:
72
87
  required_rubygems_version: !ruby/object:Gem::Requirement
73
88
  requirements:
74
89
  - - ">="
75
90
  - !ruby/object:Gem::Version
91
+ segments:
92
+ - 0
76
93
  version: "0"
77
- version:
78
94
  requirements: []
79
95
 
80
96
  rubyforge_project:
81
- rubygems_version: 1.3.5
97
+ rubygems_version: 1.3.6
82
98
  signing_key:
83
99
  specification_version: 3
84
100
  summary: Friendly wrapper for curb