24 lines
590 B
Ruby
24 lines
590 B
Ruby
require 'net/http'
|
|
|
|
HOST = "http://127.0.0.1:#{OSRM_PORT}"
|
|
|
|
def request_post_url service, param_string
|
|
uri = URI.parse"#{HOST}/#{service}"
|
|
@query = uri.to_s
|
|
Timeout.timeout(OSRM_TIMEOUT) do
|
|
params = {}
|
|
values = param_string.split("loc=")
|
|
locs = []
|
|
values.each do |value|
|
|
locs << "#{value}".gsub(/[&]/, '')
|
|
end
|
|
locs.reject! { |c| c.empty? }
|
|
params.merge!(loc: locs)
|
|
Net::HTTP.post_form uri, params
|
|
end
|
|
rescue Errno::ECONNREFUSED => e
|
|
raise "*** osrm-routed is not running."
|
|
rescue Timeout::Error
|
|
raise "*** osrm-routed did not respond."
|
|
end
|