diff options
-rw-r--r-- | lib/gitlab/prometheus_client.rb | 2 | ||||
-rw-r--r-- | lib/mattermost/client.rb | 8 |
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 |