Skip to content

Commit 6cf5473

Browse files
Raise client error for unhandled 4xx responses
1 parent a34e285 commit 6cf5473

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

lib/json_api_client/middleware/status.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def handle_status(code, env)
2929
when 409
3030
raise Errors::Conflict, env
3131
when 400..499
32-
# some other error
32+
raise Errors::ClientError, env
3333
when 500..599
3434
raise Errors::ServerError, env
3535
else

test/unit/status_test.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,17 @@ def test_server_responding_with_404_status_meta
5656
end
5757
end
5858

59+
def test_server_responding_with_408_status
60+
stub_request(:get, "http://example.com/users/1")
61+
.to_return(headers: {content_type: "application/vnd.api+json"}, body: {
62+
meta: {
63+
status: 408,
64+
message: "Request timeout"
65+
}
66+
}.to_json)
67+
68+
assert_raises JsonApiClient::Errors::ClientError do
69+
User.find(1)
70+
end
71+
end
5972
end

0 commit comments

Comments
 (0)