Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-11-13 12:09:30 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-11-13 12:09:30 +0300
commitc21064ccfd3c8d40e82ee92cc709bf0c8bf5bac7 (patch)
treee4649235827651244b9242f6ffdab1b1ce32de0e /lib/bulk_imports/clients
parent254f79fb35e50b9fe130982c75643f18e1daec69 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/bulk_imports/clients')
-rw-r--r--lib/bulk_imports/clients/graphql.rb26
1 files changed, 22 insertions, 4 deletions
diff --git a/lib/bulk_imports/clients/graphql.rb b/lib/bulk_imports/clients/graphql.rb
index 89698cb53ef..b067431aeae 100644
--- a/lib/bulk_imports/clients/graphql.rb
+++ b/lib/bulk_imports/clients/graphql.rb
@@ -3,6 +3,24 @@
module BulkImports
module Clients
class Graphql
+ class HTTP < Graphlient::Adapters::HTTP::Adapter
+ def execute(document:, operation_name: nil, variables: {}, context: {})
+ response = ::Gitlab::HTTP.post(
+ url,
+ headers: headers,
+ follow_redirects: false,
+ body: {
+ query: document.to_query_string,
+ operationName: operation_name,
+ variables: variables
+ }.to_json
+ )
+
+ ::Gitlab::Json.parse(response.body)
+ end
+ end
+ private_constant :HTTP
+
attr_reader :client
delegate :query, :parse, :execute, to: :client
@@ -12,19 +30,19 @@ module BulkImports
@token = token
@client = Graphlient::Client.new(
@url,
- request_headers
+ options(http: HTTP)
)
end
- def request_headers
- return {} unless @token
+ def options(extra = {})
+ return extra unless @token
{
headers: {
'Content-Type' => 'application/json',
'Authorization' => "Bearer #{@token}"
}
- }
+ }.merge(extra)
end
end
end