users@jsr311.java.net

Re: UriBuilder.buildFromEncoded() spec interpretation

From: cowwoc <cowwoc_at_bbs.darktech.org>
Date: Sat, 24 Jan 2009 15:52:45 -0500

        Sounds confusing to me. Frankly I'd expect the code to throw an
exception if the string contained "invalid" encoding sequences such as %ba.

Gili

Andrzej Michalec wrote:
> Hi,
> I am looking for clarification of JAX-RS specification 1.0 for
> "UriBuilder.build(Object... values)" in encoding context.
> Spec says that "All '%' characters in the stringified values will be
> encoded." This note matches behavior or URLEncoder, since % must be
> encoded anyway.
> My problem is that for "UriBuilder.buildFromEncoded(Object... values)"
> spec says "All % characters in the stringified values that are not
> followed by two hexadecimal numbers will be encoded".
>
> My interpretation of spec authors' intention is that: passed values
> are already encoded e.g. non-encoded value "foo%bar" must be encoded
> to "foo%25bar" and passed here. However if there are any '%' not
> matching percent-with-two-hexes like second '%' in "foo%25bar%baz".
> Their encoding should be forced. I think then "foo%25bar%baz" should
> become "foo%25bar%25baz". If URLEncoder would be applied once more
> result would be different, both percent chars would be affected
> leading to "foo%2525bar%25baz".
>
> How should "buildFromEncoded()" behave when "foo+bar" is passed? If
> '%' char encoding is forced also '+' char should be, leading to
> "foo%2Bbar".
>
> I see behavior of "buildFromEncoded" as not aligned with URLEncode
> behavior. This "extra" safety rule is not necessary for me... can
> anybody explain this aspect?
>
> cheers,
> andy.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jsr311.dev.java.net
> For additional commands, e-mail: users-help_at_jsr311.dev.java.net