Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'base64'
- require 'uri'
- require 'faraday'
- module FaradayMiddleware
- class BasicAuthOverwrite < Faraday::Middleware
- KEY = "Authorization".freeze
- def call(env)
- rewrite_request(env)
- @app.call(env)
- end
- private
- def rewrite_request(env)
- url = env[:url]
- user = url.user
- pass = url.password
- return unless user && pass
- # Nullify the user and password components of the url
- # We don't want to send them plain
- url.user = nil
- url.password = nil
- # Set the Authorization header
- value = Base64.encode64([user, pass].join(':')).gsub("\n", '')
- env.request_headers[KEY] = "Basic #{value}"
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement