diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-13 12:09:30 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-13 12:09:30 +0300 |
commit | c21064ccfd3c8d40e82ee92cc709bf0c8bf5bac7 (patch) | |
tree | e4649235827651244b9242f6ffdab1b1ce32de0e /lib/bulk_imports/clients | |
parent | 254f79fb35e50b9fe130982c75643f18e1daec69 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/bulk_imports/clients')
-rw-r--r-- | lib/bulk_imports/clients/graphql.rb | 26 |
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 |