class IronBank::FaradayMiddleware::Response::RenewAuth

This middleware reauthorize the request on unauthorized request

Attributes

auth[R]
env[R]

Public Class Methods

new(app, auth) click to toggle source
Calls superclass method
# File lib/iron_bank/faraday_middleware/response/renew_auth.rb, line 11
def initialize(app, auth)
  @auth = auth

  super(app)
end

Public Instance Methods

on_complete(env) click to toggle source
# File lib/iron_bank/faraday_middleware/response/renew_auth.rb, line 17
def on_complete(env)
  @env = env

  renew_auth_header if env.status == 401
end

Private Instance Methods

renew_auth_header() click to toggle source
# File lib/iron_bank/faraday_middleware/response/renew_auth.rb, line 27
def renew_auth_header
  auth.renew_session

  # NOTE: Merging the refreshed auth headers into the original request
  #       (which will be retried via the `:retry` middleware.)
  env.request_headers = env.request_headers.merge(auth.header)
end