Class DelegateHTTPClient
- Object
-
- DelegateHTTPClient
-
- All Implemented Interfaces:
HTTPClient
- Direct Known Subclasses:
LoggingHTTPClient
public class DelegateHTTPClient extends Object implements HTTPClient
-
-
Field Summary
Fields Modifier and Type Field Description protected HTTPClient
delegate
-
Constructor Summary
Constructors Constructor Description DelegateHTTPClient(HTTPClient delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HTTPResponse
get(URL url)
Executes an HTTP GET request against the provided URL and returns the server response.HTTPResponse
get(URL url, Map<String,String> headers)
Executes an HTTP GET request against the provided URL and returns the server response.int
getConnectTimeout()
Map<String,String>
getExtraParams()
Optional query parameters.String
getPassword()
int
getReadTimeout()
String
getUser()
boolean
isTryGzip()
HTTPResponse
post(URL url, InputStream postContent, String postContentType)
Executes an HTTP POST request against the provided URL, sending the contents ofpostContent
as the POST method body and setting the Content-Type request header topostContentType
if given, and returns the server response.HTTPResponse
post(URL url, InputStream postContent, String postContentType, Map<String,String> headers)
Executes an HTTP POST request against the provided URL, sending the contents ofpostContent
as the POST method body and setting the Content-Type request header topostContentType
if given, and returns the server response.void
setConnectTimeout(int connectTimeout)
void
setExtraParams(Map<String,String> extraParams)
void
setPassword(String password)
void
setReadTimeout(int readTimeout)
void
setTryGzip(boolean tryGZIP)
void
setUser(String user)
-
-
-
Field Detail
-
delegate
protected HTTPClient delegate
-
-
Constructor Detail
-
DelegateHTTPClient
public DelegateHTTPClient(HTTPClient delegate)
-
-
Method Detail
-
post
public HTTPResponse post(URL url, InputStream postContent, String postContentType) throws IOException
Description copied from interface:HTTPClient
Executes an HTTP POST request against the provided URL, sending the contents ofpostContent
as the POST method body and setting the Content-Type request header topostContentType
if given, and returns the server response.If an HTTP authentication
user
andpassword
is set, the appropriate authentication HTTP header will be sent with the request.If a
connection timeout
is set, the http connection will be set to respect that timeout.If a
read timeout
is set, the http connection will be set to respect it.- Specified by:
post
in interfaceHTTPClient
- Parameters:
url
- the URL against which to execute the POST requestpostContent
- an input stream with the contents of the POST bodypostContentType
- the MIME type of the contents sent as the request POST body, can benull
- Returns:
- the
HTTPResponse
encapsulating the response to the HTTP POST request - Throws:
IOException
-
post
public HTTPResponse post(URL url, InputStream postContent, String postContentType, Map<String,String> headers) throws IOException
Description copied from interface:HTTPClient
Executes an HTTP POST request against the provided URL, sending the contents ofpostContent
as the POST method body and setting the Content-Type request header topostContentType
if given, and returns the server response.If an HTTP authentication
user
andpassword
is set, the appropriate authentication HTTP header will be sent with the request.If a
connection timeout
is set, the http connection will be set to respect that timeout.If a
read timeout
is set, the http connection will be set to respect it.header parameter contains additional headers to add to the request.
- Specified by:
post
in interfaceHTTPClient
- Parameters:
url
- the URL against which to execute the POST requestpostContent
- an input stream with the contents of the POST bodypostContentType
- the MIME type of the contents sent as the request POST body, can benull
headers
- a list of custom headers to add to the request.- Returns:
- the
HTTPResponse
encapsulating the response to the HTTP POST request - Throws:
IOException
-
get
public HTTPResponse get(URL url) throws IOException
Description copied from interface:HTTPClient
Executes an HTTP GET request against the provided URL and returns the server response.If an HTTP authentication
user
andpassword
is set, the appropriate authentication HTTP header will be sent with the request.If a
connection timeout
is set, the http connection will be set to respect that timeout.If a
read timeout
is set, the http connection will be set to respect it.- Specified by:
get
in interfaceHTTPClient
- Parameters:
url
- the URL to retrieve- Returns:
- an
HTTPResponse
encapsulating the response to the HTTP GET request - Throws:
IOException
-
get
public HTTPResponse get(URL url, Map<String,String> headers) throws IOException
Description copied from interface:HTTPClient
Executes an HTTP GET request against the provided URL and returns the server response.If an HTTP authentication
user
andpassword
is set, the appropriate authentication HTTP header will be sent with the request.If a
connection timeout
is set, the http connection will be set to respect that timeout.If a
read timeout
is set, the http connection will be set to respect it.header parameter contains additional headers to add to the request.
- Specified by:
get
in interfaceHTTPClient
- Parameters:
url
- the URL to retrieveheaders
- a list of custom headers to add to the request.- Returns:
- an
HTTPResponse
encapsulating the response to the HTTP GET request - Throws:
IOException
-
getUser
public String getUser()
- Specified by:
getUser
in interfaceHTTPClient
- Returns:
- the HTTP BASIC Authentication user name, or
null
if not set
-
setUser
public void setUser(String user)
- Specified by:
setUser
in interfaceHTTPClient
- Parameters:
user
- the HTTP BASIC Authentication user name
-
getPassword
public String getPassword()
- Specified by:
getPassword
in interfaceHTTPClient
- Returns:
- the HTTP BASIC Authentication password, or
null
if not set
-
setPassword
public void setPassword(String password)
- Specified by:
setPassword
in interfaceHTTPClient
- Parameters:
password
- the HTTP BASIC Authentication password
-
getExtraParams
public Map<String,String> getExtraParams()
Description copied from interface:HTTPClient
Optional query parameters.- Specified by:
getExtraParams
in interfaceHTTPClient
- Returns:
- querystring ExtraParams, or
emptyMap()
if not set
-
setExtraParams
public void setExtraParams(Map<String,String> extraParams)
- Specified by:
setExtraParams
in interfaceHTTPClient
- Parameters:
extraParams
- the optional querystring ExtraParams to be appended to finalURL
-
getConnectTimeout
public int getConnectTimeout()
- Specified by:
getConnectTimeout
in interfaceHTTPClient
- Returns:
- the tcp/ip connect timeout in seconds
-
setConnectTimeout
public void setConnectTimeout(int connectTimeout)
- Specified by:
setConnectTimeout
in interfaceHTTPClient
- Parameters:
connectTimeout
- tcp/ip connect timeout in seconds
-
getReadTimeout
public int getReadTimeout()
- Specified by:
getReadTimeout
in interfaceHTTPClient
- Returns:
- the socket read timeout in seconds
-
setReadTimeout
public void setReadTimeout(int readTimeout)
- Specified by:
setReadTimeout
in interfaceHTTPClient
- Parameters:
readTimeout
- socket read timeout in seconds
-
setTryGzip
public void setTryGzip(boolean tryGZIP)
- Specified by:
setTryGzip
in interfaceHTTPClient
-
isTryGzip
public boolean isTryGzip()
- Specified by:
isTryGzip
in interfaceHTTPClient
- Returns:
- whether gzip content encoding will be attempted; defaults to
false
-
-