ref: a62654ed1b81fb99271d6a7e8ebe7a870ea1099c
dir: /appl/charon/url.m/
Url: module { PATH : con "/dis/charon/url.dis"; # "Common Internet Scheme" url syntax (rfc 1808) # # <scheme>://<user>:<passwd>@<host>:<port>/<path>;<params>?<query>#<fragment> # # relative urls might omit some prefix of the above # the path of absolute urls include the leading '/' Parsedurl: adt { scheme: string; user: string; passwd: string; host: string; port: string; path: string; params: string; query: string; frag: string; tostring: fn(u: self ref Parsedurl): string; }; init: fn(): string; # call before anything else parse: fn(url: string): ref Parsedurl; mkabs: fn(u, base: ref Parsedurl): ref Parsedurl; };