Johan, On 14 Feb 2014, at 09:43, Johan Brichau <johan@inceptive.be> wrote:
Hey Sven,
Thanks for fixing that. We're close to getting Yesplan working on Pharo3 now.
That is very good to hear, keep on pushing ! It would be a super cool reference for Pharo 3. I am working with the latest Seaside (Bootstrap) on Pharo 3 this week and I am quite pleased as well, thanks for all the hard working getting the codebase and configs working.
However, yesterday I stumbled upon another problem. It seems that a percent-encoded '+' (i.e. %2B) get eaten by Zinc and converted into a space (ie. %20). The following test fails in latest Zinc but works in a Zinc on Pharo 1.4:
| input request |
input := 'GET http://localhost/foo+%2B+bar HTTP/1.1', String crlf, String crlf. request := ZnRequest readFrom: input readStream. self assert: (request url pathSegments hasEqualElements: #('foo%20%2B%20bar')).
I'm tracing if I can find the actual source of the problem.
Again, I think this can be simplified to URL parsing. 'http://localhost/foo+%2B+bar' asZnUrl. => 'http://localhost/foo%20+%20bar' 'http://localhost/foo+%2B+bar' asZnUrl firstPathSegment. => 'foo + bar' But I think it is correct, unless you read the specs differently. There were indeed some recent , under the hood changes to which characters are allowed in which part of URLs, I did that together with Jan van de Sandt, and we thought we had everything covered, but it is hard to be sure. See ZnUrl>>#encodePath:on: ZnUrl>>#encodeQuery:on: to get started. Sven
regards Johan
On 13 Feb 2014, at 22:47, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Hi Kris,
I fixed the problem that you reported. It was a regression caused when adding support for parsing mailto: URLs which don't have a // in them. There is now a new explicit test for parsing '/foo:bar' asZnUrl.
Thanks again for reporting this problem!
Sven
In #bleedingEdge:
=== Name: Zinc-Resource-Meta-Core-SvenVanCaekenberghe.31 Author: SvenVanCaekenberghe Time: 13 February 2014, 10:41:58.821615 pm UUID: dee515f8-aff3-4930-8b90-da2b01e1ee33 Ancestors: Zinc-Resource-Meta-Core-SvenVanCaekenberghe.30
Patch ZnUrl>>#parseFrom:defaultScheme: to parse schemes more carefully so that a colon in a path does not mess things up - see also the regression test ZnUrlTests>>#testNoSchemeColonInPath parsing /foo:bar (thanks Kris Gijbels) === Name: Zinc-Resource-Meta-Tests-SvenVanCaekenberghe.19 Author: SvenVanCaekenberghe Time: 13 February 2014, 10:42:42.63619 pm UUID: 264c99fe-52ef-4f4a-8a25-fc870f34cfb2 Ancestors: Zinc-Resource-Meta-Tests-SvenVanCaekenberghe.18
Patch ZnUrl>>#parseFrom:defaultScheme: to parse schemes more carefully so that a colon in a path does not mess things up - see also the regression test ZnUrlTests>>#testNoSchemeColonInPath parsing /foo:bar (thanks Kris Gijbels) ===