summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/gitlab/prometheus_client.rb2
-rw-r--r--lib/mattermost/client.rb8
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/gitlab/prometheus_client.rb b/lib/gitlab/prometheus_client.rb
index 9fefffefcde..23952240525 100644
--- a/lib/gitlab/prometheus_client.rb
+++ b/lib/gitlab/prometheus_client.rb
@@ -127,6 +127,8 @@ module Gitlab
json_data = parse_json(response_body) if [200, 400].include?(response_code)
+ raise PrometheusClient::Error, "Parsing response failed" unless json_data.is_a?(Hash)
+
case response_code
when 200
json_data['data'] if response['status'] == 'success'
diff --git a/lib/mattermost/client.rb b/lib/mattermost/client.rb
index 293d0c563c5..859f0073e42 100644
--- a/lib/mattermost/client.rb
+++ b/lib/mattermost/client.rb
@@ -52,7 +52,13 @@ module Mattermost
json_response = JSON.parse(response.body)
unless response.success?
- raise Mattermost::ClientError.new(json_response['message'] || 'Undefined error')
+ error =
+ if json_response.is_a?(Hash)
+ json_response['message']
+ else
+ 'Undefined error'
+ end
+ raise Mattermost::ClientError.new(error)
end
json_response