<div dir="ltr"><div><div>Hi,<br><br></div>just figured out that http_uri:encode function doesn't percent-encode control characters, like this:<br><br></div><div>```<br></div>http_uri:encode("new\nlines\nhere").<br>"new\nlines\nhere"<br clear="all"><div><div><div><div><div>```<br><br>RFC3986 (<a href="https://www.ietf.org/rfc/rfc3986.txt">https://www.ietf.org/rfc/rfc3986.txt</a>) states that:<br><br>A percent-encoding mechanism is used to represent a data octet in a<br>   component when that octet's corresponding character is outside the<br>   allowed set or is being used as a delimiter of, or within, the<br>   component.<br><br>Characters that are allowed in a URI but do not have a reserved<br>   purpose are called unreserved.  These include uppercase and lowercase<br>   letters, decimal digits, hyphen, period, underscore, and tilde.<br><br>      unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"<br><br></div><div>So it looks like control characters are not allowed in URI and should be encoded.<br></div><div>I wonder why http_uri behaves like this, is it intentional?<br></div><div><br></div><div>Erlang 17.5.3<br></div><div>-- <br><div class="gmail_signature">Mikl</div>
</div></div></div></div></div></div>