url icon indicating copy to clipboard operation
url copied to clipboard

Two "?"s added to url

Open MartinSStewart opened this issue 5 years ago • 1 comments

I wanted to take an existing url and modify the query parameters. I noticed Url is just a record type so I figured the correct way to do this is

{ currentUrl
    | query =
        Url.Builder.toQuery [ Url.Builder.string "data" "test" ] |> Just
}
    |> Url.toString

but when I did that the result was http://localhost:3000/??data=test instead of http://localhost:3000/?data=test.

This seems to be a bug or at least unintuitive behavior and what I ended up doing to make it work was add String.dropLeft 1 to the toQuery output.

MartinSStewart avatar Oct 28 '19 11:10 MartinSStewart

Same problem (and same workaround) here.

Although you can't say that the behaviour of the toQuery function is wrong, it is a pitfall that the produced output is not a direct acceptable input for the query field of the Url record in the same package.

Just mentioning the exact requirements of the query field of the Url record and what toQuery actually produces in the docs would be immensely helpful to avoid this pitfall.

tmohme avatar Mar 18 '20 14:03 tmohme