Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This removes the use of the deprecated
http_uri
module and replaces it with the recommenduri_string
module.uri_string
has been recommended since OTP 21, andhttp_uri
will be removed completely in OTP 26.Changes
This uses
uri_string:compose_query/1
to build up the query parameters (instead of manually concatenating a binary). It relies on the the function's behavior that will put keys and values throughuri_string:quote()
(so we must be sure we don't double-encode).In testing several XML payloads run through
base64:encode_to_string(zlib:zip(Req))
and then comparing the results of bothhttp_uri:encode()
vs.uri_string:quote()
, my results consistently matched. If there is a known difference between the output of the two functions?Unknowns
uri_string:normalize()
on theRelayState
also doing percent encoding?"username"
parameter to theQueryList
?