postrank-labs/goliath

URI.parse error

towonzhou opened this issue · 1 comments

if i get a ur what "|" in the params, like "http://localhost:3000?hello= igrigorik|zhou"
i will this error

/lib/ruby/1.9.1/uri/common.rb:176:in `split': bad URI(is not URI?): /?hello=igrigorik|zhou (URI::InvalidURIError)

if a change the line
goliath/request.rb:91
uri = URI(parser.request_url)
to
uri = URI(parser.request_url.gsub("|","%7C"))

it works.
is this a bug?

dj2 commented

It's a bug in the code sending the URL in the first place. You need to encode the %7C before making the request to Goliath.