utils/github: better handle blank scopes.

If both provided and required scopes are blank then we cannot display a
good error message so don't try.

Fixes #6134.
This commit is contained in:
Mike McQuaid 2019-05-15 09:18:05 +01:00
parent 24f5e6953d
commit 2e817d2644
No known key found for this signature in database
GPG Key ID: 48A898132FD8EE70

View File

@ -126,10 +126,13 @@ module GitHub
@api_credentials_error_message ||= begin
unauthorized = (response_headers["http/1.1"] == "401 Unauthorized")
scopes = response_headers["x-accepted-oauth-scopes"].to_s.split(", ")
if unauthorized && scopes.empty?
if unauthorized && scopes.blank?
needed_human_scopes = needed_scopes.join(", ")
needed_human_scopes = "none" if needed_human_scopes.empty?
credentials_scopes = response_headers["x-oauth-scopes"]
return if needed_human_scopes.blank? && credentials_scopes.blank?
needed_human_scopes = "none" if needed_human_scopes.blank?
credentials_scopes = "none" if credentials_scopes.blank?
case GitHub.api_credentials_type
when :keychain