summaryrefslogtreecommitdiff
path: root/lib/gitlab/spamcheck/client.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/spamcheck/client.rb')
-rw-r--r--lib/gitlab/spamcheck/client.rb17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/gitlab/spamcheck/client.rb b/lib/gitlab/spamcheck/client.rb
index 6afc21be4e0..df6d3eb7d0a 100644
--- a/lib/gitlab/spamcheck/client.rb
+++ b/lib/gitlab/spamcheck/client.rb
@@ -27,21 +27,18 @@ module Gitlab
# connect with Spamcheck
@endpoint_url = @endpoint_url.gsub(%r(^grpc:\/\/), '')
- creds =
+ @creds =
if Rails.env.development? || Rails.env.test?
:this_channel_is_insecure
else
GRPC::Core::ChannelCredentials.new
end
-
- @stub = ::Spamcheck::SpamcheckService::Stub.new(@endpoint_url, creds,
- timeout: DEFAULT_TIMEOUT_SECS)
end
def issue_spam?(spam_issue:, user:, context: {})
issue = build_issue_protobuf(issue: spam_issue, user: user, context: context)
- response = @stub.check_for_spam_issue(issue,
+ response = grpc_client.check_for_spam_issue(issue,
metadata: { 'authorization' =>
Gitlab::CurrentSettings.spam_check_api_key })
verdict = convert_verdict_to_gitlab_constant(response.verdict)
@@ -100,6 +97,16 @@ module Gitlab
Google::Protobuf::Timestamp.new(seconds: ar_timestamp.to_time.to_i,
nanos: ar_timestamp.to_time.nsec)
end
+
+ def grpc_client
+ @grpc_client ||= ::Spamcheck::SpamcheckService::Stub.new(@endpoint_url, @creds,
+ interceptors: interceptors,
+ timeout: DEFAULT_TIMEOUT_SECS)
+ end
+
+ def interceptors
+ [Labkit::Correlation::GRPC::ClientInterceptor.instance]
+ end
end
end
end