Class Uri
- java.lang.Object
-
- akka.http.scaladsl.model.Uri
-
- All Implemented Interfaces:
java.io.Serializable
,scala.Equals
,scala.Product
- Direct Known Subclasses:
Uri.Empty$
public abstract class Uri extends java.lang.Object implements scala.Product, java.io.Serializable
An immutable model of an internet URI as defined by https://tools.ietf.org/html/rfc3986. All members of this class represent the *decoded* URI elements (i.e. without percent-encoding), with the exception of 'rawQueryString': rawQueryString should be a string that only contains characters permitted by https://tools.ietf.org/html/rfc3986#section-3.4, any other characters must be percent-encoded (for example through UriParser.parseRawQueryString)- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Uri.Authority
param: port A port number that may be0
to signal the default port of for scheme.static class
Uri.Authority$
static class
Uri.Empty$
static class
Uri.Host
static class
Uri.Host$
static class
Uri.IPv4Host
static class
Uri.IPv4Host$
static class
Uri.IPv6Host
static class
Uri.IPv6Host$
static class
Uri.NamedHost
static class
Uri.NamedHost$
static class
Uri.NonEmptyHost
static interface
Uri.ParsingMode
static class
Uri.ParsingMode$
static class
Uri.Path
static class
Uri.Path$
static class
Uri.Query
static class
Uri.Query$
-
Constructor Summary
Constructors Constructor Description Uri(java.lang.String scheme, Uri.Authority authority, Uri.Path path, scala.Option<java.lang.String> rawQueryString, scala.Option<java.lang.String> fragment)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static Uri
apply(akka.parboiled2.ParserInput input)
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1.static Uri
apply(akka.parboiled2.ParserInput input, Uri.ParsingMode mode)
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1.static Uri
apply(akka.parboiled2.ParserInput input, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1.static Uri
apply(java.lang.String input)
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1.static Uri
apply(java.lang.String scheme, Uri.Authority authority, Uri.Path path, scala.Option<java.lang.String> queryString, scala.Option<java.lang.String> fragment)
Creates a new Uri instance from the given components.Uri.Authority
authority()
static Uri.Path
collapseDotSegments(Uri.Path path)
Uri
copy(java.lang.String scheme, Uri.Authority authority, Uri.Path path, scala.Option<java.lang.String> rawQueryString, scala.Option<java.lang.String> fragment)
Returns a copy of this Uri with the given components.static Uri
create(java.lang.String scheme, Uri.Authority authority, Uri.Path path, scala.Option<java.lang.String> queryString, scala.Option<java.lang.String> fragment)
static Uri
create(java.lang.String scheme, java.lang.String userinfo, Uri.Host host, int port, Uri.Path path, scala.Option<java.lang.String> queryString, scala.Option<java.lang.String> fragment)
static Uri
createUnsafe(java.lang.String scheme, Uri.Authority authority, Uri.Path path, scala.Option<java.lang.String> queryString, scala.Option<java.lang.String> fragment)
'Unsafe' in the sense that queryString validation must already have been done.static java.lang.String
decode(java.lang.String string, java.nio.charset.Charset charset)
static java.lang.String
decode(java.lang.String string, java.nio.charset.Charset charset, int ix, java.lang.StringBuilder sb)
static Uri
effectiveHttpRequestUri(java.lang.String scheme, Uri.Host host, int port, Uri.Path path, scala.Option<java.lang.String> query, scala.Option<java.lang.String> fragment, boolean securedConnection, Uri.Host hostHeaderHost, int hostHeaderPort, Uri.Authority defaultAuthority)
Converts a set of URI components to an "effective HTTP request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5.int
effectivePort()
The effective port of this Uri given the currently set authority and scheme values.static Uri
effectiveRequestUri(java.lang.String scheme, Uri.Host host, int port, Uri.Path path, scala.Option<java.lang.String> query, scala.Option<java.lang.String> fragment, java.lang.String defaultScheme, Uri.Host hostHeaderHost, int hostHeaderPort, Uri.Authority defaultAuthority)
Converts a set of URI components to an "effective request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5.static scala.runtime.Nothing$
fail(java.lang.String summary, java.lang.String detail)
scala.Option<java.lang.String>
fragment()
static Uri
from(java.lang.String scheme, java.lang.String userinfo, java.lang.String host, int port, java.lang.String path, scala.Option<java.lang.String> queryString, scala.Option<java.lang.String> fragment, Uri.ParsingMode mode)
Creates a new Uri instance from the given components.static java.lang.String
httpScheme(boolean securedConnection)
boolean
isAbsolute()
abstract boolean
isEmpty()
boolean
isRelative()
static java.lang.String
normalize(akka.parboiled2.ParserInput uri, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Normalizes the given URI string by performing the following normalizations: - thescheme
andhost
components are converted to lowercase - a potentially existingport
component is removed if it matches one of the defined default ports for the scheme - percent-encoded octets are decoded if allowed, otherwise they are converted to uppercase hex notation -.
and..
path segments are resolved as far as possiblestatic int
normalizePort(int port, java.lang.String scheme)
static java.lang.String
normalizeScheme(java.lang.String scheme)
static Uri
parseAbsolute(akka.parboiled2.ParserInput input, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses a string into a normalized absolute URI as defined by http://tools.ietf.org/html/rfc3986#section-4.3.static Uri
parseAndResolve(akka.parboiled2.ParserInput string, Uri base, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses a string into a normalized URI reference that is immediately resolved against the given base URI as defined by http://tools.ietf.org/html/rfc3986#section-5.2.static Uri.Authority
parseHttp2AuthorityPseudoHeader(akka.parboiled2.ParserInput headerValue, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses the given string as if it were the value of an HTTP/2 ":authority" pseudo-header.static scala.Tuple2<Uri.Path,scala.Option<java.lang.String>>
parseHttp2PathPseudoHeader(akka.parboiled2.ParserInput headerValue, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses the given string as if it were the value of an HTTP/2 ":path" pseudo-header.static Uri
parseHttpRequestTarget(akka.parboiled2.ParserInput requestTarget, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses the given string into an HTTP request target URI as defined by http://tools.ietf.org/html/rfc7230#section-5.3.Uri.Path
path()
Uri.Query
query(java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses the rawQueryString member into a Query instance.scala.Option<java.lang.String>
queryString(java.nio.charset.Charset charset)
Returns the query part of the Uri in its decoded form.scala.Option<java.lang.String>
rawQueryString()
Uri
resolvedAgainst(Uri base)
Returns a new absolute Uri that is the result of the resolution process defined by http://tools.ietf.org/html/rfc3986#section-5.2.2 The given base Uri must be absolute.static Uri
resolveUnsafe(java.lang.String scheme, java.lang.String userinfo, Uri.Host host, int port, Uri.Path path, scala.Option<java.lang.String> query, scala.Option<java.lang.String> fragment, Uri base)
https://tools.ietf.org/html/rfc3986#section-5.2.2java.lang.String
scheme()
Uri
toEffectiveHttpRequestUri(Uri.Host hostHeaderHost, int hostHeaderPort, boolean securedConnection, Uri.Authority defaultAuthority)
Converts this URI to an "effective HTTP request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5Uri
toEffectiveRequestUri(Uri.Host hostHeaderHost, int hostHeaderPort, java.lang.String defaultScheme, Uri.Authority defaultAuthority)
Converts this URI to an "effective request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5Uri
toHttpRequestTargetOriginForm()
Converts this URI into an HTTP request target "origin-form" as defined by https://tools.ietf.org/html/rfc7230#section-5.3.Uri
toRelative()
Converts this URI into a relative URI by keeping the path, query and fragment, but dropping the scheme and authority.java.lang.String
toString()
static Uri.Path
verifyPath(Uri.Path path, java.lang.String scheme, Uri.Host host)
static java.lang.String
websocketScheme(boolean securedConnection)
Uri
withAuthority(Uri.Authority authority)
Returns a copy of this Uri with the given authority.Uri
withAuthority(Uri.Host host, int port, java.lang.String userinfo)
Returns a copy of this Uri with a Authority created using the given host, port and userinfo.Uri
withAuthority(java.lang.String host, int port)
Returns a copy of this Uri with a Authority created using the given host and port.Uri
withFragment(java.lang.String fragment)
Returns a copy of this Uri with the given fragment.Uri
withHost(Uri.Host host)
Returns a copy of this Uri with the given host.Uri
withHost(java.lang.String host)
Returns a copy of this Uri with the given host.Uri
withoutFragment()
Drops the fragment from this URIUri
withPath(Uri.Path path)
Returns a copy of this Uri with the given path.Uri
withPort(int port)
Returns a copy of this Uri with the given port.Uri
withQuery(Uri.Query query)
Returns a copy of this Uri with the given query.Uri
withRawQueryString(java.lang.String rawQuery)
Returns a copy of this Uri with the given query string.Uri
withRawQueryString(java.lang.String rawQueryString, Uri.ParsingMode mode)
Returns a copy of this Uri with the given query string.Uri
withScheme(java.lang.String scheme)
Returns a copy of this Uri with the given scheme.Uri
withUserInfo(java.lang.String userinfo)
Returns a copy of this Uri with the given userinfo.
-
-
-
Constructor Detail
-
Uri
public Uri(java.lang.String scheme, Uri.Authority authority, Uri.Path path, scala.Option<java.lang.String> rawQueryString, scala.Option<java.lang.String> fragment)
-
-
Method Detail
-
apply
public static Uri apply(java.lang.String input)
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1. Percent-encoded octets are UTF-8 decoded. Accepts unencoded visible 7-bit ASCII characters in addition to the RFC. If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
input
- (undocumented)- Returns:
- (undocumented)
-
apply
public static Uri apply(akka.parboiled2.ParserInput input)
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1. Percent-encoded octets are decoded using the given charset (where specified by the RFC). Accepts unencoded visible 7-bit ASCII characters in addition to the rfc. If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
input
- (undocumented)- Returns:
- (undocumented)
-
apply
public static Uri apply(akka.parboiled2.ParserInput input, Uri.ParsingMode mode)
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1. Percent-encoded octets are decoded using the given charset (where specified by the RFC). If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.input
- (undocumented)- Returns:
- (undocumented)
-
apply
public static Uri apply(akka.parboiled2.ParserInput input, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses a valid URI string into a normalized URI reference as defined by http://tools.ietf.org/html/rfc3986#section-4.1. Percent-encoded octets are decoded using the given charset (where specified by the RFC). If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.input
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
apply
public static Uri apply(java.lang.String scheme, Uri.Authority authority, Uri.Path path, scala.Option<java.lang.String> queryString, scala.Option<java.lang.String> fragment)
Creates a new Uri instance from the given components. All components are verified and normalized except the authority which is kept as provided. If the given combination of components does not constitute a valid URI as defined by http://tools.ietf.org/html/rfc3986 the method throws anIllegalUriException
.- Parameters:
queryString
- percent-encoded query string. When characters are encountered that are outside of the RFC3986 range they are automatically percent-encodedscheme
- (undocumented)authority
- (undocumented)path
- (undocumented)fragment
- (undocumented)- Returns:
- (undocumented)
-
from
public static Uri from(java.lang.String scheme, java.lang.String userinfo, java.lang.String host, int port, java.lang.String path, scala.Option<java.lang.String> queryString, scala.Option<java.lang.String> fragment, Uri.ParsingMode mode)
Creates a new Uri instance from the given components. All components are verified and normalized. If the given combination of components does not constitute a valid URI as defined by http://tools.ietf.org/html/rfc3986 the method throws anIllegalUriException
.- Parameters:
scheme
- (undocumented)userinfo
- (undocumented)host
- (undocumented)port
- (undocumented)path
- (undocumented)queryString
- (undocumented)fragment
- (undocumented)mode
- (undocumented)- Returns:
- (undocumented)
-
parseAbsolute
public static Uri parseAbsolute(akka.parboiled2.ParserInput input, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses a string into a normalized absolute URI as defined by http://tools.ietf.org/html/rfc3986#section-4.3. Percent-encoded octets are decoded using the given charset (where specified by the RFC). If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.input
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
parseAndResolve
public static Uri parseAndResolve(akka.parboiled2.ParserInput string, Uri base, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses a string into a normalized URI reference that is immediately resolved against the given base URI as defined by http://tools.ietf.org/html/rfc3986#section-5.2. Note that the given base Uri must be absolute (i.e. define a scheme). Percent-encoded octets are decoded using the given charset (where specified by the RFC). If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.string
- (undocumented)base
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
parseHttpRequestTarget
public static Uri parseHttpRequestTarget(akka.parboiled2.ParserInput requestTarget, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses the given string into an HTTP request target URI as defined by http://tools.ietf.org/html/rfc7230#section-5.3. If the given string is not a valid URI the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.requestTarget
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
parseHttp2PathPseudoHeader
public static scala.Tuple2<Uri.Path,scala.Option<java.lang.String>> parseHttp2PathPseudoHeader(akka.parboiled2.ParserInput headerValue, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses the given string as if it were the value of an HTTP/2 ":path" pseudo-header. The result is a path and a query string as defined in https://tools.ietf.org/html/rfc7540#section-8.1.2.3 If the given string is not a valid path or query string the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.headerValue
- (undocumented)charset
- (undocumented)- Returns:
- path and percent-encoded query string. When in in 'relaxed' mode, characters not permitted by https://tools.ietf.org/html/rfc3986#section-3.4 are already automatically percent-encoded here
-
parseHttp2AuthorityPseudoHeader
public static Uri.Authority parseHttp2AuthorityPseudoHeader(akka.parboiled2.ParserInput headerValue, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses the given string as if it were the value of an HTTP/2 ":authority" pseudo-header. The result is an authority object. https://tools.ietf.org/html/rfc7540#section-8.1.2.3 If the given string is not a valid path or query string the method throws anIllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.headerValue
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
normalize
public static java.lang.String normalize(akka.parboiled2.ParserInput uri, java.nio.charset.Charset charset, Uri.ParsingMode mode)
Normalizes the given URI string by performing the following normalizations: - thescheme
andhost
components are converted to lowercase - a potentially existingport
component is removed if it matches one of the defined default ports for the scheme - percent-encoded octets are decoded if allowed, otherwise they are converted to uppercase hex notation -.
and..
path segments are resolved as far as possibleIf the given string is not a valid URI the method throws an
IllegalUriException
.- Parameters:
mode
- ifRelaxed
, accepts unencoded visible 7-bit ASCII characters in addition to the RFC.uri
- (undocumented)charset
- (undocumented)- Returns:
- (undocumented)
-
effectiveHttpRequestUri
public static Uri effectiveHttpRequestUri(java.lang.String scheme, Uri.Host host, int port, Uri.Path path, scala.Option<java.lang.String> query, scala.Option<java.lang.String> fragment, boolean securedConnection, Uri.Host hostHeaderHost, int hostHeaderPort, Uri.Authority defaultAuthority)
Converts a set of URI components to an "effective HTTP request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5.- Parameters:
scheme
- (undocumented)host
- (undocumented)port
- (undocumented)path
- (undocumented)query
- (undocumented)fragment
- (undocumented)securedConnection
- (undocumented)hostHeaderHost
- (undocumented)hostHeaderPort
- (undocumented)defaultAuthority
- (undocumented)- Returns:
- (undocumented)
-
effectiveRequestUri
public static Uri effectiveRequestUri(java.lang.String scheme, Uri.Host host, int port, Uri.Path path, scala.Option<java.lang.String> query, scala.Option<java.lang.String> fragment, java.lang.String defaultScheme, Uri.Host hostHeaderHost, int hostHeaderPort, Uri.Authority defaultAuthority)
Converts a set of URI components to an "effective request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5.- Parameters:
scheme
- (undocumented)host
- (undocumented)port
- (undocumented)path
- (undocumented)query
- (undocumented)fragment
- (undocumented)defaultScheme
- (undocumented)hostHeaderHost
- (undocumented)hostHeaderPort
- (undocumented)defaultAuthority
- (undocumented)- Returns:
- (undocumented)
-
httpScheme
public static java.lang.String httpScheme(boolean securedConnection)
-
websocketScheme
public static java.lang.String websocketScheme(boolean securedConnection)
-
resolveUnsafe
public static Uri resolveUnsafe(java.lang.String scheme, java.lang.String userinfo, Uri.Host host, int port, Uri.Path path, scala.Option<java.lang.String> query, scala.Option<java.lang.String> fragment, Uri base)
https://tools.ietf.org/html/rfc3986#section-5.2.2'Unsafe' in the sense that queryString validation must already have been done.
- Parameters:
query
- percent-encoded query string that must be guaranteed not to contain invalid percent-encodings or characters not allowed by the RFC.scheme
- (undocumented)userinfo
- (undocumented)host
- (undocumented)port
- (undocumented)path
- (undocumented)fragment
- (undocumented)base
- (undocumented)- Returns:
- (undocumented)
-
decode
public static java.lang.String decode(java.lang.String string, java.nio.charset.Charset charset)
-
decode
public static java.lang.String decode(java.lang.String string, java.nio.charset.Charset charset, int ix, java.lang.StringBuilder sb)
-
normalizeScheme
public static java.lang.String normalizeScheme(java.lang.String scheme)
-
normalizePort
public static int normalizePort(int port, java.lang.String scheme)
-
verifyPath
public static Uri.Path verifyPath(Uri.Path path, java.lang.String scheme, Uri.Host host)
-
fail
public static scala.runtime.Nothing$ fail(java.lang.String summary, java.lang.String detail)
-
create
public static Uri create(java.lang.String scheme, java.lang.String userinfo, Uri.Host host, int port, Uri.Path path, scala.Option<java.lang.String> queryString, scala.Option<java.lang.String> fragment)
- Parameters:
queryString
- percent-encoded query string. When characters are encountered that are outside of the RFC3986 range they are automatically percent-encodedscheme
- (undocumented)userinfo
- (undocumented)host
- (undocumented)port
- (undocumented)path
- (undocumented)fragment
- (undocumented)- Returns:
- (undocumented)
-
create
public static Uri create(java.lang.String scheme, Uri.Authority authority, Uri.Path path, scala.Option<java.lang.String> queryString, scala.Option<java.lang.String> fragment)
- Parameters:
queryString
- percent-encoded query string. When characters are encountered that are outside of the RFC3986 range they are automatically percent-encodedscheme
- (undocumented)authority
- (undocumented)path
- (undocumented)fragment
- (undocumented)- Returns:
- (undocumented)
-
createUnsafe
public static Uri createUnsafe(java.lang.String scheme, Uri.Authority authority, Uri.Path path, scala.Option<java.lang.String> queryString, scala.Option<java.lang.String> fragment)
'Unsafe' in the sense that queryString validation must already have been done.- Parameters:
queryString
- percent-encoded query string that must be guaranteed not to contain invalid percent-encodings or characters not allowed by the RFC.scheme
- (undocumented)authority
- (undocumented)path
- (undocumented)fragment
- (undocumented)- Returns:
- (undocumented)
-
scheme
public java.lang.String scheme()
-
authority
public Uri.Authority authority()
-
path
public Uri.Path path()
-
rawQueryString
public scala.Option<java.lang.String> rawQueryString()
-
fragment
public scala.Option<java.lang.String> fragment()
-
isAbsolute
public boolean isAbsolute()
-
isRelative
public boolean isRelative()
-
isEmpty
public abstract boolean isEmpty()
-
query
public Uri.Query query(java.nio.charset.Charset charset, Uri.ParsingMode mode)
Parses the rawQueryString member into a Query instance.- Parameters:
charset
- (undocumented)mode
- (undocumented)- Returns:
- (undocumented)
-
queryString
public scala.Option<java.lang.String> queryString(java.nio.charset.Charset charset)
Returns the query part of the Uri in its decoded form.- Parameters:
charset
- (undocumented)- Returns:
- (undocumented)
-
effectivePort
public int effectivePort()
The effective port of this Uri given the currently set authority and scheme values. If the authority has an explicitly set port (i.e. a non-zero port value) then this port is the effective port. Otherwise the default port for the current scheme is returned.- Returns:
- (undocumented)
-
copy
public Uri copy(java.lang.String scheme, Uri.Authority authority, Uri.Path path, scala.Option<java.lang.String> rawQueryString, scala.Option<java.lang.String> fragment)
Returns a copy of this Uri with the given components.If you want to use the copy constructor to update the 'rawQueryString', it is up to you to make sure the query string does not contain invalid characters. For this reason we recommend using
Uri#withRawQueryString()
instead.- Parameters:
scheme
- (undocumented)authority
- (undocumented)path
- (undocumented)rawQueryString
- (undocumented)fragment
- (undocumented)- Returns:
- (undocumented)
-
withScheme
public Uri withScheme(java.lang.String scheme)
Returns a copy of this Uri with the given scheme. Thescheme
change of the Uri has the following effect on the port value: - If the Uri has a non-default port for the scheme before the change this port will remain unchanged. - If the Uri has the default port for the scheme before the change it will have the default port for the '''new''' scheme after the change.- Parameters:
scheme
- (undocumented)- Returns:
- (undocumented)
-
withAuthority
public Uri withAuthority(Uri.Authority authority)
Returns a copy of this Uri with the given authority.- Parameters:
authority
- (undocumented)- Returns:
- (undocumented)
-
withAuthority
public Uri withAuthority(Uri.Host host, int port, java.lang.String userinfo)
Returns a copy of this Uri with a Authority created using the given host, port and userinfo.- Parameters:
host
- (undocumented)port
- (undocumented)userinfo
- (undocumented)- Returns:
- (undocumented)
-
withAuthority
public Uri withAuthority(java.lang.String host, int port)
Returns a copy of this Uri with a Authority created using the given host and port.- Parameters:
host
- (undocumented)port
- (undocumented)- Returns:
- (undocumented)
-
withHost
public Uri withHost(Uri.Host host)
Returns a copy of this Uri with the given host.- Parameters:
host
- (undocumented)- Returns:
- (undocumented)
-
withHost
public Uri withHost(java.lang.String host)
Returns a copy of this Uri with the given host.- Parameters:
host
- (undocumented)- Returns:
- (undocumented)
-
withPort
public Uri withPort(int port)
Returns a copy of this Uri with the given port.- Parameters:
port
- (undocumented)- Returns:
- (undocumented)
-
withPath
public Uri withPath(Uri.Path path)
Returns a copy of this Uri with the given path.- Parameters:
path
- (undocumented)- Returns:
- (undocumented)
-
withUserInfo
public Uri withUserInfo(java.lang.String userinfo)
Returns a copy of this Uri with the given userinfo.- Parameters:
userinfo
- (undocumented)- Returns:
- (undocumented)
-
withQuery
public Uri withQuery(Uri.Query query)
Returns a copy of this Uri with the given query.- Parameters:
query
- (undocumented)- Returns:
- (undocumented)
-
withRawQueryString
public Uri withRawQueryString(java.lang.String rawQuery)
Returns a copy of this Uri with the given query string.Characters that are not within the range described at https://tools.ietf.org/html/rfc3986#section-3.4 should be percent-encoded. Characters that are in that range may or may not be percent-encoded, and depending on how the query string is parsed this might be relevant: for example, when interpreting the query string as 'key=value' pairs you could use the percent-encoded '=' ('%22) to include a '=' in a key or value.
When characters are encountered that are outside of the RFC3986 range they are automatically percent-encoded, but be aware that relying on this is usually a programming error.
- Parameters:
rawQuery
- (undocumented)- Returns:
- (undocumented)
-
withRawQueryString
public Uri withRawQueryString(java.lang.String rawQueryString, Uri.ParsingMode mode)
Returns a copy of this Uri with the given query string.Characters that are not within the range described at https://tools.ietf.org/html/rfc3986#section-3.4 must be percent-encoded. Characters that are in that range may or may not be percent-encoded, and depending on how the query string is parsed this might be relevant: for example, when interpreting the query string as 'key=value' pairs you could use the percent-encoded '=' ('%22) to include a '=' in the key or value.
- Parameters:
mode
- depending on the mode, characters outside of the range allowed by RFC3986 will either cause anIllegalUriException
or be automatically percent-encoded. Be aware that relying on automatic percent-encoding is usually a programming error.rawQueryString
- (undocumented)- Returns:
- (undocumented)
-
withFragment
public Uri withFragment(java.lang.String fragment)
Returns a copy of this Uri with the given fragment.- Parameters:
fragment
- (undocumented)- Returns:
- (undocumented)
-
resolvedAgainst
public Uri resolvedAgainst(Uri base)
Returns a new absolute Uri that is the result of the resolution process defined by http://tools.ietf.org/html/rfc3986#section-5.2.2 The given base Uri must be absolute.- Parameters:
base
- (undocumented)- Returns:
- (undocumented)
-
toEffectiveHttpRequestUri
public Uri toEffectiveHttpRequestUri(Uri.Host hostHeaderHost, int hostHeaderPort, boolean securedConnection, Uri.Authority defaultAuthority)
Converts this URI to an "effective HTTP request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5- Parameters:
hostHeaderHost
- (undocumented)hostHeaderPort
- (undocumented)securedConnection
- (undocumented)defaultAuthority
- (undocumented)- Returns:
- (undocumented)
-
toEffectiveRequestUri
public Uri toEffectiveRequestUri(Uri.Host hostHeaderHost, int hostHeaderPort, java.lang.String defaultScheme, Uri.Authority defaultAuthority)
Converts this URI to an "effective request URI" as defined by http://tools.ietf.org/html/rfc7230#section-5.5- Parameters:
hostHeaderHost
- (undocumented)hostHeaderPort
- (undocumented)defaultScheme
- (undocumented)defaultAuthority
- (undocumented)- Returns:
- (undocumented)
-
toRelative
public Uri toRelative()
Converts this URI into a relative URI by keeping the path, query and fragment, but dropping the scheme and authority.- Returns:
- (undocumented)
-
toHttpRequestTargetOriginForm
public Uri toHttpRequestTargetOriginForm()
Converts this URI into an HTTP request target "origin-form" as defined by https://tools.ietf.org/html/rfc7230#section-5.3.Note that the resulting URI instance is not a valid RFC 3986 URI! (As it might be a "relative" URI with a part component starting with a double slash.)
- Returns:
- (undocumented)
-
withoutFragment
public Uri withoutFragment()
Drops the fragment from this URI- Returns:
- (undocumented)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-