Class: ROM::Solr::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/rom/solr/request.rb

Class Method Summary collapse

Class Method Details

.call(dataset) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/rom/solr/request.rb', line 5

def self.call(dataset)
  uri = URI(dataset.uri)
  uri.query = URI.encode_www_form(dataset.params)

  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true if uri.scheme.eql?('https')

  request_class = Net::HTTP.const_get(ROM::Inflector.classify(dataset.request_method))
  request = request_class.new(uri.request_uri)

  dataset.headers.each_with_object(request) do |(header, value), request|
    request[header.to_s] = value
  end

  http.request(request)
end