Sha256: e606086c2f0c123505f74a7ead7ba71e9cc9f838ec34b8cf92c3703a7a8ddb29
Contents?: true
Size: 1 KB
Versions: 4
Compression:
Stored size: 1 KB
Contents
require 'faraday' require 'faraday_middleware' module Graphlient module Adapters module HTTP class FaradayAdapter < Adapter def execute(document:, operation_name:, variables:, context:) response = connection.post do |req| req.headers.merge!(context[:headers] || {}) req.body = { query: document.to_query_string, operationName: operation_name, variables: variables }.to_json end response.body rescue Faraday::ClientError => e raise Graphlient::Errors::ServerError.new(e.message, e) end def connection @connection ||= Faraday.new(url: url, headers: headers) do |c| c.use Faraday::Response::RaiseError c.request :json c.response :json if block_given? yield c else c.use Faraday::Adapter::NetHttp end end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems