zephyr 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/README.md +1 -0
  2. data/VERSION +1 -1
  3. data/lib/zephyr.rb +24 -18
  4. data/zephyr.gemspec +2 -2
  5. metadata +4 -4
data/README.md CHANGED
@@ -15,6 +15,7 @@ unfortunate choice of naming our library Http and suddenly fighting with http_pa
15
15
  * Matthew Knopp
16
16
  * Mohammed Rafiq
17
17
  * Ryan Kennedy
18
+ * Vidit Drolia
18
19
 
19
20
  ### References
20
21
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.5
1
+ 1.0.6
data/lib/zephyr.rb CHANGED
@@ -45,7 +45,7 @@ class Zephyr
45
45
  def default_headers
46
46
  {
47
47
  'Accept' => 'application/json;q=0.7, */*;q=0.5',
48
- 'User-Agent' => 'lib-http.rb',
48
+ 'User-Agent' => 'zephyr',
49
49
  }
50
50
  end
51
51
 
@@ -87,15 +87,7 @@ class Zephyr
87
87
  # application/json) and adds it under the :json key in the returned hash.
88
88
  def get_json(expected_statuses, timeout, path_components, headers={}, yajl_opts={})
89
89
  response = get(expected_statuses, timeout, path_components, headers)
90
-
91
- content_type = response[:headers]['content-type']
92
- content_type = content_type.first if content_type.respond_to?(:first)
93
-
94
- if content_type.to_s.strip.match /^application\/json/
95
- response[:json] = Yajl::Parser.parse(response[:body], yajl_opts)
96
- end
97
-
98
- response
90
+ create_json_response(response, yajl_opts)
99
91
  end
100
92
 
101
93
  # Performs a PUT request to the specified resource.
@@ -119,7 +111,8 @@ class Zephyr
119
111
  # The same thing as #put, but encodes the entity as JSON and specifies
120
112
  # "application/json" as the request entity content type.
121
113
  def put_json(expected_statuses, timeout, path_components, entity, headers={})
122
- put(expected_statuses, timeout, path_components, Yajl::Encoder.encode(entity), headers.merge("Content-Type" => "application/json"))
114
+ response = put(expected_statuses, timeout, path_components, Yajl::Encoder.encode(entity), headers.merge("Content-Type" => "application/json"))
115
+ create_json_response(response)
123
116
  end
124
117
 
125
118
  # Performs a POST request to the specified resource.
@@ -143,13 +136,14 @@ class Zephyr
143
136
  # The same thing as #post, but encodes the entity as JSON and specifies
144
137
  # "application/json" as the request entity content type.
145
138
  def post_json(expected_statuses, timeout, path_components, entity, headers={})
146
- post(
147
- expected_statuses,
148
- timeout,
149
- path_components,
150
- Yajl::Encoder.encode(entity),
151
- headers.merge("Content-Type" => "application/json")
152
- )
139
+ response = post(
140
+ expected_statuses,
141
+ timeout,
142
+ path_components,
143
+ Yajl::Encoder.encode(entity),
144
+ headers.merge("Content-Type" => "application/json")
145
+ )
146
+ create_json_response(response)
153
147
  end
154
148
 
155
149
  # Performs a DELETE request to the specified resource.
@@ -308,6 +302,18 @@ class Zephyr
308
302
  end
309
303
  end
310
304
  end
305
+
306
+ def create_json_response(response, yajl_opts = {})
307
+ return response if response.nil? || !response.key?(:headers) || !response[:headers].key?('content-type')
308
+ content_type = response[:headers]['content-type']
309
+ content_type = content_type.first if content_type.respond_to?(:first)
310
+
311
+ if content_type.to_s.strip.match /^application\/json/
312
+ response[:json] = Yajl::Parser.parse(response[:body], yajl_opts)
313
+ end
314
+ response
315
+ end
316
+
311
317
  end
312
318
 
313
319
  # Represents headers from an HTTP request or response.
data/zephyr.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{zephyr}
8
- s.version = "1.0.5"
8
+ s.version = "1.0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Matt Knopp"]
12
- s.date = %q{2011-10-12}
12
+ s.date = %q{2011-11-01}
13
13
  s.description = %q{Simple HTTP client using Typheous, derived from the Riak client}
14
14
  s.email = %q{matt.knopp@gmail.com}
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zephyr
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 5
10
- version: 1.0.5
9
+ - 6
10
+ version: 1.0.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Matt Knopp
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-12 00:00:00 -07:00
18
+ date: 2011-11-01 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency