Skip to content

Commit 58b1ab3

Browse files
authored
Merge pull request #31 from zendesk/mciupak/support_precondition_failed_error
Add ApiClient::Errors::PreconditionFailed
2 parents c441bf1 + befcb16 commit 58b1ab3

File tree

5 files changed

+15
-1
lines changed

5 files changed

+15
-1
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 0.5.26
2+
3+
* Add support for HTTP status code: 412 Precondition Failed
4+
15
# 0.5.25
26

37
* Fix broken gem build (gemspec files)

lib/api_client/connection/basic.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ def handle_response(request, response)
109109
raise ApiClient::Errors::Conflict.new(nil, request, response)
110110
when 410
111111
raise ApiClient::Errors::Gone.new(nil, request, response)
112+
when 412
113+
raise ApiClient::Errors::PreconditionFailed.new(nil, request, response)
112114
when 422
113115
raise ApiClient::Errors::UnprocessableEntity.new(response.body, request, response)
114116
when 423

lib/api_client/errors.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class Conflict < ApiClientError; end
2424
class Gone < ApiClientError; end
2525
class ServerError < ApiClientError; end
2626
class UnprocessableEntity < ApiClientError; end
27+
class PreconditionFailed < ApiClientError; end
2728
class Locked < ApiClientError; end
2829
class TooManyRequests < ApiClientError; end
2930
end

lib/api_client/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module ApiClient
2-
VERSION = '0.5.25'
2+
VERSION = '0.5.26'
33
end

spec/api_client/connection/basic_spec.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,13 @@
149149
}.should raise_error(ApiClient::Errors::Gone, "Status code: 410")
150150
end
151151

152+
it "raises an ApiClient::Errors::PreconditionFailed if status is 412" do
153+
@response.env[:status] = 412
154+
lambda {
155+
@instance.send :handle_response, request, @response
156+
}.should raise_error(ApiClient::Errors::PreconditionFailed, "Status code: 412")
157+
end
158+
152159
it "raises an ApiClient::Errors::Unsupported if status is 422" do
153160
@response.env[:status] = 422
154161
lambda {

0 commit comments

Comments
 (0)