Package com.nimbusds.oauth2.sdk.util
Class URIUtils
java.lang.Object
com.nimbusds.oauth2.sdk.util.URIUtils
URI operations.
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
ensureQueryIsNotProhibited
(URI uri, Set<String> prohibitedQueryParamNames) Ensures the query of the specified URI is not prohibited.static void
ensureSchemeIsHTTPS
(URI uri) Ensures the scheme of the specified URI is https.static void
Ensures the scheme of the specified URI is https or http.static void
ensureSchemeIsNotProhibited
(URI uri, Set<String> prohibitedURISchemes) Ensures the scheme of the specified URI is not prohibited.static URI
getBaseURI
(URI uri) Gets the base part (schema, host, port and path) of the specified URI.static boolean
isLocalHost
(URI uri) Returnstrue
if the specified URI is for a localhost,127.0.0.1
IPv4 or::1
/0:0:0:0:0:0:0:1
address.static String
joinPathComponents
(String c1, String c2) Joins two path components.static String
Prepends a leading slash `/` if missing to the specified string.static URI
prependPath
(URI uri, String pathComponent) Prepends the specified path component to a URI.static URI
removeTrailingSlash
(URI uri) Removes the trailing slash ("/") from the specified URI, if present.static String
Strips any leading slashes '/' if present from the specified string.static URI
stripQueryString
(URI uri) Strips the query string from the specified URI.toStringList
(Collection<URI> uriList) Returns a string list representation of the specified URI collection.toStringList
(Collection<URI> uriList, boolean ignoreNulls) Returns a string list representation of the specified URI collection.
-
Method Details
-
getBaseURI
Gets the base part (schema, host, port and path) of the specified URI.- Parameters:
uri
- The URI. May benull
.- Returns:
- The base part of the URI,
null
if the original URI isnull
or doesn't specify a protocol.
-
prependPath
Prepends the specified path component to a URI. The prepended and any existing path component are always joined with a single slash ('/') between them- Parameters:
uri
- The URI,null
if not specified.pathComponent
- The path component to prepend,null
if not specified.- Returns:
- The URI with prepended path component,
null
if the original URI wasn't specified.
-
prependLeadingSlashIfMissing
Prepends a leading slash `/` if missing to the specified string.- Parameters:
s
- The string,null
if not specified.- Returns:
- The string with leading slash,
null
if not originally specified.
-
stripLeadingSlashIfPresent
Strips any leading slashes '/' if present from the specified string.- Parameters:
s
- The string,null
if not specified.- Returns:
- The string with no leading slash,
null
if not originally specified.
-
joinPathComponents
Joins two path components. If the two path components are notnull
or empty they are joined so that there is only a single slash ('/') between them.- Parameters:
c1
- The first path component,null
if not specified.c2
- The second path component,null
if not specified.- Returns:
- The joined path components,
null
if both are not specified, or if one isnull
the other unmodified.
-
stripQueryString
Strips the query string from the specified URI.- Parameters:
uri
- The URI. May benull
.'- Returns:
- The URI with stripped query string,
null
if the original URI isnull
or doesn't specify a protocol.
-
removeTrailingSlash
Removes the trailing slash ("/") from the specified URI, if present.- Parameters:
uri
- The URI. May benull
.- Returns:
- The URI with no trailing slash,
null
if the original URI isnull
.
-
ensureSchemeIsHTTPS
Ensures the scheme of the specified URI is https.- Parameters:
uri
- The URI to check,null
if not specified.- Throws:
IllegalArgumentException
- If the URI is specified and the scheme is not https.
-
ensureSchemeIsHTTPSorHTTP
Ensures the scheme of the specified URI is https or http.- Parameters:
uri
- The URI to check,null
if not specified.- Throws:
IllegalArgumentException
- If the URI is specified and the scheme is not https or http.
-
ensureSchemeIsNotProhibited
Ensures the scheme of the specified URI is not prohibited.- Parameters:
uri
- The URI to check,null
if not specified.prohibitedURISchemes
- The prohibited URI schemes (should be in lower case), empty ornull
if not specified.- Throws:
IllegalArgumentException
- If the URI is specified and its scheme is prohibited.
-
ensureQueryIsNotProhibited
Ensures the query of the specified URI is not prohibited.- Parameters:
uri
- The URI to check,null
if not specified.prohibitedQueryParamNames
- The prohibited query parameter names, empty ornull
if not specified.- Throws:
IllegalArgumentException
- If the URI is specified and includes prohibited query parameter names.
-
toStringList
Returns a string list representation of the specified URI collection. Collection items that arenull
are not returned.- Parameters:
uriList
- The URI collection,null
if not specified.- Returns:
- The string list,
null
if not specified.
-
toStringList
Returns a string list representation of the specified URI collection.- Parameters:
uriList
- The URI collection,null
if not specified.ignoreNulls
-true
to not includenull
values.- Returns:
- The string list,
null
if not specified.
-
isLocalHost
Returnstrue
if the specified URI is for a localhost,127.0.0.1
IPv4 or::1
/0:0:0:0:0:0:0:1
address.- Parameters:
uri
- The URI. Must not benull
.- Returns:
true
if the URI is for a localhost, elsefalse
.
-