@ThreadSafe public class HTTPRequest extends Object
OAuth 2.0 request message
.
Supported HTTP methods:
Supported request headers:
Supported timeouts:
HTTP 3xx redirection: follow (default) / don't follow
Modifier and Type | Class | Description |
---|---|---|
static class |
HTTPRequest.Method |
Enumeration of the HTTP methods used in OAuth 2.0 requests.
|
Constructor | Description |
---|---|
HTTPRequest(HTTPRequest.Method method,
URL url) |
Creates a new minimally specified HTTP request.
|
Modifier and Type | Method | Description |
---|---|---|
void |
ensureContentType() |
Ensures this HTTP message has a
Content-Type header value. |
void |
ensureContentType(javax.mail.internet.ContentType contentType) |
Ensures this HTTP message has the specified
Content-Type
header value. |
void |
ensureMethod(HTTPRequest.Method expectedMethod) |
Ensures this HTTP request has the specified method.
|
String |
getAccept() |
Gets the
Accept header value. |
String |
getAuthorization() |
Gets the
Authorization header value. |
String |
getClientIPAddress() |
Gets the client IP address.
|
X509Certificate |
getClientX509Certificate() |
Gets the received validated client X.509 certificate for a received
HTTPS request.
|
String |
getClientX509CertificateRootDN() |
Gets the root issuer DN of a received validated client X.509
certificate for a received HTTPS request.
|
String |
getClientX509CertificateSubjectDN() |
Gets the subject DN of a received validated client X.509 certificate
for a received HTTPS request.
|
int |
getConnectTimeout() |
Gets the HTTP connect timeout.
|
javax.mail.internet.ContentType |
getContentType() |
Gets the
Content-Type header value. |
static HostnameVerifier |
getDefaultHostnameVerifier() |
Returns the default hostname verifier for all outgoing HTTPS
requests.
|
static SSLSocketFactory |
getDefaultSSLSocketFactory() |
Returns the default SSL socket factory for all outgoing HTTPS
requests.
|
boolean |
getFollowRedirects() |
Gets the boolean setting whether HTTP redirects (requests with
response code 3xx) should be automatically followed.
|
String |
getFragment() |
Gets the raw (undecoded) request fragment.
|
String |
getHeader(String name) |
Gets a HTTP header value.
|
Map<String,String> |
getHeaders() |
Returns the HTTP headers.
|
HostnameVerifier |
getHostnameVerifier() |
Gets the hostname verifier for outgoing HTTPS requests.
|
HTTPRequest.Method |
getMethod() |
Gets the request method.
|
String |
getQuery() |
Gets the raw (undecoded) query string if the request is HTTP GET or
the entity body if the request is HTTP POST.
|
net.minidev.json.JSONObject |
getQueryAsJSONObject() |
Gets the request query or entity body as a JSON Object.
|
Map<String,String> |
getQueryParameters() |
Gets the request query as a parameter map.
|
int |
getReadTimeout() |
Gets the HTTP response read timeout.
|
SSLSocketFactory |
getSSLSocketFactory() |
Gets the SSL factory for outgoing HTTPS requests.
|
URL |
getURL() |
Gets the request URL.
|
HTTPResponse |
send() |
Sends this HTTP request to the request URL and retrieves the
resulting HTTP response.
|
HTTPResponse |
send(HostnameVerifier hostnameVerifier,
SSLSocketFactory sslSocketFactory) |
Deprecated.
|
void |
setAccept(String accept) |
Sets the
Accept header value. |
void |
setAuthorization(String authz) |
Sets the
Authorization header value. |
void |
setClientIPAddress(String clientIPAddress) |
Sets the client IP address.
|
void |
setClientX509Certificate(X509Certificate clientX509Certificate) |
Sets the received validated client X.509 certificate for a received
HTTPS request.
|
void |
setClientX509CertificateRootDN(String rootDN) |
Sets the root issuer DN of a received validated client X.509
certificate for a received HTTPS request.
|
void |
setClientX509CertificateSubjectDN(String subjectDN) |
Sets the subject DN of a received validated client X.509 certificate
for a received HTTPS request.
|
void |
setConnectTimeout(int connectTimeout) |
Sets the HTTP connect timeout.
|
void |
setContentType(String ct) |
Sets the
Content-Type header value. |
void |
setContentType(javax.mail.internet.ContentType ct) |
Sets the
Content-Type header value. |
static void |
setDefaultHostnameVerifier(HostnameVerifier defaultHostnameVerifier) |
Sets the default hostname verifier for all outgoing HTTPS requests.
|
static void |
setDefaultSSLSocketFactory(SSLSocketFactory sslSocketFactory) |
Sets the default SSL socket factory for all outgoing HTTPS requests.
|
void |
setFollowRedirects(boolean follow) |
Sets whether HTTP redirects (requests with response code 3xx) should
be automatically followed.
|
void |
setFragment(String fragment) |
Sets the raw (undecoded) request fragment.
|
void |
setHeader(String name,
String value) |
Sets a HTTP header value.
|
void |
setHostnameVerifier(HostnameVerifier hostnameVerifier) |
Sets the hostname verifier for outgoing HTTPS requests.
|
void |
setQuery(String query) |
Sets the raw (undecoded) query string if the request is HTTP GET or
the entity body if the request is HTTP POST.
|
void |
setReadTimeout(int readTimeout) |
Sets the HTTP response read timeout.
|
void |
setSSLSocketFactory(SSLSocketFactory sslSocketFactory) |
Sets the SSL factory for outgoing HTTPS requests.
|
HttpURLConnection |
toHttpURLConnection() |
Returns an established HTTP URL connection for this HTTP request.
|
HttpURLConnection |
toHttpURLConnection(HostnameVerifier hostnameVerifier,
SSLSocketFactory sslSocketFactory) |
Deprecated.
|
public HTTPRequest(HTTPRequest.Method method, URL url)
method
- The HTTP request method. Must not be null
.url
- The HTTP request URL. Must not be null
.public HTTPRequest.Method getMethod()
public void ensureMethod(HTTPRequest.Method expectedMethod) throws ParseException
expectedMethod
- The expected method. Must not be null
.ParseException
- If the method doesn't match the expected.public String getAuthorization()
Authorization
header value.Authorization
header value, null
if not
specified.public void setAuthorization(String authz)
Authorization
header value.authz
- The Authorization
header value, null
if
not specified.public String getAccept()
Accept
header value.Accept
header value, null
if not
specified.public void setAccept(String accept)
Accept
header value.accept
- The Accept
header value, null
if not
specified.public String getQuery()
Note that the '?' character preceding the query string in GET requests is not included in the returned string.
Example query string (line breaks for clarity):
response_type=code &client_id=s6BhdRkqt3 &state=xyz &redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb
null
if not specified.public void setQuery(String query)
Note that the '?' character preceding the query string in GET requests must not be included.
Example query string (line breaks for clarity):
response_type=code &client_id=s6BhdRkqt3 &state=xyz &redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb
query
- For HTTP GET requests the URL query string, for HTTP
POST requests the body. null
if not specified.public Map<String,String> getQueryParameters()
application/x-www-form-urlencoded
.public net.minidev.json.JSONObject getQueryAsJSONObject() throws ParseException
ParseException
- If the Content-Type header isn't
application/json
, the request query
or entity body is null
, empty or
couldn't be parsed to a valid JSON object.public String getFragment()
null
if not specified.public void setFragment(String fragment)
fragment
- The request fragment, null
if not specified.public int getConnectTimeout()
public void setConnectTimeout(int connectTimeout)
connectTimeout
- The HTTP connect timeout, in milliseconds.
Zero implies no timeout. Must not be negative.public int getReadTimeout()
public void setReadTimeout(int readTimeout)
readTimeout
- The HTTP response read timeout, in milliseconds.
Zero implies no timeout. Must not be negative.public boolean getFollowRedirects()
true
if HTTP redirects are automatically followed,
else false
.public void setFollowRedirects(boolean follow)
follow
- Whether or not to follow HTTP redirects.public X509Certificate getClientX509Certificate()
null
if not specified.public void setClientX509Certificate(X509Certificate clientX509Certificate)
clientX509Certificate
- The client X.509 certificate,
null
if not specified.public String getClientX509CertificateSubjectDN()
null
if not specified.public void setClientX509CertificateSubjectDN(String subjectDN)
subjectDN
- The subject DN, null
if not specified.public String getClientX509CertificateRootDN()
null
if not specified.public void setClientX509CertificateRootDN(String rootDN)
rootDN
- The root DN, null
if not specified.public HostnameVerifier getHostnameVerifier()
null
implies use of the
default one
.public void setHostnameVerifier(HostnameVerifier hostnameVerifier)
hostnameVerifier
- The hostname verifier, null
implies
use of the
default
one
.public SSLSocketFactory getSSLSocketFactory()
null
implies of the default one.public void setSSLSocketFactory(SSLSocketFactory sslSocketFactory)
sslSocketFactory
- The SSL factory, null
implies use of
the default one.public static HostnameVerifier getDefaultHostnameVerifier()
public static void setDefaultHostnameVerifier(HostnameVerifier defaultHostnameVerifier)
defaultHostnameVerifier
- The hostname verifier. Must not be
null
.public static SSLSocketFactory getDefaultSSLSocketFactory()
public static void setDefaultSSLSocketFactory(SSLSocketFactory sslSocketFactory)
sslSocketFactory
- The SSL socket factory. Must not be
null
.@Deprecated public HttpURLConnection toHttpURLConnection(HostnameVerifier hostnameVerifier, SSLSocketFactory sslSocketFactory) throws IOException
toHttpURLConnection()
with
setHostnameVerifier(javax.net.ssl.HostnameVerifier)
and setSSLSocketFactory(javax.net.ssl.SSLSocketFactory)
instead.hostnameVerifier
- The hostname verifier for outgoing HTTPS
requests, null
implies use of the
default
one
.sslSocketFactory
- The SSL socket factory for HTTPS requests,
null
implies use of the
default
one
.IOException
- If the HTTP request couldn't be made, due to a
network or other error.public HttpURLConnection toHttpURLConnection() throws IOException
IOException
- If the HTTP request couldn't be made, due to a
network or other error.@Deprecated public HTTPResponse send(HostnameVerifier hostnameVerifier, SSLSocketFactory sslSocketFactory) throws IOException
toHttpURLConnection()
with setHostnameVerifier(javax.net.ssl.HostnameVerifier)
and
setSSLSocketFactory(javax.net.ssl.SSLSocketFactory)
instead.hostnameVerifier
- The hostname verifier for outgoing HTTPS
requests, null
implies use of the
default
one
.sslSocketFactory
- The SSL socket factory for HTTPS requests,
null
implies use of the
default
one
.IOException
- If the HTTP request couldn't be made, due to a
network or other error.public HTTPResponse send() throws IOException
IOException
- If the HTTP request couldn't be made, due to a
network or other error.public javax.mail.internet.ContentType getContentType()
Content-Type
header value.Content-Type
header value, null
if not
specified.public void setContentType(javax.mail.internet.ContentType ct)
Content-Type
header value.ct
- The Content-Type
header value, null
if not
specified.public void setContentType(String ct) throws ParseException
Content-Type
header value.ct
- The Content-Type
header value, null
if not
specified.ParseException
- If the header value couldn't be parsed to a
valid content type.public void ensureContentType() throws ParseException
Content-Type
header value.ParseException
- If the Content-Type
header is
missing.public void ensureContentType(javax.mail.internet.ContentType contentType) throws ParseException
Content-Type
header value. This method compares only the primary type and
subtype; any content type parameters, such as charset
, are
ignored.contentType
- The expected content type. Must not be
null
.ParseException
- If the Content-Type
header is missing
or its primary and subtype don't match.public String getHeader(String name)
name
- The header name. Must not be null
.null
if not specified.public void setHeader(String name, String value)
name
- The header name. Must not be null
.value
- The header value. If null
and a header with the
same name is specified, it will be deleted.public Map<String,String> getHeaders()
public String getClientIPAddress()
null
if not specified.public void setClientIPAddress(String clientIPAddress)
clientIPAddress
- The client IP address, null
if not
specified.Copyright © 2018 Connect2id Ltd.. All rights reserved.