Class: Gitlab::Auth::EditorExtensions::LanguageServerClientVerifier

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/auth/editor_extensions/language_server_client_verifier.rb

Instance Method Summary collapse

Constructor Details

#initialize(current_user:, request:) ⇒ LanguageServerClientVerifier

Returns a new instance of LanguageServerClientVerifier.



7
8
9
10
# File 'lib/gitlab/auth/editor_extensions/language_server_client_verifier.rb', line 7

def initialize(current_user:, request:)
  @current_user = current_user
  @request = request
end

Instance Method Details

#executeObject



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/gitlab/auth/editor_extensions/language_server_client_verifier.rb', line 12

def execute
  return ServiceResponse.success unless client.lsp_client? && enforce_language_server_version?

  return ServiceResponse.success if client.version >= minimum_version

  ServiceResponse.error(
    message: 'Requests from Editor Extension clients are restricted',
    payload: { client_version: client.version },
    reason: :instance_requires_newer_client
  )
end