Class LoopbackRestServer

java.lang.Object
org.refcodes.observer.AbstractObservable<RestEndpoint,org.refcodes.web.HttpRequest>
org.refcodes.rest.AbstractRestfulServer
org.refcodes.rest.LoopbackRestServer
All Implemented Interfaces:
org.refcodes.mixin.Disposable, org.refcodes.observer.Observable<RestEndpoint>, org.refcodes.observer.Observers<RestEndpoint,RestfulServer>, RestfulServer, org.refcodes.web.BaseLocatorAccessor, org.refcodes.web.BaseLocatorAccessor.BaseLocatorBuilder<RestfulServer>, org.refcodes.web.BaseLocatorAccessor.BaseLocatorMutator, org.refcodes.web.BaseLocatorAccessor.BaseLocatorProperty, org.refcodes.web.MediaTypeFactoryLookup, org.refcodes.web.MediaTypeFactoryLookup.MutableMediaTypeFactoryLookup, org.refcodes.web.RealmAccessor, org.refcodes.web.RealmAccessor.RealmBuilder<RestfulServer>, org.refcodes.web.RealmAccessor.RealmMutator, org.refcodes.web.RealmAccessor.RealmProperty
Direct Known Subclasses:
LoopbackRestServerSingleton

public class LoopbackRestServer extends AbstractRestfulServer
Implements a RestfulServer to be used as loopback device e.g. for testing purposes such as testing your RestRequestConsumer implementations. Use the onHttpRequest(InetSocketAddress, InetSocketAddress, HttpMethod, Url, RequestHeaderFields, InputStream, HttpServerResponse) method to simulate REST requests on the LoopbackRestServer. An registered RestEndpoint instances being targeted at will be invoked accordingly.
  • Constructor Details

    • LoopbackRestServer

      public LoopbackRestServer()
  • Method Details

    • onHttpRequest

      public void onHttpRequest(InetSocketAddress aLocalAddress, InetSocketAddress aClientAddress, org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, org.refcodes.web.RequestHeaderFields aRequestHeaderFields, String aHttpBody, org.refcodes.web.HttpServerResponse aHttpServerResponse) throws org.refcodes.web.HttpStatusException
      Invoke this method to simulate a REST request to be handled by the according registered RestEndpoint instances:.
      Parameters:
      aLocalAddress - the local address
      aClientAddress - the client address
      aHttpMethod - The method for the simulated REST request to be used
      aUrl - The query string part of the request.
      aRequestHeaderFields - The simulated REST request's Header-Fields to be used
      aHttpBody - The raw body for the simulated REST request to be used.
      aHttpServerResponse - The HttpServerResponse to be filled with the complete result of processing the request.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case of HTTP status code related exceptions (e.g. as of a HTTP response was of an erroneous status).
    • onHttpRequest

      public void onHttpRequest(InetSocketAddress aLocalAddress, InetSocketAddress aClientAddress, org.refcodes.web.HttpMethod aHttpMethod, org.refcodes.web.Url aUrl, org.refcodes.web.RequestHeaderFields aRequestHeaderFields, InputStream aHttpInputStream, org.refcodes.web.HttpServerResponse aHttpServerResponse) throws org.refcodes.web.HttpStatusException
      Invoke this method to simulate a REST request to be handled by the according registered RestEndpoint instances:.
      Overrides:
      onHttpRequest in class AbstractRestfulServer
      Parameters:
      aLocalAddress - the local address
      aClientAddress - the client address
      aHttpMethod - The method for the simulated REST request to be used
      aUrl - The query string part of the request.
      aRequestHeaderFields - The simulated REST request's Header-Fields to be used
      aHttpInputStream - The HTTP InputStream representing the body for the simulated REST request to be used.
      aHttpServerResponse - The HttpServerResponse to be filled with the complete result of processing the request.
      Throws:
      org.refcodes.web.HttpStatusException - thrown in case of HTTP status code related exceptions (e.g. as of a HTTP response was of an erroneous status).
    • withBaseLocator

      public LoopbackRestServer withBaseLocator(String aBaseLocator)
    • withRealm

      public LoopbackRestServer withRealm(String aRealm)
    • withObserversActive

      public LoopbackRestServer withObserversActive(boolean isActive)
    • withEnableObservers

      public LoopbackRestServer withEnableObservers()
    • withDisableObservers

      public LoopbackRestServer withDisableObservers()