File tree Expand file tree Collapse file tree 3 files changed +14
-0
lines changed Expand file tree Collapse file tree 3 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -54,6 +54,9 @@ def initialize(uri)
5454 end
5555 end
5656
57+ class RequestTimeout < ClientError
58+ end
59+
5760 class Conflict < ClientError
5861 def initialize ( env , msg = 'Resource already exists' )
5962 super env , msg
Original file line number Diff line number Diff line change @@ -38,6 +38,8 @@ def handle_status(code, env)
3838 raise Errors ::AccessDenied , env
3939 when 404
4040 raise Errors ::NotFound , env [ :url ]
41+ when 408
42+ raise Errors ::RequestTimeout , env
4143 when 409
4244 raise Errors ::Conflict , env
4345 when 422
Original file line number Diff line number Diff line change @@ -96,6 +96,15 @@ def test_not_authorized
9696 end
9797 end
9898
99+ def test_request_timeout
100+ stub_request ( :get , "http://example.com/users" )
101+ . to_return ( headers : { content_type : "text/plain" } , status : 408 , body : "request timeout" )
102+
103+ assert_raises JsonApiClient ::Errors ::RequestTimeout do
104+ User . all
105+ end
106+ end
107+
99108 def test_too_many_requests
100109 stub_request ( :get , "http://example.com/users" )
101110 . to_return ( headers : { content_type : "text/plain" } , status : 429 , body : "too many requests" )
You can’t perform that action at this time.
0 commit comments