Package org.apache.ivy.util.url
Class HttpClientHandler
java.lang.Object
org.apache.ivy.util.url.AbstractURLHandler
org.apache.ivy.util.url.HttpClientHandler
- All Implemented Interfaces:
AutoCloseable
,TimeoutConstrainedURLHandler
,URLHandler
public class HttpClientHandler
extends AbstractURLHandler
implements TimeoutConstrainedURLHandler, AutoCloseable
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.ivy.util.url.URLHandler
URLHandler.URLInfo
-
Field Summary
Fields inherited from interface org.apache.ivy.util.url.URLHandler
REQUEST_METHOD_GET, REQUEST_METHOD_HEAD, UNAVAILABLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
download
(URL src, File dest, CopyProgressListener l) void
download
(URL src, File dest, CopyProgressListener listener, TimeoutConstraint timeoutConstraint) Downloads the resource available atsrc
to the targetdest
long
getContentLength
(URL url, TimeoutConstraint timeoutConstraint) Returns the number of bytes of data that's available for the resource at the passedurl
.long
getLastModified
(URL url, TimeoutConstraint timeoutConstraint) Returns the last modified timestamp of the resource accessible at the passedurl
.getURLInfo
(URL url) getURLInfo
(URL url, int timeout) getURLInfo
(URL url, TimeoutConstraint timeoutConstraint) Returns theURLHandler.URLInfo
extracted from the given url, orURLHandler.UNAVAILABLE
when the url is not reachable.boolean
isReachable
(URL url, TimeoutConstraint timeoutConstraint) Returns true if the passedURL
is reachable.openStream
(URL url) openStream
(URL url, TimeoutConstraint timeoutConstraint) Opens and returns anInputStream
to the passedurl
.void
upload
(File src, URL dest, CopyProgressListener l) void
upload
(File src, URL dest, CopyProgressListener listener, TimeoutConstraint timeoutConstraint) Methods inherited from class org.apache.ivy.util.url.AbstractURLHandler
createTimeoutConstraints, getContentLength, getContentLength, getDecodingInputStream, getLastModified, getLastModified, getRequestMethod, getUserAgent, isReachable, isReachable, normalizeToString, normalizeToURL, setRequestMethod, validatePutStatusCode
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.ivy.util.url.URLHandler
getContentLength, getContentLength, getLastModified, getLastModified, isReachable, isReachable, setRequestMethod
-
Constructor Details
-
HttpClientHandler
public HttpClientHandler()
-
-
Method Details
-
openStream
- Specified by:
openStream
in interfaceURLHandler
- Parameters:
url
- ditto- Returns:
- InputStream
- Throws:
IOException
- if something goes wrong
-
openStream
Description copied from interface:TimeoutConstrainedURLHandler
Opens and returns anInputStream
to the passedurl
.- Specified by:
openStream
in interfaceTimeoutConstrainedURLHandler
- Parameters:
url
- The URL to which anInputStream
has to be openedtimeoutConstraint
- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Returns:
- InputStream
- Throws:
IOException
- if something goes wrong
-
download
- Specified by:
download
in interfaceURLHandler
- Parameters:
src
- URLdest
- Filel
- CopyProgressListener- Throws:
IOException
- if something goes wrong
-
download
public void download(URL src, File dest, CopyProgressListener listener, TimeoutConstraint timeoutConstraint) throws IOException Description copied from interface:TimeoutConstrainedURLHandler
Downloads the resource available atsrc
to the targetdest
- Specified by:
download
in interfaceTimeoutConstrainedURLHandler
- Parameters:
src
- The source URL to download the resource fromdest
- The destinationFile
to download the resource tolistener
- The listener that will be notified of the download progresstimeoutConstraint
- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Throws:
IOException
- if something goes wrong
-
upload
- Specified by:
upload
in interfaceURLHandler
- Parameters:
src
- Filedest
- URLl
- CopyProgressListener- Throws:
IOException
- if something goes wrong
-
upload
public void upload(File src, URL dest, CopyProgressListener listener, TimeoutConstraint timeoutConstraint) throws IOException Description copied from interface:TimeoutConstrainedURLHandler
- Specified by:
upload
in interfaceTimeoutConstrainedURLHandler
- Parameters:
src
- The sourceFile
to uploaddest
- The target URL where theFile
has to be uploadedlistener
- The listener that will be notified of the upload progresstimeoutConstraint
- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Throws:
IOException
- if something goes wrong
-
getURLInfo
- Specified by:
getURLInfo
in interfaceURLHandler
- Parameters:
url
- The url from which information is retrieved.- Returns:
- The URLInfo extracted from the given url, or
URLHandler.UNAVAILABLE
instance when the url is not reachable.
-
getURLInfo
- Specified by:
getURLInfo
in interfaceURLHandler
- Parameters:
url
- The url from which information is retrieved.timeout
- The timeout in milliseconds.- Returns:
- The URLInfo extracted from the given url, or
URLHandler.UNAVAILABLE
when the url is not reachable, never null.
-
isReachable
Description copied from interface:TimeoutConstrainedURLHandler
Returns true if the passedURL
is reachable. Else returns false. Uses the passedtimeoutConstraint
for determining the connectivity to the URL.Please use
TimeoutConstrainedURLHandler.getURLInfo(URL, TimeoutConstraint)
if more one information about theurl
is needed- Specified by:
isReachable
in interfaceTimeoutConstrainedURLHandler
- Parameters:
url
- The URL to accesstimeoutConstraint
- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Returns:
- boolean
-
getContentLength
Description copied from interface:TimeoutConstrainedURLHandler
Returns the number of bytes of data that's available for the resource at the passedurl
. Returns 0 if the passedurl
isn't reachable- Specified by:
getContentLength
in interfaceTimeoutConstrainedURLHandler
- Parameters:
url
- The URL to accesstimeoutConstraint
- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Returns:
- long
-
getLastModified
Description copied from interface:TimeoutConstrainedURLHandler
Returns the last modified timestamp of the resource accessible at the passedurl
.Please use
TimeoutConstrainedURLHandler.getURLInfo(URL, TimeoutConstraint)
if more one information about theurl
is needed- Specified by:
getLastModified
in interfaceTimeoutConstrainedURLHandler
- Parameters:
url
- The URL to accesstimeoutConstraint
- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Returns:
- long
-
getURLInfo
Description copied from interface:TimeoutConstrainedURLHandler
Returns theURLHandler.URLInfo
extracted from the given url, orURLHandler.UNAVAILABLE
when the url is not reachable. Never returns null.- Specified by:
getURLInfo
in interfaceTimeoutConstrainedURLHandler
- Parameters:
url
- The URL for which the information is to be retrievedtimeoutConstraint
- The connectivity timeout constraints. Can be null, in which case the timeouts are implementation specific- Returns:
- URLInfo
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-