A parsed URI, such as a URL.

See also:

Static Properties

base Uri
read-only

Returns the natural base URI for the current platform.

Static Methods

decodeComponent(String encodedComponent) → String

Decodes the percent-encoding in encodedComponent.

decodeFull(String uri) → String

Decodes the percent-encoding in uri.

decodeQueryComponent(String encodedComponent, {Encoding encoding: UTF8}) → String

Decodes the percent-encoding in encodedComponent, converting pluses to spaces.

encodeComponent(String component) → String

Encode the string component using percent-encoding to make it safe for literal use as a URI component.

encodeFull(String uri) → String

Encode the string uri using percent-encoding to make it safe for literal use as a full URI.

encodeQueryComponent(String component, {Encoding encoding: UTF8}) → String

Encode the string component according to the HTML 4.01 rules for encoding the posting of a HTML form as a query string component.

parse(String uri, [int start = 0, int end]) → Uri

Creates a new Uri object by parsing a URI string.

parseIPv4Address(String host) → List<int>

Parse the host as an IP version 4 (IPv4) address, returning the address as a list of 4 bytes in network byte order (big endian).

parseIPv6Address(String host, [int start = 0, int end]) → List<int>

Parse the host as an IP version 6 (IPv6) address, returning the address as a list of 16 bytes in network byte order (big endian).

splitQueryString(String query, {Encoding encoding: UTF8}) → Map<String,String>

Returns the query split into a map according to the rules specified for FORM post in the HTML 4.01 specification section 17.13.4. Each key and value in the returned map has been decoded. If the query is the empty string an empty map is returned.

Properties

authority String
read-only

Returns the authority component.

fragment String
read-only

Returns the fragment identifier component.

hasAuthority bool
read-only

Returns whether the URI has an authority component.

hasFragment bool
read-only

Returns whether the URI has a fragment part.

hashCode int
read-only

hasPort bool
read-only

Returns whether the URI has an explicit port.

hasQuery bool
read-only

Returns whether the URI has a query part.

host String
read-only

Returns the host part of the authority component.

isAbsolute bool
read-only

Returns whether the URI is absolute.

origin String
read-only

Returns the origin of the URI in the form scheme://host:port for the schemes http and https.

path String
read-only

Returns the path component.

pathSegments List<String>
read-only

Returns the URI path split into its segments. Each of the segments in the returned list have been decoded. If the path is empty the empty list will be returned. A leading slash / does not affect the segments returned.

port int
read-only

Returns the port part of the authority component.

query String
read-only

Returns the query component. The returned query is encoded. To get direct access to the decoded query use queryParameters.

queryParameters Map<String,String>
read-only

Returns the URI query split into a map according to the rules specified for FORM post in the HTML 4.01 specification section 17.13.4. Each key and value in the returned map has been decoded. If there is no query the empty map is returned.

scheme String
read-only

Returns the scheme component.

userInfo String
read-only

Returns the user info part of the authority component.

Constructors

Uri({String scheme: "", String userInfo: "", String host, int port, String path, Iterable<String> pathSegments, String query, Map<String,String> queryParameters, String fragment})

Creates a new URI from its components.

Uri.file(String path, {bool windows})

Creates a new file URI from an absolute or relative file path.

Uri.http(String authority, String unencodedPath, [Map<String,String> queryParameters])

Creates a new http URI from authority, path and query.

Uri.https(String authority, String unencodedPath, [Map<String,String> queryParameters])

Creates a new https URI from authority, path and query.

Operators

operator ==(other) → bool

The equality operator.

Methods

replace({String scheme, String userInfo, String host, int port, String path, Iterable<String> pathSegments, String query, Map<String,String> queryParameters, String fragment}) → Uri

Returns a new Uri based on this one, but with some parts replaced.

resolve(String reference) → Uri

Resolve reference as an URI relative to this.

resolveUri(Uri reference) → Uri

Resolve reference as an URI relative to this.

toFilePath({bool windows}) → String

Returns the file path from a file URI.

toString() → String

Returns a string representation of this object.