class ActiveGraphql::Client::Adapters::GraphlientMultipartAdapter
Adapter enabling multipart data transfer
Public Instance Methods
execute(document:, operation_name:, variables:, context:)
click to toggle source
# File lib/active_graphql/client/adapters/graphlient_multipart_adapter.rb, line 14 def execute(document:, operation_name:, variables:, context:) response = execute_request( document: document, operation_name: operation_name, variables: variables, context: context ) response.body rescue Faraday::ClientError => e raise Graphlient::Errors::FaradayServerError, e end
Private Instance Methods
connection() { |c| ... }
click to toggle source
# File lib/active_graphql/client/adapters/graphlient_multipart_adapter.rb, line 37 def connection @connection ||= Faraday.new(url: url, headers: headers) do |c| c.adapter Faraday::Response::RaiseError c.request :multipart c.request :url_encoded c.response :json block_given? ? yield(c) : c.adapter(Faraday::Adapter::NetHttp) end end
execute_request(document:, operation_name:, variables:, context:)
click to toggle source
# File lib/active_graphql/client/adapters/graphlient_multipart_adapter.rb, line 26 def execute_request(document:, operation_name:, variables:, context:) connection.post do |req| req.headers.merge!(context[:headers] || {}) req.body = { query: document.to_query_string, operationName: operation_name, variables: FormatMultipartVariables.new(variables).call } end end