Package org.ametys.core.util
Class HttpUtils
java.lang.Object
org.ametys.core.util.HttpUtils
- All Implemented Interfaces:
Component
Utility class for HTTP urls.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
The status of HTTP checkstatic final record
Represent the result of a check and a potential message -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncheckHttpUrl
(String httpUrl) Method to check a HTTP url from client side.static HttpUtils.HttpCheckReport
checkHttpUrl
(String httpUrl, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects) Check the HTTP urlstatic HttpUtils.HttpCheckReport
checkHttpUrl
(String httpUrl, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects, Map<String, String> requestHeaders) Check the HTTP urlstatic HttpUtils.HttpCheckReport
checkHttpUrl
(URL url, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects, Map<String, String> requestHeaders) Check the HTTP urlstatic org.apache.hc.client5.http.impl.classic.CloseableHttpClient
createHttpClient
(int maxConnections, int timeout) Create ands return a configured, ready to use,HttpClient
.
This method is well suited to create a client dedicated to a single route.static HttpURLConnection
prepareConnection
(String url, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects) Prepare the connection to the remote urlstatic HttpURLConnection
prepareConnection
(String httpUrl, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects, Map<String, String> requestHeaders) Prepare the connection to the remote urlstatic HttpURLConnection
prepareConnection
(URL url, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects, Map<String, String> requestHeaders) Prepare the connection to the remote urlstatic String
Strips the end of an uri to remove "*.html" ends and "/" ending characters
-
Field Details
-
ROLE
The Avalon role -
HTTP_URL_VALIDATOR
Regexp for HTTP url -
HTTP_REDIRECT_TEMP
HTTP Status-Code 307: Temporay Redirect- See Also:
-
HTTP_REDIRECT_PERM
HTTP Status-Code 308: Temporay Redirect- See Also:
-
-
Constructor Details
-
HttpUtils
public HttpUtils()
-
-
Method Details
-
prepareConnection
public static HttpURLConnection prepareConnection(String url, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects) throws MalformedURLException, IOException Prepare the connection to the remote url- Parameters:
url
- The urluserAgent
- The user agent. Can be null.method
- The method for teh URL request. Can be null.timeout
- The connection timeout in milliseconds. Set to -1 to not set a timeout.readTimeOut
- The read timeout in milliseconds. Set to -1 to not set a timeout.followRedirects
- Sets to true to follow HTTP redirects- Returns:
- The URL connection
- Throws:
MalformedURLException
- If the given url is a malformed URLIOException
- if an I/O exception occurs
-
prepareConnection
public static HttpURLConnection prepareConnection(String httpUrl, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects, Map<String, String> requestHeaders) throws MalformedURLException, IOExceptionPrepare the connection to the remote url- Parameters:
httpUrl
- The HTTP urluserAgent
- The user agent. Can be null.method
- The method for teh URL request. Can be null.timeout
- The connection timeout in milliseconds. Set to -1 to not set a timeout.readTimeOut
- The read timeout in milliseconds. Set to -1 to not set a timeout.followRedirects
- Sets to true to follow HTTP redirectsrequestHeaders
- The request headers.- Returns:
- The URL connection
- Throws:
MalformedURLException
- If the given url is a malformed URLIOException
- if an I/O exception occurs
-
prepareConnection
public static HttpURLConnection prepareConnection(URL url, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects, Map<String, String> requestHeaders) throws MalformedURLException, IOExceptionPrepare the connection to the remote url- Parameters:
url
- The urluserAgent
- The user agent. Can be null.method
- The method for teh URL request. Can be null.timeout
- The connection timeout in milliseconds. Set to -1 to not set a timeout.readTimeOut
- The read timeout in milliseconds. Set to -1 to not set a timeout.followRedirects
- Sets to true to follow HTTP redirectsrequestHeaders
- The request headers.- Returns:
- The URL connection
- Throws:
MalformedURLException
- If the given url is a malformed URLIOException
- if an I/O exception occurs
-
checkHttpUrl
public static HttpUtils.HttpCheckReport checkHttpUrl(String httpUrl, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects) Check the HTTP url- Parameters:
httpUrl
- The HTTP url to testuserAgent
- The user agent. Can be null.method
- The method for teh URL request. Can be null.timeout
- The connection timeout in milliseconds. Set to -1 to not set a timeout.readTimeOut
- The read timeout in milliseconds. Set to -1 to not set a timeout.followRedirects
- Sets to true to follow HTTP redirects- Returns:
- The URL connection
-
checkHttpUrl
public static HttpUtils.HttpCheckReport checkHttpUrl(String httpUrl, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects, Map<String, String> requestHeaders) Check the HTTP url- Parameters:
httpUrl
- The url to testuserAgent
- The user agent. Can be null.method
- The method for teh URL request. Can be null.timeout
- The connection timeout in milliseconds. Set to -1 to not set a timeout.readTimeOut
- The read timeout in milliseconds. Set to -1 to not set a timeout.followRedirects
- Sets to true to follow HTTP redirectsrequestHeaders
- The request headers.- Returns:
- The URL connection
-
checkHttpUrl
public static HttpUtils.HttpCheckReport checkHttpUrl(URL url, String userAgent, String method, int timeout, int readTimeOut, boolean followRedirects, Map<String, String> requestHeaders) Check the HTTP url- Parameters:
url
- The url to testuserAgent
- The user agent. Can be null.method
- The method for teh URL request. Can be null.timeout
- The connection timeout in milliseconds. Set to -1 to not set a timeout.readTimeOut
- The read timeout in milliseconds. Set to -1 to not set a timeout.followRedirects
- Sets to true to follow HTTP redirectsrequestHeaders
- The request headers.- Returns:
- The URL connection
-
checkHttpUrl
Method to check a HTTP url from client side. The HTTP redirects will be followed.- Parameters:
httpUrl
- the http url to check- Returns:
- the result of the check
-
createHttpClient
public static org.apache.hc.client5.http.impl.classic.CloseableHttpClient createHttpClient(int maxConnections, int timeout) Create ands return a configured, ready to use,HttpClient
.
This method is well suited to create a client dedicated to a single route.- Parameters:
maxConnections
- the maximum simultaneous connections. If zero or negative, defaults to HttpClient's default values.timeout
- the socket and connect timeout, in seconds. If zero or negative, defaults to HttpClient's default values.- Returns:
- a configured
HttpClient
-
sanitize
Strips the end of an uri to remove "*.html" ends and "/" ending characters- Parameters:
uri
- The uri to edit- Returns:
- The edited uri
-