Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/api_guard.rb')
-rw-r--r--lib/api/api_guard.rb26
1 files changed, 15 insertions, 11 deletions
diff --git a/lib/api/api_guard.rb b/lib/api/api_guard.rb
index cd266669b1e..563224a580f 100644
--- a/lib/api/api_guard.rb
+++ b/lib/api/api_guard.rb
@@ -44,17 +44,21 @@ module API
# Defaults to empty array.
#
def doorkeeper_guard(scopes: [])
- if access_token = find_access_token
- case AccessTokenValidationService.validate(access_token, scopes: scopes)
- when AccessTokenValidationService::INSUFFICIENT_SCOPE
- raise InsufficientScopeError.new(scopes)
- when AccessTokenValidationService::EXPIRED
- raise ExpiredError
- when AccessTokenValidationService::REVOKED
- raise RevokedError
- when AccessTokenValidationService::VALID
- @current_user = User.find(access_token.resource_owner_id)
- end
+ access_token = find_access_token
+ return nil unless access_token
+
+ case AccessTokenValidationService.validate(access_token, scopes: scopes)
+ when AccessTokenValidationService::INSUFFICIENT_SCOPE
+ raise InsufficientScopeError.new(scopes)
+
+ when AccessTokenValidationService::EXPIRED
+ raise ExpiredError
+
+ when AccessTokenValidationService::REVOKED
+ raise RevokedError
+
+ when AccessTokenValidationService::VALID
+ @current_user = User.find(access_token.resource_owner_id)
end
end