[Seaside-dev] WAUrl decoding $+ when it should not (ZnUrl too)
Johan Brichau
johan at inceptive.be
Fri Feb 14 20:58:36 UTC 2014
Hey Sven,
Very much appreciated.
Btw, in the blogpost I reference, I do read that $+ is only permitted in the path segment. In the query segment, the $+ should be encoded (see quote below).
In the Seaside tests (and my code fragments), it happens inside the query segment.
Quote from [2]:
For HTTP URLs, a space in a path fragment part has to be encoded to "%20" (not, absolutely not "+"), while the "+" character in the path fragment part can be left unencoded.
Now in the query part, spaces may be encoded to either "+" (for backwards compatibility: do not try to search for it in the URI standard) or "%20" while the "+" character (as a result of this ambiguity) has to be escaped to "%2B".
I had to read the blogpost again after writing the previous email to notice that. Whoever came to the idea of different reserved characters per segment really never actually implemented it :-/
Johan
On 14 Feb 2014, at 21:46, Sven Van Caekenberghe <sven at stfx.eu> wrote:
> Hi Johan,
>
> On 14 Feb 2014, at 21:23, Johan Brichau <johan at inceptive.be> wrote:
>
>> Both assertions above should actually be false, imho.
>>
>> So, am I correct that we should fix WAUrl ?
>>
>> Feedback appreciated!
>
> Just wait a bit, I am working on it, but I was not yet ready.
>
> I also think that the following is wrong (and silly):
>
> ZnZincServerAdaptor>>#requestUrlFor: aZincRequest
> ^ (WAUrl absolute: aZincRequest uri greaseString)
> decodedWith: self codec.
>
> I hope to get back to you over the WE.
>
> Sven
> _______________________________________________
> seaside-dev mailing list
> seaside-dev at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
More information about the seaside-dev
mailing list