class Esearch::Request

Request used to interface elasticsearch

Constants

EMPTY_HASH

Attributes

body[R]

Return body

@return [Hash]

@api private

params[R]

Return params

@return [Hash]

@api private

path[R]

Return path

@return [String]

@api private

verb[R]

Return http verb

@return [Symbol]

@api private

Public Class Methods

new(verb, path, body = EMPTY_HASH, params = EMPTY_HASH) click to toggle source

Initialize object

@param [Symbol] verb @param [String] path @param [Hash] body @param [Hash] params

@return [undefined]

@api private

# File lib/esearch/request.rb, line 54
def initialize(verb, path, body = EMPTY_HASH, params = EMPTY_HASH)
  @verb, @path, @body, @params = verb, path.to_s, body, params
end

Public Instance Methods

log_string() click to toggle source

Return log string

@return [String]

@api private

# File lib/esearch/request.rb, line 64
def log_string
  "#{verb.upcase} #{path} : #{params} : #{body}"
end
run(connection) click to toggle source

Run request on connection

@param [Faraday::Connection]

@return [Faraday::Response]

@api private

# File lib/esearch/request.rb, line 77
def run(connection)
  connection.public_send(verb, path) do |request|
    request.params = params
    request.headers[:content_type] = Command::JSON_CONTENT_TYPE
    request.body = MultiJson.dump(body)
  end
end