D Programming Language
Improve this page Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone. Page wiki View or edit the community-maintained wiki page associated with this page.

# std.uri

Encode and decode Uniform Resource Identifiers (URIs). URIs are used in internet transfer protocols. Valid URI characters consist of letters, digits, and the characters ;/?:@&=+$,-.!~*'() Reserved URI characters are ;/?:@&=+$, Escape sequences consist of % followed by two hex digits.

See Also:
RFC 3986
Wikipedia

License:
Boost License 1.0.

Authors:
Walter Bright

Source:
std/uri.d

string decode(Char)(in Char[] encodedURI) if (isSomeChar!Char);
  Decodes the URI string encodedURI into a UTF-8 string and returns it. Escape sequences that resolve to reserved URI characters are not replaced. Escape sequences that resolve to the '#' character are not replaced.

string decodeComponent(Char)(in Char[] encodedURIComponent) if (isSomeChar!Char);
  Decodes the URI string encodedURI into a UTF-8 string and returns it. All escape sequences are decoded.

string encode(Char)(in Char[] uri) if (isSomeChar!Char);
  Encodes the UTF-8 string uri into a URI and returns that URI. Any character not a valid URI character is escaped. The '#' character is not escaped.

string encodeComponent(Char)(in Char[] uriComponent) if (isSomeChar!Char);
  Encodes the UTF-8 string uriComponent into a URI and returns that URI. Any character not a letter, digit, or one of -.!~*'() is escaped.

size_t uriLength(Char)(in Char[] s) if (isSomeChar!Char);
  Does string s[] start with a URL?

  Returns:
  -1 it does not len it does, and s[0..len] is the slice of s[] that is that URL

size_t emailLength(Char)(in Char[] s) if (isSomeChar!Char);
  Does string s[] start with an email address?

  Returns:
  -1 it does not len it does, and s[0..i] is the slice of s[] that is that email address

  References:
  RFC2822

Copyright Digital Mars 2000 - 2009. | Page generated by Ddoc.