From 6602d19dbfe016589409db088126752194904921 Mon Sep 17 00:00:00 2001 From: Rolf Schmidt Date: Mon, 23 Aug 2021 16:51:16 +0200 Subject: [PATCH] Maintenance: Enhanced GitHub and GitLab GraphQL endpoint check --- lib/github/http_client.rb | 6 ++++-- lib/gitlab/http_client.rb | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/github/http_client.rb b/lib/github/http_client.rb index dd582384d..99762c770 100644 --- a/lib/github/http_client.rb +++ b/lib/github/http_client.rb @@ -1,12 +1,14 @@ # Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/ +require 'uri' + class GitHub class HttpClient attr_reader :api_token, :endpoint def initialize(endpoint, api_token) raise 'api_token required' if api_token.blank? - raise 'endpoint required' if endpoint.blank? + raise 'endpoint required' if endpoint.blank? || endpoint.exclude?('/graphql') || endpoint.scan(URI::DEFAULT_PARSER.make_regexp).blank? @api_token = api_token @endpoint = endpoint @@ -30,7 +32,7 @@ class GitHub if !response.success? Rails.logger.error response.error - raise "Error while requesting GitHub GraphQL API: #{response.error}" + raise 'GitHub request failed! Please have a look at the log file for details' end response.data diff --git a/lib/gitlab/http_client.rb b/lib/gitlab/http_client.rb index f2a247537..76338e204 100644 --- a/lib/gitlab/http_client.rb +++ b/lib/gitlab/http_client.rb @@ -1,12 +1,14 @@ # Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/ +require 'uri' + class GitLab class HttpClient attr_reader :api_token, :endpoint def initialize(endpoint, api_token) raise 'api_token required' if api_token.blank? - raise 'endpoint required' if endpoint.blank? + raise 'endpoint required' if endpoint.blank? || endpoint.exclude?('/graphql') || endpoint.scan(URI::DEFAULT_PARSER.make_regexp).blank? @api_token = api_token @endpoint = endpoint @@ -30,7 +32,7 @@ class GitLab if !response.success? Rails.logger.error response.error - raise "Error while requesting GitLab GraphQL API: #{response.error}" + raise 'GitLab request failed! Please have a look at the log file for details' end response.data