Skip to content

Commit bbcf4e5

Browse files
Remove retry logic from ResponseMiddleware, use retry middleware last on the faraday connection builder
1 parent 5f777cd commit bbcf4e5

File tree

1 file changed

+2
-13
lines changed

1 file changed

+2
-13
lines changed

lib/seam/request.rb

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ def self.create_faraday_client(endpoint, auth_headers, faraday_options = {}, far
2323

2424
Faraday.new(options) do |builder|
2525
builder.request :json
26-
builder.request :retry, faraday_retry_options
2726
builder.response :json
28-
builder.use ResponseMiddleware, retry_options: faraday_retry_options
27+
builder.use ResponseMiddleware
28+
builder.request :retry, faraday_retry_options
2929
end
3030
end
3131

@@ -40,21 +40,10 @@ def self.default_headers
4040
end
4141

4242
class ResponseMiddleware < Faraday::Response::RaiseError
43-
def initialize(app, options = {})
44-
super(app)
45-
@retry_options = options[:retry_options]
46-
end
47-
4843
def on_complete(env)
4944
return if env.success?
5045

5146
status_code = env.status
52-
53-
retry_statuses = @retry_options.fetch(:retry_statuses, [])
54-
if retry_statuses.include?(status_code)
55-
raise Faraday::RetriableResponse.new(nil, env.response)
56-
end
57-
5847
request_id = env.response_headers["seam-request-id"]
5948

6049
raise Http::UnauthorizedError.new(request_id) if status_code == 401

0 commit comments

Comments
 (0)