Class RestRequest

java.lang.Object
org.refcodes.web.AbstractHttpRequest
org.refcodes.web.HttpClientRequest
org.refcodes.rest.RestRequest
All Implemented Interfaces:
org.refcodes.mixin.Dumpable, org.refcodes.web.HeaderFieldsAccessor<org.refcodes.web.RequestHeaderFields>, org.refcodes.web.HeaderFieldsAccessor.HeaderFieldsMutator<org.refcodes.web.RequestHeaderFields>, org.refcodes.web.HeaderFieldsAccessor.HeaderFieldsProperty<org.refcodes.web.RequestHeaderFields>, org.refcodes.web.HttpBodyAccessor.HttpBodyProvider<org.refcodes.web.BadRequestException>, org.refcodes.web.HttpMethodAccessor, org.refcodes.web.HttpRequest, org.refcodes.web.RedirectDepthAccessor, org.refcodes.web.RedirectDepthAccessor.RedirectDepthMutator, org.refcodes.web.RedirectDepthAccessor.RedirectDepthProperty, org.refcodes.web.UrlAccessor
Direct Known Subclasses:
RestRequestBuilder

public class RestRequest extends org.refcodes.web.HttpClientRequest implements org.refcodes.web.HeaderFieldsAccessor.HeaderFieldsProperty<org.refcodes.web.RequestHeaderFields>, org.refcodes.mixin.Dumpable
A RestRequest describes a REST request and the RestResponse providing the response. The RestRequest describes the HttpMethod to be used, the targeted URL, the HeaderFields as well as the Query-Fields and the request Object or InputStream.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.refcodes.web.HeaderFieldsAccessor

    org.refcodes.web.HeaderFieldsAccessor.HeaderFieldsBuilder<T extends org.refcodes.web.HeaderFields<?,?>,B extends org.refcodes.web.HeaderFieldsAccessor.HeaderFieldsBuilder<T,B>>, org.refcodes.web.HeaderFieldsAccessor.HeaderFieldsMutator<T extends org.refcodes.web.HeaderFields<?,?>>, org.refcodes.web.HeaderFieldsAccessor.HeaderFieldsProperty<T extends org.refcodes.web.HeaderFields<?,?>>

    Nested classes/interfaces inherited from interface org.refcodes.web.HttpMethodAccessor

    org.refcodes.web.HttpMethodAccessor.HttpMethodBuilder<B extends org.refcodes.web.HttpMethodAccessor.HttpMethodBuilder<B>>, org.refcodes.web.HttpMethodAccessor.HttpMethodMutator, org.refcodes.web.HttpMethodAccessor.HttpMethodProperty

    Nested classes/interfaces inherited from interface org.refcodes.web.RedirectDepthAccessor

    org.refcodes.web.RedirectDepthAccessor.RedirectDepthBuilder<B extends org.refcodes.web.RedirectDepthAccessor.RedirectDepthBuilder<B>>, org.refcodes.web.RedirectDepthAccessor.RedirectDepthMutator, org.refcodes.web.RedirectDepthAccessor.RedirectDepthProperty

    Nested classes/interfaces inherited from interface org.refcodes.web.UrlAccessor

    org.refcodes.web.UrlAccessor.UrlBuilder, org.refcodes.web.UrlAccessor.UrlMutator, org.refcodes.web.UrlAccessor.UrlProperty
  • Field Summary

    Fields inherited from class org.refcodes.web.HttpClientRequest

    _mediaTypeFactoryLookup, DEFAULT_REDIRECT_DEPTH

    Fields inherited from class org.refcodes.web.AbstractHttpRequest

    _headerFields, _httpMethod, _url
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    RestRequest(RestClient aRestClient)
    Instantiates a new rest request builder impl.
    protected
    RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, int aRedirectDepth, RestClient aRestClient)
    Instantiates a new rest request builder impl.
    protected
    RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, Object aRequest, int aRedirectDepth, RestClient aRestClient)
    Instantiates a new rest request builder impl.
    protected
    RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, Object aRequest, RestClient aRestClient)
    Instantiates a new rest request builder impl.
    protected
    RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, RestClient aRestClient)
    Instantiates a new rest request builder impl.
    protected
    RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, org.refcodes.web.RequestHeaderFields aHeaderFields, Object aRequest, int aRedirectDepth, RestClient aRestClient)
    Instantiates a new rest request builder impl.
    protected
    RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, org.refcodes.web.RequestHeaderFields aHeaderFields, Object aRequest, RestClient aRestClient)
    Instantiates a new rest request builder impl.
  • Method Summary

    Modifier and Type
    Method
    Description
    build(RestClient aRestClient)
    This is a convenience method for easily instantiating the according builder.
    org.refcodes.web.HttpMethod
    org.refcodes.web.UrlBuilder
    void
    setHeaderFields(org.refcodes.web.RequestHeaderFields aHeaderFields)
    Sends the request and returns synchronously the according RestResponse.

    Methods inherited from class org.refcodes.web.HttpClientRequest

    getRedirectDepth, getRequest, setRedirectDepth, setRequest, toHttpBody

    Methods inherited from class org.refcodes.web.AbstractHttpRequest

    getHeaderFields

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.refcodes.mixin.Dumpable

    toDump, toDump

    Methods inherited from interface org.refcodes.web.HeaderFieldsAccessor

    getHeaderFields

    Methods inherited from interface org.refcodes.web.HeaderFieldsAccessor.HeaderFieldsProperty

    letHeaderFields

    Methods inherited from interface org.refcodes.web.RedirectDepthAccessor.RedirectDepthProperty

    letRedirectDepth
  • Constructor Details

    • RestRequest

      protected RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, org.refcodes.web.RequestHeaderFields aHeaderFields, Object aRequest, RestClient aRestClient)
      Instantiates a new rest request builder impl.
      Parameters:
      aHttpMethod - the http method
      aUrl - The Url from which to take the URL specific data.
      aHeaderFields - the Header-Fields
      aRequest - the request
      aRestClient - the rest client
    • RestRequest

      protected RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, RestClient aRestClient)
      Instantiates a new rest request builder impl.
      Parameters:
      aHttpMethod - the http method
      aUrl - The Url from which to take the URL specific data.
      aRestClient - the rest client
    • RestRequest

      protected RestRequest(RestClient aRestClient)
      Instantiates a new rest request builder impl.
      Parameters:
      aRestClient - the rest client
    • RestRequest

      protected RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, Object aRequest, RestClient aRestClient)
      Instantiates a new rest request builder impl.
      Parameters:
      aHttpMethod - the http method
      aUrl - The Url from which to take the URL specific data.
      aRequest - the request
      aRestClient - the rest client
    • RestRequest

      protected RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, int aRedirectDepth, RestClient aRestClient)
      Instantiates a new rest request builder impl.
      Parameters:
      aHttpMethod - the http method
      aUrl - The Url from which to take the URL specific data.
      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.
      aRestClient - the rest client
    • RestRequest

      protected RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, Object aRequest, int aRedirectDepth, RestClient aRestClient)
      Instantiates a new rest request builder impl.
      Parameters:
      aHttpMethod - the http method
      aUrl - The Url from which to take the URL specific data.
      aRequest - the 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.
      aRestClient - the rest client
    • RestRequest

      protected RestRequest(org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, org.refcodes.web.RequestHeaderFields aHeaderFields, Object aRequest, int aRedirectDepth, RestClient aRestClient)
      Instantiates a new rest request builder impl.
      Parameters:
      aHttpMethod - the http method
      aUrl - The Url from which to take the URL specific data.
      aHeaderFields - the Header-Fields
      aRequest - the 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.
      aRestClient - the rest client
  • Method Details

    • build

      public RestRequest build(RestClient aRestClient)
      This is a convenience method for easily instantiating the according builder.
      Parameters:
      aRestClient - the rest client
      Returns:
      an instance (using a public implementation) of this builder
    • getUrl

      public org.refcodes.web.UrlBuilder getUrl()
      Specified by:
      getUrl in interface org.refcodes.web.UrlAccessor
      Overrides:
      getUrl in class org.refcodes.web.AbstractHttpRequest
    • getHttpMethod

      public org.refcodes.web.HttpMethod getHttpMethod()
      Specified by:
      getHttpMethod in interface org.refcodes.web.HttpMethodAccessor
      Overrides:
      getHttpMethod in class org.refcodes.web.AbstractHttpRequest
    • toString

      public String toString()
      Overrides:
      toString in class org.refcodes.web.HttpClientRequest
    • setHeaderFields

      public void setHeaderFields(org.refcodes.web.RequestHeaderFields aHeaderFields)
      Specified by:
      setHeaderFields in interface org.refcodes.web.HeaderFieldsAccessor.HeaderFieldsMutator<org.refcodes.web.RequestHeaderFields>
    • toRestResponse

      public RestResponse toRestResponse() throws org.refcodes.web.HttpResponseException
      Sends the request and returns synchronously the according RestResponse.
      Returns:
      the rest response
      Throws:
      org.refcodes.web.HttpResponseException - the http response exception