which the SQS service then rejects, because the whitespace in the foo bar should be encoded as %20 in the query parameter, instead of +.
I think that " " => "+" in query parameter is allowed by some services, since I didn't find an issue in this repository for this behavior, but strictly speaking, in URL encoding, the whitespace character should be encoded as %20.
Noting that a workaround, if one happens to run into this issue, is to append the query parameters to the URL, and ring.util.codec/url-encode can be used then for encoding.
Hi!
I ran into the following when talking to AWS SQS, when I sent data like
which get's encoded into
which the SQS service then rejects, because the whitespace in the
foo bar
should be encoded as%20
in the query parameter, instead of+
.I think that
" " => "+"
in query parameter is allowed by some services, since I didn't find an issue in this repository for this behavior, but strictly speaking, in URL encoding, the whitespace character should be encoded as%20
.clj-http uses java.net.URLEncoder and java.net.URLDecoder for both form and url encoding/decoding, but URLEncoder/URLDecoder documentation says:
Ring-Codec has utilities for both url and form encoding/decoding:
So I guess ring-codec could be used.