class Graphlient::Adapters::HTTP::HTTPAdapter
Public Instance Methods
connection()
click to toggle source
# File lib/graphlient/adapters/http/http_adapter.rb, line 29 def connection Net::HTTP.new(uri.host, uri.port).tap do |client| client.use_ssl = uri.scheme == 'https' configure_http_options(client) end end
execute(document:, operation_name: nil, variables: {}, context: {})
click to toggle source
# File lib/graphlient/adapters/http/http_adapter.rb, line 7 def execute(document:, operation_name: nil, variables: {}, context: {}) request = Net::HTTP::Post.new(url) request['Accept'] = 'application/json' request['Content-Type'] = 'application/json' headers && headers.each { |name, value| request[name] = value } body = {} body['query'] = document.to_query_string body['variables'] = variables if variables.any? body['operationName'] = operation_name if operation_name request.body = JSON.generate(body) response = connection.request(request) raise Graphlient::Errors::HttpServerError, response unless response.is_a?(Net::HTTPOK) JSON.parse(response.body) end
uri()
click to toggle source
# File lib/graphlient/adapters/http/http_adapter.rb, line 25 def uri @uri ||= URI(url) end