Skip to content
Snippets Groups Projects

Add low level api cookie passing

Merged Zeff Morgan requested to merge qa/zm-api-cookie-update into master
+ 40
6
@@ -20,6 +20,8 @@ def post(url, payload, args = {})
verify_ssl: false
}
set_canary_api(default_args)
RestClient::Request.execute(
default_args.merge(args)
)
@@ -36,6 +38,8 @@ def get(url, args = {})
verify_ssl: false
}
set_canary_api(default_args)
RestClient::Request.execute(
default_args.merge(args)
)
@@ -46,11 +50,18 @@ def get(url, args = {})
def patch(url, payload = nil)
with_retry_on_too_many_requests do
RestClient::Request.execute(
default_args = {
method: :patch,
url: url,
payload: payload,
verify_ssl: false)
verify_ssl: false
}
set_canary_api(default_args)
RestClient::Request.execute(
default_args
)
rescue RestClient::ExceptionWithResponse => e
return_response_or_raise(e)
end
@@ -58,11 +69,18 @@ def patch(url, payload = nil)
def put(url, payload = nil)
with_retry_on_too_many_requests do
RestClient::Request.execute(
default_args = {
method: :put,
url: url,
payload: payload,
verify_ssl: false)
verify_ssl: false
}
set_canary_api(default_args)
RestClient::Request.execute(
default_args
)
rescue RestClient::ExceptionWithResponse => e
return_response_or_raise(e)
end
@@ -70,10 +88,17 @@ def put(url, payload = nil)
def delete(url)
with_retry_on_too_many_requests do
RestClient::Request.execute(
default_args = {
method: :delete,
url: url,
verify_ssl: false)
verify_ssl: false
}
set_canary_api(default_args)
RestClient::Request.execute(
default_args
)
rescue RestClient::ExceptionWithResponse => e
return_response_or_raise(e)
end
@@ -90,6 +115,15 @@ def head(url)
end
end
def set_canary_api(default_args)
return unless ENV["QA_COOKIES"]["gitlab_canary"]
canary_value = ENV["QA_COOKIES"]["true"] = true ? "true" : "false"
canary = { cookies: { "gitlab_canary" => canary_value }}
default_args.merge!(canary)
end
def with_retry_on_too_many_requests
response = nil
Loading