summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab_net.rb2
-rw-r--r--lib/http_helper.rb26
2 files changed, 17 insertions, 11 deletions
diff --git a/lib/gitlab_net.rb b/lib/gitlab_net.rb
index bf417a4..584dd93 100644
--- a/lib/gitlab_net.rb
+++ b/lib/gitlab_net.rb
@@ -91,7 +91,7 @@ class GitlabNet # rubocop:disable Metrics/ClassLength
end
def check
- get("#{internal_api_endpoint}/check", read_timeout: CHECK_TIMEOUT)
+ get("#{internal_api_endpoint}/check", options: { read_timeout: CHECK_TIMEOUT })
end
def authorized_key(key)
diff --git a/lib/http_helper.rb b/lib/http_helper.rb
index 75dd76b..62d0c51 100644
--- a/lib/http_helper.rb
+++ b/lib/http_helper.rb
@@ -33,15 +33,19 @@ module HTTPHelper
http
end
- def http_request_for(method, uri, params = {})
+ def http_request_for(method, uri, params: {}, headers: {}, options: {})
request_klass = method == :get ? Net::HTTP::Get : Net::HTTP::Post
- request = request_klass.new(uri.request_uri)
+ request = request_klass.new(uri.request_uri, headers)
user = config.http_settings['user']
password = config.http_settings['password']
request.basic_auth(user, password) if user && password
- request.set_form_data(params.merge(secret_token: secret_token))
+ if options[:json]
+ request.body = options[:json].merge(secret_token: secret_token).to_json
+ else
+ request.set_form_data(params.merge(secret_token: secret_token))
+ end
if uri.is_a?(URI::HTTPUNIX)
# The HTTPUNIX HTTP client does not set a correct Host header. This can
@@ -52,13 +56,15 @@ module HTTPHelper
request
end
- def request(method, url, params = {}, options = {})
+ def request(method, url, params: {}, headers: {}, options: {})
$logger.debug('Performing request', method: method.to_s.upcase, url: url)
uri = URI.parse(url)
-
http = http_client_for(uri, options)
- request = http_request_for(method, uri, params)
+ request = http_request_for(method, uri,
+ params: params,
+ headers: headers,
+ options: options)
begin
start_time = Time.new
@@ -79,12 +85,12 @@ module HTTPHelper
response
end
- def get(url, options = {})
- request(:get, url, {}, options)
+ def get(url, headers: {}, options: {})
+ request(:get, url, headers: headers, options: options)
end
- def post(url, params)
- request(:post, url, params)
+ def post(url, params, headers: {}, options: {})
+ request(:post, url, params: params, headers: headers, options: options)
end
def cert_store