module GqlClient

Constants

VERSION

Public Class Methods

execute(url, query, headers, variables = {}) click to toggle source
# File lib/gql_client.rb, line 8
def self.execute(url, query, headers, variables = {})
  url = URI(url)
  http = Net::HTTP.new(url.host, url.port)

  request = Net::HTTP::Post.new(url, headers)
  request["cookie"] = 'request_method=POST'
  request["content-type"] = 'application/json'

  body = {
    "query": query,
    "variables": variables
  }

  request.body = body.to_json

  response = http.request(request)
  response.code == "200" ? JSON.parse(response.read_body) : response.read_body
end