class Delfos::Neo4j::QueryExecution::Http

Attributes

uri[R]

Public Class Methods

new(uri) click to toggle source
# File lib/delfos/neo4j/query_execution/http.rb, line 11
def initialize(uri)
  @uri = uri
end

Public Instance Methods

get() click to toggle source
# File lib/delfos/neo4j/query_execution/http.rb, line 19
def get
  response(build_get)
end
post(body) click to toggle source
# File lib/delfos/neo4j/query_execution/http.rb, line 15
def post(body)
  response(build_post(body))
end

Private Instance Methods

add_headers(request) click to toggle source
# File lib/delfos/neo4j/query_execution/http.rb, line 53
def add_headers(request)
  request.initialize_http_header("Accept" => "application/json; charset=UTF-8")
  request.basic_auth(Delfos.neo4j.username, Delfos.neo4j.password)
  request.content_type = "application/json"
end
build_get() click to toggle source
# File lib/delfos/neo4j/query_execution/http.rb, line 41
def build_get
  build_request("Get") do |request|
    add_headers(request)
  end
end
build_post(body) click to toggle source
# File lib/delfos/neo4j/query_execution/http.rb, line 33
def build_post(body)
  build_request("Post") do |request|
    add_headers(request)

    request.body = body
  end
end
build_request(type) { |request| ... } click to toggle source
# File lib/delfos/neo4j/query_execution/http.rb, line 47
def build_request(type)
  Net::HTTP.const_get(type).new(uri.request_uri).tap do |request|
    yield request
  end
end
response(request) click to toggle source
# File lib/delfos/neo4j/query_execution/http.rb, line 25
def response(request)
  http = Net::HTTP.new(uri.host, uri.port)

  http.request(request)
rescue *HTTP_ERRORS => e
  raise ConnectionError, e
end