From c05d23a586e20707e89159523efee5ba7593fe8a Mon Sep 17 00:00:00 2001 From: Patrick Niklaus Date: Thu, 21 Jan 2016 19:57:07 +0100 Subject: [PATCH] Fix POST request --- features/support/http.rb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/features/support/http.rb b/features/support/http.rb index 1c9538eef..d2dbf31e1 100644 --- a/features/support/http.rb +++ b/features/support/http.rb @@ -1,6 +1,6 @@ require 'net/http' -# Converts an array [["param","val1"], ["param","val2"]] into ?param=val1¶m=val2 +# Converts an array [["param","val1"], ["param","val2"]] into param=val1¶m=val2 def params_to_string params kv_pairs = params.map { |kv| kv[0].to_s + "=" + kv[1].to_s } url = kv_pairs.size > 0 ? kv_pairs.join("&") : "" @@ -9,15 +9,16 @@ end def send_request base_uri, parameters Timeout.timeout(OSRM_TIMEOUT) do + uri_string = base_uri + "?" + params_to_string(parameters) + uri = URI.parse(uri_string) + @query = uri.to_s if @http_method.eql? "POST" - uri = URI.parse base_uri - @query = uri.to_s - req = Net::HTTP::Post.new('localhost:8000') - req.body = params_to_string parameters - response = Net::HTTP.start(uri.hostname, uri.port) do |http| http.request(req) end + Net::HTTP.start(uri.hostname, uri.port) do |http| + req = Net::HTTP::Post.new(uri.path) + req.body = params_to_string parameters + response = http.request(req) + end else - uri = URI.parse(base_uri + "?" + params_to_string(parameters)) - @query = uri.to_s response = Net::HTTP.get_response uri end end