uri::split "http://a.b.c/idx?path=/idx"
results in
path: "idx?path=/idx"
query: ""
I think the "/" in the query confuses the regexp
in "SplitHttp"
Fixing:
variable charN {[a-zA-Z0-9$_.+!*'(,)?:@&=-]}
to:
variable charN {[a-zA-Z0-9$_.+!*'(,)?:@/&=-]}
(Note the "/")
results in the correct result.
I'm not quite sure if this does affect other functions?
I ran the "uri.test" but got 12 failures (before and after
my change!).
I'm using uri 1.1.3 (with tcl 8.4.5 on WindowsXP).
Logged In: YES
user_id=714202
Another failure is http://host/path1/path2?param=value#fragment :
% uri::split "http://host/path1/path2?param=value#fragment"
fragment fragment port {} path path1/path2?param=value scheme http host host query {}
instead of
fragment fragment port {} path path1/path2 scheme http host host query param=value
The obvious solution would be to use a variation of the regular expression given in Appendix B of http://www.ietf.org/rfc/rfc2396.txt (the variation being directly splitting host and port).