March 24, 2012 What about Uri class? | ||||
|---|---|---|---|---|
| ||||
What about a Uri class to build/split uri in components?
Reading RFC, there's a regex to split uri:
string url = "http://example.com/path/subpath/?query=val&query2=val#frag";
enum ctr = ctRegex!(r"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?");
auto m = match(url, ctr);
if (m)
{
writeln("scheme " ~ m.captures[2]);
writeln("autority " ~ m.captures[4]);
writeln("path " ~ m.captures[5]);
writeln("query " ~ m.captures[7]);
writeln("fragment " ~ m.captures[9]);
}
It would be useful to have it on phobos, and adding some method to build up uri too. On std.path we have functions for path operations...
| ||||
March 24, 2012 Re: What about Uri class? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrea Fontana | "Andrea Fontana" <nospam@example.com> wrote in message news:ojmxjzkuimgrtpvedofq@forum.dlang.org... > What about a Uri class to build/split uri in components? > > Reading RFC, there's a regex to split uri: > > > string url = > "http://example.com/path/subpath/?query=val&query2=val#frag"; > enum ctr = > ctRegex!(r"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?"); > > auto m = match(url, ctr); > if (m) > { > writeln("scheme " ~ m.captures[2]); > writeln("autority " ~ m.captures[4]); > writeln("path " ~ m.captures[5]); > writeln("query " ~ m.captures[7]); > writeln("fragment " ~ m.captures[9]); > } > > It would be useful to have it on phobos, and adding some method to build up uri too. On std.path we have functions for path operations... > Yea, something like that would be a very good thing to have in Phobos. | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply