Tests: Preserve param order on POST
This commit is contained in:
parent
04e26ba6b8
commit
2a882aa58d
@ -1,31 +1,22 @@
|
|||||||
require 'net/http'
|
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_url params
|
def params_to_string params
|
||||||
kv_pairs = params.map { |kv| kv[0].to_s + "=" + kv[1].to_s }
|
kv_pairs = params.map { |kv| kv[0].to_s + "=" + kv[1].to_s }
|
||||||
url = kv_pairs.size > 0 ? ("?" + kv_pairs.join("&")) : ""
|
url = kv_pairs.size > 0 ? kv_pairs.join("&") : ""
|
||||||
return url
|
return url
|
||||||
end
|
end
|
||||||
|
|
||||||
# Converts an array [["param","val1"], ["param","val2"]] into ["param"=>["val1", "val2"]]
|
|
||||||
def params_to_map params
|
|
||||||
result = {}
|
|
||||||
params.each do |pair|
|
|
||||||
if not result.has_key? pair[0]
|
|
||||||
result[pair[0]] = []
|
|
||||||
end
|
|
||||||
result[pair[0]] << [pair[1]]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def send_request base_uri, parameters
|
def send_request base_uri, parameters
|
||||||
Timeout.timeout(OSRM_TIMEOUT) do
|
Timeout.timeout(OSRM_TIMEOUT) do
|
||||||
if @http_method.eql? "POST"
|
if @http_method.eql? "POST"
|
||||||
uri = URI.parse base_uri
|
uri = URI.parse base_uri
|
||||||
@query = uri.to_s
|
@query = uri.to_s
|
||||||
response = Net::HTTP.post_form uri, (params_to_map parameters)
|
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
|
||||||
else
|
else
|
||||||
uri = URI.parse base_uri+(params_to_url parameters)
|
uri = URI.parse(base_uri + "?" + params_to_string(parameters))
|
||||||
@query = uri.to_s
|
@query = uri.to_s
|
||||||
response = Net::HTTP.get_response uri
|
response = Net::HTTP.get_response uri
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user