Class: GitLab::SecretDetection::GRPC::ScannerService

Inherits:
GitLab::SecretDetection::GRPC::Scanner::Service show all
Includes:
SDLogger
Defined in:
lib/gitlab/secret_detection/grpc/scanner_service.rb

Constant Summary collapse

MAX_ALLOWED_TIMEOUT_SECONDS =

Maximum timeout value that can be given as the input. This guards against the misuse of timeouts.

600
ERROR_MESSAGES =
{
  invalid_payload_fields: "Payload should not contain empty `id` and `data` fields",
  exclusion_empty_value: "Exclusion value cannot be empty",
  exclusion_invalid_type: "Invalid exclusion type",
  invalid_timeout_range: "Timeout value should be > 0 and <= #{MAX_ALLOWED_TIMEOUT_SECONDS} seconds"
}.freeze

Instance Method Summary collapse

Instance Method Details

#scan(request, _call) ⇒ Object

Implementation for /Scan RPC method



48
49
50
# File 'lib/gitlab/secret_detection/grpc/scanner_service.rb', line 48

def scan(request, _call)
  scan_request_action(request)
end

#scan_stream(requests, _call) ⇒ Object

Implementation for /ScanStream RPC method



53
54
55
56
# File 'lib/gitlab/secret_detection/grpc/scanner_service.rb', line 53

def scan_stream(requests, _call)
  request_action = ->(r) { scan_request_action(r) }
  StreamEnumerator.new(requests, request_action).each_item
end