Class KieServerHttpRequest
- java.lang.Object
-
- org.kie.server.common.rest.KieServerHttpRequest
-
public class KieServerHttpRequest extends Object
This class is only meant to be used internally by the kie-server code! For interacting with the REST API, please use a proper REST framework such as RestEasy or Apache CXF. Using this class to interact with the REST API will not be supported and any issues or problems that arise from such use will be dismissed with a referral to this exact text!A fluid interface for making HTTP requests using an underlying HttpURLConnection(or sub-class).Each instance supports making a single request and cannot be reused for further requests. This code was originally copied from Kevin Sawicki's HttpRequest project * project.
However, it has been extensively modified and rewritten to fit the use case in this code.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceKieServerHttpRequest.ConnectionFactoryCreatesHTTP connectionsforurls.static classKieServerHttpRequest.RequestOutputStreamRequest output stream
-
Field Summary
Fields Modifier and Type Field Description static StringCHARSET_UTF8static StringHEADER_PROXY_AUTHORIZATIONstatic StringHEADER_REFERERstatic StringHEADER_SERVERstatic StringPARAM_CHARSET
-
Method Summary
-
-
-
Field Detail
-
CHARSET_UTF8
public static final String CHARSET_UTF8
- See Also:
- Constant Field Values
-
HEADER_PROXY_AUTHORIZATION
public static final String HEADER_PROXY_AUTHORIZATION
- See Also:
- Constant Field Values
-
HEADER_REFERER
public static final String HEADER_REFERER
- See Also:
- Constant Field Values
-
HEADER_SERVER
public static final String HEADER_SERVER
- See Also:
- Constant Field Values
-
PARAM_CHARSET
public static final String PARAM_CHARSET
- See Also:
- Constant Field Values
-
-
Method Detail
-
setKeepAlive
public static void setKeepAlive(boolean keepAlive)
-
setMaxConnections
public static void setMaxConnections(int maxConnections)
-
deleteRequest
public static KieServerHttpRequest deleteRequest(URL url) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
putRequest
public static KieServerHttpRequest putRequest(URL url) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
getRequest
public static KieServerHttpRequest getRequest(String urlString) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
getRequest
public static KieServerHttpRequest getRequest(URL url) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
postRequest
public static KieServerHttpRequest postRequest(URL url) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
newRequest
public static KieServerHttpRequest newRequest(String url) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
newRequest
public static KieServerHttpRequest newRequest(URL url) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
newRequest
public static KieServerHttpRequest newRequest(String url, String username, String password) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
newRequest
public static KieServerHttpRequest newRequest(URL url, String username, String password) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
get
public KieServerHttpRequest get(String relativeUrl) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
get
public KieServerHttpRequest get() throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
post
public KieServerHttpRequest post(String relativeUrl) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
post
public KieServerHttpRequest post() throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
put
public KieServerHttpRequest put(String relativeUrl) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
put
public KieServerHttpRequest put() throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
delete
public KieServerHttpRequest delete(String relativeUrl) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
delete
public KieServerHttpRequest delete() throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
ignoreCloseExceptions
public KieServerHttpRequest ignoreCloseExceptions(boolean ignore)
-
ignoreCloseExceptions
public boolean ignoreCloseExceptions()
-
bufferSize
public KieServerHttpRequest bufferSize(int size)
-
bufferSize
public int bufferSize()
-
setUncompress
public KieServerHttpRequest setUncompress(boolean uncompress)
Set whether or not the response body should be automatically uncompressed when read from.This will only affect requests that have the 'Content-Encoding' response header set to 'gzip'.
This causes all receive methods to use a
GZIPInputStreamwhen applicable so that higher level streams and readers can read the data uncompressed.Setting this option does not cause any request headers to be set automatically so
#acceptGzipEncoding()should be used in conjunction with this setting to tell the server to gzip the response.- Parameters:
uncompress-- Returns:
- this request
-
followRedirects
public KieServerHttpRequest followRedirects(boolean followRedirects)
-
getUri
public URI getUri()
-
timeout
public KieServerHttpRequest timeout(long timeoutInMilliseconds)
-
relativeRequest
public KieServerHttpRequest relativeRequest(String relativeUrlString, String httpMethod)
-
relativeRequest
public KieServerHttpRequest relativeRequest(String relativeUrlString)
-
disconnect
public KieServerHttpRequest disconnect()
-
resetStream
public KieServerHttpRequest resetStream() throws IOException
- Throws:
IOException
-
followRedirets
public KieServerHttpRequest followRedirets(boolean followRedirects)
-
getUrl
public URL getUrl()
-
getMethod
public String getMethod()
-
header
public KieServerHttpRequest header(String name, Object value)
-
headers
public KieServerHttpRequest headers(Map<String,String> headers)
-
acceptEncoding
public KieServerHttpRequest acceptEncoding(String acceptEncoding)
Set the 'Accept-Encoding' header to given value- Parameters:
acceptEncoding-- Returns:
- this request
-
acceptCharset
public KieServerHttpRequest acceptCharset(String acceptCharset)
Set the 'Accept-Charset' header to given value- Parameters:
acceptCharset-- Returns:
- this request
-
basicAuthorization
public KieServerHttpRequest basicAuthorization(String name, String password)
Set the 'Authorization' header to given values in Basic authentication format- Parameters:
name-password-- Returns:
- this request
-
tokenAuthorization
public KieServerHttpRequest tokenAuthorization(String token)
Set the 'Authorization' header to given values in Bearer/Token authentication format- Parameters:
token-- Returns:
- this request
-
contentType
public KieServerHttpRequest contentType(String contentType)
Set the 'Content-Type' request header to the given value- Parameters:
contentType-- Returns:
- this request
-
contentType
public KieServerHttpRequest contentType(String contentType, String charset)
Set the 'Content-Type' request header to the given value and charset- Parameters:
contentType-charset-- Returns:
- this request
-
accept
public KieServerHttpRequest accept(String accept)
Set the 'Accept' header to given value- Parameters:
accept-- Returns:
- this request
-
body
public KieServerHttpRequest body(CharSequence value) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
writer
public OutputStreamWriter writer() throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
query
public KieServerHttpRequest query(Object name, Object value) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
query
public KieServerHttpRequest query(Map<?,?> values) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
form
public KieServerHttpRequest form(Object name, Object value, String charset) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
form
public KieServerHttpRequest form(Object name, Object value) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
form
public KieServerHttpRequest form(Map<?,?> values, String charset) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
form
public KieServerHttpRequest form(Map<?,?> values) throws KieServerHttpRequestException
- Throws:
KieServerHttpRequestException
-
response
public KieServerHttpResponse response()
-
trustAllCerts
public KieServerHttpRequest trustAllCerts() throws KieServerHttpRequestException
Configure HTTPS connection to trust all certificatesThis method does nothing if the current request is not a HTTPS request
- Returns:
- this request
- Throws:
KieServerHttpRequestException
-
trustAllHosts
public KieServerHttpRequest trustAllHosts()
Configure HTTPS connection to trust all hosts using a customHostnameVerifierthat always returnstruefor each host verifiedThis method does nothing if the current request is not a HTTPS request
- Returns:
- this request
-
setProxyHost
public static void setProxyHost(String host)
-
setProxyPort
public static void setProxyPort(int port)
-
setNonProxyHosts
public static void setNonProxyHosts(String... hosts)
-
useProxy
public KieServerHttpRequest useProxy(String proxyHost, int proxyPort)
Configure an HTTP proxy on this connection. Use {proxyBasic(String, String)if this proxy requires basic authentication.- Parameters:
proxyHost-proxyPort-- Returns:
- this request
-
proxyAuthorization
public KieServerHttpRequest proxyAuthorization(String proxyAuthorization)
Set the 'Proxy-Authorization' header to given value- Parameters:
proxyAuthorization-- Returns:
- this request
-
proxyBasic
public KieServerHttpRequest proxyBasic(String name, String password)
Set the 'Proxy-Authorization' header to given values in Basic authentication format- Parameters:
name-password-- Returns:
- this request
-
clone
public KieServerHttpRequest clone()
-
-