RestClient
, RestDeleteClient
, RestGetClient
, RestPostClient
, RestPutClient
, RestRequestClient
, RestRequestHandler
, org.refcodes.runtime.RequestCorrelation<RestClient>
, org.refcodes.runtime.SessionCorrelation<RestClient>
, org.refcodes.web.BasicAuthCredentialsAccessor
, org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsBuilder<RestClient>
, org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsMutator
, org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsProperty
, org.refcodes.web.MediaTypeFactoryLookup
, org.refcodes.web.MediaTypeFactoryLookup.MutableMediaTypeFactoryLookup
, org.refcodes.web.OauthTokenAccessor
, org.refcodes.web.OauthTokenAccessor.OauthTokenBuilder<RestClient>
, org.refcodes.web.OauthTokenAccessor.OauthTokenMutator
, org.refcodes.web.OauthTokenAccessor.OauthTokenProperty
, org.refcodes.web.UserAgentAccessor
, org.refcodes.web.UserAgentAccessor.UserAgentBuilder<RestClient>
, org.refcodes.web.UserAgentAccessor.UserAgentMutator
, org.refcodes.web.UserAgentAccessor.UserAgentProperty
HttpRestClientImpl
, LoopbackRestClientImpl
public abstract class AbstractRestClient extends Object implements RestClient
RestClient
interface being the
foundation for various RestClient
implementations such as
HttpRestClientImpl
or LoopbackRestClientImpl
. The
AbstractRestClient
is pre-configured with the following
MediaTypeFactory
instances:
JsonMediaTypeFactory
XmlMediaTypeFactory
TextMediaTypeFactory
FormMediaTypeFactory
HtmlMediaTypeFactory
initMedaTypeFactories()
,
therein calling addMediaTypeFactory(MediaTypeFactory)
to add (by
also invoking super's initMedaTypeFactories()
) or to set your own
(without invoking super's initMedaTypeFactories()
)
MediaTypeFactory
instances.org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsBuilder<B extends org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsBuilder<B>>, org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsMutator, org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsProperty
org.refcodes.web.MediaTypeFactoryLookup.MutableMediaTypeFactoryLookup
org.refcodes.web.OauthTokenAccessor.OauthTokenBuilder<B extends org.refcodes.web.OauthTokenAccessor.OauthTokenBuilder<B>>, org.refcodes.web.OauthTokenAccessor.OauthTokenMutator, org.refcodes.web.OauthTokenAccessor.OauthTokenProperty
org.refcodes.web.UserAgentAccessor.UserAgentBuilder<B extends org.refcodes.web.UserAgentAccessor.UserAgentBuilder<B>>, org.refcodes.web.UserAgentAccessor.UserAgentMutator, org.refcodes.web.UserAgentAccessor.UserAgentProperty
Modifier and Type | Field | Description |
---|---|---|
protected boolean |
_hasRequestCorrelation |
|
protected boolean |
_hasSessionCorrelation |
Constructor | Description |
---|---|
AbstractRestClient() |
Instantiates a new abstract rest client.
|
AbstractRestClient(ExecutorService aExecutorService) |
Instantiates a new abstract rest client.
|
Modifier and Type | Method | Description |
---|---|---|
boolean |
addMediaTypeFactory(org.refcodes.web.MediaTypeFactory aMediaTypeFactory) |
|
RestRequestBuilder |
buildRequest(org.refcodes.web.HttpMethod aHttpMethod,
org.refcodes.web.Url aUrl,
org.refcodes.web.RequestHeaderFields aHeaderFields,
Object aRequest,
int aRedirectDepth) |
Prepares a request builder with the possible attributes and returns the
according request's
RestRequestBuilder instance. |
RestResponse |
doRequest(org.refcodes.web.HttpMethod aHttpMethod,
org.refcodes.web.Url aUrl,
org.refcodes.web.RequestHeaderFields aHeaderFields,
Object aRequest,
int aRedirectDepth) |
Sends a request with the possible attributes and returns the according
request's
RestResponse instance synchronously. |
protected void |
doRequestCorrelation(org.refcodes.web.RequestHeaderFields aRequestHeaderFields) |
Do request correlation.
|
protected void |
doRequestCorrelation(org.refcodes.web.ResponseHeaderFields aResponseHeaderFields) |
Do request correlation.
|
protected void |
doSessionCorrelation(org.refcodes.web.RequestHeaderFields aRequestHeaderFields) |
Do session correlation.
|
protected void |
doSessionCorrelation(org.refcodes.web.ResponseHeaderFields aResponseHeaderFields) |
Do session correlation.
|
org.refcodes.web.BasicAuthCredentials |
getBasicAuthCredentials() |
|
org.refcodes.web.MediaType[] |
getFactoryMediaTypes() |
|
org.refcodes.web.OauthToken |
getOauthToken() |
|
String |
getUserAgent() |
|
boolean |
hasRequestCorrelation() |
|
boolean |
hasSessionCorrelation() |
|
protected void |
initMedaTypeFactories() |
Adds the default
MediaTypeFactory instances. |
RestResponseResult |
onResponse(org.refcodes.web.HttpMethod aHttpMethod,
org.refcodes.web.Url aUrl,
org.refcodes.web.RequestHeaderFields aHeaderFields,
Object aRequest,
int aRedirectDepth) |
Creates a request with the possible attributes and returns the according
RestResponseResult instance used for the request. |
RestResponseHandler |
onResponse(org.refcodes.web.HttpMethod aHttpMethod,
org.refcodes.web.Url aUrl,
org.refcodes.web.RequestHeaderFields aHeaderFields,
Object aRequest,
int aRedirectDepth,
RestResponseConsumer aResponseConsumer) |
Creates a request with the possible attributes and returns the according
RestResponseHandler instance used for the request. |
protected void |
onRestRequest(RestRequestHandler aHandler) |
Sets the hook receiving a prepared
RestResponseHandler instance
to be used to do the technical request with the technology chosen by the
implementing sub-class. |
protected org.refcodes.web.RequestHeaderFields |
preProcessHeaderFields(org.refcodes.web.RequestHeaderFields aHeaderFields) |
Pre-processes the given header fields before the HTTP-Request is issued.
|
void |
setBasicAuthCredentials(org.refcodes.web.BasicAuthCredentials aBasicAuthCredentials) |
|
void |
setOauthToken(org.refcodes.web.OauthToken aOauthToken) |
|
void |
setRequestCorrelation(boolean hasRequestCorrelation) |
|
void |
setSessionCorrelation(boolean hasSessionCorrelation) |
|
void |
setUserAgent(String aUserAgent) |
|
org.refcodes.web.MediaTypeFactory |
toMediaTypeFactory(org.refcodes.web.MediaType aMediaType) |
withBasicAuthCredentials, withBasicAuthCredentials
setBasicAuthCredentials
letBasicAuthCredentials, letBasicAuthCredentials
withOAuthToken
letOauthToken
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
disableRequestCorrelation, enableRequestCorrelation, withDisableRequestCorrelation, withEnableRequestCorrelation, withRequestCorrelation
buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete, onDelete
buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet, onGet
buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost, onPost
buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut, onPut
buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse, onResponse
protected boolean _hasRequestCorrelation
protected boolean _hasSessionCorrelation
public AbstractRestClient(ExecutorService aExecutorService)
aExecutorService
- the executor servicepublic AbstractRestClient()
protected void initMedaTypeFactories()
MediaTypeFactory
instances. Can be overridden.public org.refcodes.web.BasicAuthCredentials getBasicAuthCredentials()
getBasicAuthCredentials
in interface org.refcodes.web.BasicAuthCredentialsAccessor
public void setBasicAuthCredentials(org.refcodes.web.BasicAuthCredentials aBasicAuthCredentials)
setBasicAuthCredentials
in interface org.refcodes.web.BasicAuthCredentialsAccessor.BasicAuthCredentialsMutator
public void setOauthToken(org.refcodes.web.OauthToken aOauthToken)
setOauthToken
in interface org.refcodes.web.OauthTokenAccessor.OauthTokenMutator
public org.refcodes.web.OauthToken getOauthToken()
getOauthToken
in interface org.refcodes.web.OauthTokenAccessor
public void setRequestCorrelation(boolean hasRequestCorrelation)
setRequestCorrelation
in interface org.refcodes.runtime.RequestCorrelation<RestClient>
public boolean hasRequestCorrelation()
hasRequestCorrelation
in interface org.refcodes.runtime.RequestCorrelation<RestClient>
public void setSessionCorrelation(boolean hasSessionCorrelation)
setSessionCorrelation
in interface org.refcodes.runtime.SessionCorrelation<RestClient>
public boolean hasSessionCorrelation()
hasSessionCorrelation
in interface org.refcodes.runtime.SessionCorrelation<RestClient>
public RestResponse doRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, org.refcodes.web.RequestHeaderFields aHeaderFields, Object aRequest, int aRedirectDepth) throws org.refcodes.web.HttpResponseException
RestResponse
instance synchronously.doRequest
in interface RestRequestClient
aHttpMethod
- The HTTP-Method for the request.aUrl
- The Url
from which to take the URL specific data.aHeaderFields
- The HTTP-Header's fields to be used for the request.aRequest
- The body to be sent with the request (e.g. when doing a
HttpMethod.POST
request.aRedirectDepth
- The redirect depth provides the count of
HTTP-Request and HTTP-Response cycles where the response
represents a redirect as of
HttpStatusCode.isRedirectStatus()
. A value of -1
represents the default behavior, e.g. using
HttpURLConnection
's redirection means.RestResponse
for this request.org.refcodes.web.HttpResponseException
- thrown in case of some unexpected response.public RestResponseHandler onResponse(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, org.refcodes.web.RequestHeaderFields aHeaderFields, Object aRequest, int aRedirectDepth, RestResponseConsumer aResponseConsumer)
RestResponseHandler
instance used for the request. The
HTTP-Request is actually sent not earlier than you calling
RestResponseHandler.open()
on the returned
RestResponseHandler
as the RestResponseHandler
still may
be modified after invoking this method!onResponse
in interface RestRequestClient
aHttpMethod
- The HTTP-Method for the request.aUrl
- The Url
from which to take the URL specific data.aHeaderFields
- The HTTP-Header's fields to be used for the request.aRequest
- The body to be sent with the request (e.g. when doing a
HttpMethod.POST
request.aRedirectDepth
- The redirect depth provides the count of
HTTP-Request and HTTP-Response cycles where the response
represents a redirect as of
HttpStatusCode.isRedirectStatus()
. A value of -1
represents the default behavior, e.g. using
HttpURLConnection
's redirection means.aResponseConsumer
- The listener processing a response targeted at
this RestResponseHandler
.RestResponseHandler
which is used by the request.public RestResponseResult onResponse(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, org.refcodes.web.RequestHeaderFields aHeaderFields, Object aRequest, int aRedirectDepth)
RestResponseResult
instance used for the request. The
HTTP-Request is actually sent not earlier than you calling
RestResponseResult.open()
on the returned
RestResponseResult
as the RestResponseResult
still may be
modified after invoking this method!onResponse
in interface RestRequestClient
aHttpMethod
- The HTTP-Method for the request.aUrl
- The Url
from which to take the URL specific data.aHeaderFields
- The HTTP-Header's fields to be used for the request.aRequest
- The body to be sent with the request (e.g. when doing a
HttpMethod.POST
request.aRedirectDepth
- The redirect depth provides the count of
HTTP-Request and HTTP-Response cycles where the response
represents a redirect as of
HttpStatusCode.isRedirectStatus()
. A value of -1
represents the default behavior, e.g. using
HttpURLConnection
's redirection means.RestResponseResult
which is used by the request.public RestRequestBuilder buildRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, org.refcodes.web.RequestHeaderFields aHeaderFields, Object aRequest, int aRedirectDepth)
RestRequestBuilder
instance. Invoking
RestRequestBuilder.toRestResponse()
starts the request and
synchronously returns the response.buildRequest
in interface RestRequestClient
aHttpMethod
- The HTTP-Method for the request.aUrl
- The Url
from which to take the URL specific data.aHeaderFields
- The HTTP-Header's fields to be used for the request.aRequest
- The body to be sent with the request (e.g. when doing a
HttpMethod.POST
request.aRedirectDepth
- The number of redirect ping-pong cycles to follow
before when issuing the HTTP-Request.RestRequestBuilder
at this request.public boolean addMediaTypeFactory(org.refcodes.web.MediaTypeFactory aMediaTypeFactory)
addMediaTypeFactory
in interface org.refcodes.web.MediaTypeFactoryLookup.MutableMediaTypeFactoryLookup
public org.refcodes.web.MediaTypeFactory toMediaTypeFactory(org.refcodes.web.MediaType aMediaType)
toMediaTypeFactory
in interface org.refcodes.web.MediaTypeFactoryLookup
public org.refcodes.web.MediaType[] getFactoryMediaTypes()
getFactoryMediaTypes
in interface org.refcodes.web.MediaTypeFactoryLookup
public String getUserAgent()
getUserAgent
in interface org.refcodes.web.UserAgentAccessor
public void setUserAgent(String aUserAgent)
setUserAgent
in interface org.refcodes.web.UserAgentAccessor.UserAgentMutator
protected void onRestRequest(RestRequestHandler aHandler)
RestResponseHandler
instance
to be used to do the technical request with the technology chosen by the
implementing sub-class.aHandler
- The RestRequestHandler
for handling the HTTP
request.protected org.refcodes.web.RequestHeaderFields preProcessHeaderFields(org.refcodes.web.RequestHeaderFields aHeaderFields)
aHeaderFields
- The HeaderFields
to be pre-prcessed.protected void doRequestCorrelation(org.refcodes.web.RequestHeaderFields aRequestHeaderFields)
aRequestHeaderFields
- the request Header-Fieldsprotected void doSessionCorrelation(org.refcodes.web.RequestHeaderFields aRequestHeaderFields)
aRequestHeaderFields
- the request Header-Fieldsprotected void doRequestCorrelation(org.refcodes.web.ResponseHeaderFields aResponseHeaderFields)
aResponseHeaderFields
- the response Header-Fieldsprotected void doSessionCorrelation(org.refcodes.web.ResponseHeaderFields aResponseHeaderFields)
aResponseHeaderFields
- the response Header-FieldsCopyright © 2021. All rights reserved.