Closed
Description
UriTemplate.expand does not properly escape reserved characters in values for path-style parameter expansion (e.g., templates of the form "{;foo}").
See the relevant section of RFC6570, which reads to me as indicating that reserved characters in values should be escaped. For comparison, the Python uritemplate package does escape reserved characters such as semicolons in this case.
Example code:
String url = UriTemplate.expand("http://example.com/index.html", "{;foo}",
ImmutableMap.of("foo", "bar;xyz") ,false);
// url == http://example.com/index.html;foo=bar;xyz
// expected == http://example.com/index.html;foo=bar%3Bxyz