33 lines
768 B
Ruby
33 lines
768 B
Ruby
require 'net/http'
|
|
|
|
def request_locate_url path, method={}
|
|
@query = path
|
|
|
|
if method.has_key?("post")
|
|
request_method = "POST"
|
|
else
|
|
request_method = "GET"
|
|
end
|
|
if request_method.eql? "GET"
|
|
uri = URI.parse "#{HOST}/#{path}"
|
|
elsif request_method.eql? "POST"
|
|
uri = URI.parse "#{HOST}/locate"
|
|
end
|
|
Timeout.timeout(OSRM_TIMEOUT) do
|
|
if request_method.eql? "GET"
|
|
Net::HTTP.get_response uri
|
|
elsif request_method.eql? "POST"
|
|
path.slice!(0, 11)
|
|
Net::HTTP.post_form uri, "loc" => path
|
|
end
|
|
end
|
|
rescue Errno::ECONNREFUSED => e
|
|
raise "*** osrm-routed is not running."
|
|
rescue Timeout::Error
|
|
raise "*** osrm-routed did not respond."
|
|
end
|
|
|
|
def request_locate a, method
|
|
request_locate_url "locate?loc=#{a}", method
|
|
end
|