Class: Geocoder::Lookup::SensisBase
- Inherits:
-
Base
- Object
- Base
- Geocoder::Lookup::SensisBase
show all
- Defined in:
- lib/geocoder/sensis.rb
Overview
Instance Method Summary
collapse
Instance Method Details
#make_api_request(query) ⇒ Object
Override the base method because it’s hard-coded to use Get. TODO: Raise PR upstream to allow other request methods.
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/geocoder/sensis.rb', line 44
def make_api_request(query)
timeout(configuration.timeout) do
uri = URI.parse(query_url(query))
http_client.start(uri.host, uri.port, :use_ssl => true) do |client|
req = Net::HTTP::Post.new(uri.request_uri, configuration.)
req.basic_auth(uri.user, uri.password) if uri.user and uri.password
req.body = sensis_query_json(query)
req.content_type = 'application/json'
req['X-Auth-Token'] = configuration.api_key[0]
req['X-Auth-Password'] = configuration.api_key[1]
client.request(req)
end
end
end
|
#protocol ⇒ Object
29
30
31
|
# File 'lib/geocoder/sensis.rb', line 29
def protocol
"https"
end
|
#query_url(query) ⇒ Object
25
26
27
|
# File 'lib/geocoder/sensis.rb', line 25
def query_url(query)
"https://#{sensis_host}/v2/service/geocode/#{request_type}" + url_query_string(query)
end
|
#required_api_key_parts ⇒ Object
21
22
23
|
# File 'lib/geocoder/sensis.rb', line 21
def required_api_key_parts
["auth token", "auth password"]
end
|
#results(query) ⇒ Object
33
34
35
36
37
38
|
# File 'lib/geocoder/sensis.rb', line 33
def results(query)
doc = fetch_data(query)
return [] unless doc
raise Exception.new('Incorrect API key') if doc["code"] == 401
doc["results"]
end
|