class ShopifyAPI::Clients::Graphql::Client
def initialize(session:, base_path:, api_version: nil)
def initialize(session:, base_path:, api_version: nil) @http_client = T.let(HttpClient.new(session: session, base_path: base_path), HttpClient) @api_version = T.let(api_version || Context.api_version, String) if api_version if api_version == Context.api_version Context.logger.debug("Graphql client has a redundant API version override "\ "to the default #{Context.api_version}") else Context.logger.debug("Graphql client overriding default API version "\ "#{Context.api_version} with #{api_version}") end end end
def query(query:, variables: nil, headers: nil, tries: 1)
def query(query:, variables: nil, headers: nil, tries: 1) body = { query: query, variables: variables } @http_client.request( HttpRequest.new( http_method: :post, path: "#{@api_version}/graphql.json", body: body, query: nil, extra_headers: headers, body_type: "application/json", tries: tries, ), ) end