Class HttpURL
- All Implemented Interfaces:
Serializable
URL class. It can also be used as a safer way
to build a URL or a URI instance as it will properly escape
appropriate characters before creating those.- Author:
- Pascal Essiembre
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionHttpURL()Creates a blank HttpURL using UTF-8 for URL encoding.Creates a new HttpURL from the URL string using UTF-8 for URL encoding.Creates a new HttpURL from the URL string using the provided encoding for URL encoding.Creates a new HttpURL from the URL object using UTF-8 for URL encoding.Creates a new HttpURL from the URL object using the provided encoding for URL encoding. -
Method Summary
Modifier and TypeMethodDescriptionstatic StringencodePath(String path) URL-Encodes a URL path.static StringencodeQueryString(String queryString) URL-Encodes the query string portion of a URL.booleanGets the character encoding.Gets the URL fragment.getHost()Gets the host portion of the URL.Gets the last URL path segment without the query string.getPath()Gets the URL path.intgetPort()Gets the URL port.Gets the protocol portion of the URL (e.g. http, https);Gets the URL query string.getRoot()Gets the root of this HttpUrl.static StringGets the root of a URL.inthashCode()booleanWhether this URL uses the default port for the protocol.booleanisSecure()Whether this URL is secure (e.g. https).voidsetFragment(String fragment) Sets the URL fragment.voidSets the host portion of the URL.voidSets the URL path.voidsetPort(int port) Sets the URL port.voidsetProtocol(String protocol) Sets the protocol portion of the URL.voidsetQueryString(QueryString queryString) Sets the URL query string, replacing this URL existing query string parameters with the ones from the supplied query string (the original query string instance is kept).static StringtoAbsolute(String baseURL, String relativeURL) Converts a relative URL to an absolute one, based on the supplied base URL.toString()Returns a string representation of this URL, properly encoded.toURI()Converts this HttpURL to aURI, making sure appropriate characters are escaped properly.static URIConverts the supplied URL to aURI, making sure appropriate characters are encoded properly using UTF-8.toURL()Converts this HttpURL to a regularURL, making sure appropriate characters are escaped properly.static URLConverts the supplied URL to aURL, making sure appropriate characters are encoded properly using UTF-8.
-
Field Details
-
DEFAULT_HTTP_PORT
public static final int DEFAULT_HTTP_PORTDefault URL HTTP Port.- See Also:
-
DEFAULT_HTTPS_PORT
public static final int DEFAULT_HTTPS_PORTDefault Secure URL HTTP Port.- See Also:
-
PROTOCOL_HTTP
Constant for "http" protocol.- See Also:
-
PROTOCOL_HTTPS
Constant for "https" protocol.- See Also:
-
-
Constructor Details
-
HttpURL
public HttpURL()Creates a blank HttpURL using UTF-8 for URL encoding. -
HttpURL
Creates a new HttpURL from the URL object using UTF-8 for URL encoding.- Parameters:
url- a URL
-
HttpURL
Creates a new HttpURL from the URL string using UTF-8 for URL encoding.- Parameters:
url- a URL
-
HttpURL
Creates a new HttpURL from the URL object using the provided encoding for URL encoding.- Parameters:
url- a URLencoding- character encoding- Since:
- 1.7.0
-
HttpURL
Creates a new HttpURL from the URL string using the provided encoding for URL encoding.- Parameters:
url- a URL stringencoding- character encoding- Since:
- 1.7.0
-
-
Method Details
-
getEncoding
Gets the character encoding. Default is UTF-8.- Returns:
- character encoding
- Since:
- 1.7.0
-
getPath
Gets the URL path.- Returns:
- URL path
-
setPath
Sets the URL path.- Parameters:
path- url path
-
getQueryString
Gets the URL query string. Changes to the returned query string will be applied to this URL query string. A URL without a query string returns an empty query string.- Returns:
- URL query string, never
null
-
setQueryString
Sets the URL query string, replacing this URL existing query string parameters with the ones from the supplied query string (the original query string instance is kept).- Parameters:
queryString- the query string
-
getHost
Gets the host portion of the URL.- Returns:
- the host portion of the URL
-
setHost
Sets the host portion of the URL.- Parameters:
host- the host portion of the URL
-
getProtocol
Gets the protocol portion of the URL (e.g. http, https);- Returns:
- the protocol portion of the URL
-
setProtocol
Sets the protocol portion of the URL.- Parameters:
protocol- the protocol portion of the URL
-
isSecure
public boolean isSecure()Whether this URL is secure (e.g. https).- Returns:
trueif protocol is secure
-
getPort
public int getPort()Gets the URL port. If the protocol is other thanhttporhttps, the port is -1 when not specified.- Returns:
- the URL port
-
setPort
public void setPort(int port) Sets the URL port.- Parameters:
port- the URL port
-
getFragment
Gets the URL fragment.- Returns:
- the fragment
- Since:
- 1.8.0
-
setFragment
Sets the URL fragment.- Parameters:
fragment- the fragment to set- Since:
- 1.8.0
-
getLastPathSegment
Gets the last URL path segment without the query string. If there are segment to return, an empty string will be returned instead.- Returns:
- the last URL path segment
-
toURL
Converts this HttpURL to a regularURL, making sure appropriate characters are escaped properly.- Returns:
- a URL
- Throws:
URLException- when URL is malformed
-
getRoot
Gets the root of this HttpUrl. That is the left part of a URL up to and including the host name. Anullor empty string returns anulldocument root.- Returns:
- left part of a URL up to (and including the host name
- Throws:
URLException- when URL is malformed- Since:
- 1.8.0
-
toURI
Converts this HttpURL to aURI, making sure appropriate characters are escaped properly.- Returns:
- a URI
- Throws:
URLException- when URL is malformed- Since:
- 1.7.0
-
toURL
Converts the supplied URL to a
URL, making sure appropriate characters are encoded properly using UTF-8. This method is a short form of:
new HttpURL("http://example.com").toURL();- Parameters:
url- a URL string- Returns:
- a URL object
- Throws:
URLException- when URL is malformed- Since:
- 1.7.0
-
toURI
Converts the supplied URL to a
URI, making sure appropriate characters are encoded properly using UTF-8. This method is a short form of:
new HttpURL("http://example.com").toURI();- Parameters:
url- a URL string- Returns:
- a URI object
- Throws:
URLException- when URL is malformed- Since:
- 1.7.0
-
getRoot
Gets the root of a URL. That is the left part of a URL up to and including the host name. A
nullor empty string returns anulldocument root. This method is a short form of:
new HttpURL("http://example.com/path").getRoot();- Parameters:
url- a URL string- Returns:
- left part of a URL up to (and including the host name
- Since:
- 1.8.0
-
toString
Returns a string representation of this URL, properly encoded. -
isPortDefault
public boolean isPortDefault()Whether this URL uses the default port for the protocol. The default port is 80 for "http" protocol, and 443 for "https". Other protocols are not supported and this method will always return false for them.- Returns:
trueif the URL is using the default port.- Since:
- 1.8.0
-
encodeQueryString
URL-Encodes the query string portion of a URL. The entire string supplied is assumed to be a query string.
- Parameters:
queryString- URL query string- Returns:
- encoded path
- Since:
- 1.8.0
-
encodePath
URL-Encodes a URL path. The entire string supplied is assumed to be a URL path. Unsafe characters are percent-encoded using UTF-8 (as specified by W3C standard).
- Parameters:
path- path portion of a URL- Returns:
- encoded path
- Since:
- 1.7.0
-
toAbsolute
Converts a relative URL to an absolute one, based on the supplied base URL. The base URL is assumed to be a valid URL. Behavior is unexpected when base URL is invalid.
Since 2.0.1, supplying a
nullor blank relative URL will return the base URL.Since 2.0.1, if the relative URL starts with a scheme, it is considered an absolute URL and is returned as is after trim. The scheme is a string starting with a letter followed by any number of letters, numbers, plus sign (+), minus sign (-) or dot (.), followed by a colon (:).
- Parameters:
baseURL- URL to the reference is relative torelativeURL- the relative URL portion to transform to absolute- Returns:
- absolute URL
- Since:
- 1.8.0
-
equals
-
hashCode
public int hashCode()
-