Advertisement
Guest User

Untitled

a guest
Aug 19th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. require 'base64'
  2. require 'uri'
  3. require 'faraday'
  4.  
  5. module FaradayMiddleware
  6. class BasicAuthOverwrite < Faraday::Middleware
  7. KEY = "Authorization".freeze
  8.  
  9. def call(env)
  10. rewrite_request(env)
  11. @app.call(env)
  12. end
  13.  
  14. private
  15.  
  16. def rewrite_request(env)
  17. url = env[:url]
  18. user = url.user
  19. pass = url.password
  20. return unless user && pass
  21.  
  22. # Nullify the user and password components of the url
  23. # We don't want to send them plain
  24. url.user = nil
  25. url.password = nil
  26.  
  27. # Set the Authorization header
  28. value = Base64.encode64([user, pass].join(':')).gsub("\n", '')
  29. env.request_headers[KEY] = "Basic #{value}"
  30. end
  31. end
  32. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement