Class: Dependabot::Python::AuthedUrlBuilder
- Inherits:
-
Object
- Object
- Dependabot::Python::AuthedUrlBuilder
- Defined in:
- lib/dependabot/python/authed_url_builder.rb
Class Method Summary collapse
-
.authed_url(credential:) ⇒ Object
rubocop:disable Metrics/PerceivedComplexity.
Class Method Details
.authed_url(credential:) ⇒ Object
rubocop:disable Metrics/PerceivedComplexity
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/dependabot/python/authed_url_builder.rb', line 7 def self.authed_url(credential:) token = credential.fetch("token", nil) url = credential.fetch("index-url") return url unless token basic_auth_details = if token.ascii_only? && token.include?(":") then token elsif Base64.decode64(token).ascii_only? && Base64.decode64(token).include?(":") Base64.decode64(token) else token end if basic_auth_details.include?(":") username, _, password = basic_auth_details.partition(":") basic_auth_details = "#{CGI.escape(username)}:#{CGI.escape(password)}" end url.sub("://", "://#{basic_auth_details}@") end |