{title:'Extending RestClient', created:'8.2.0'}

The RestClient API has been designed to allow for the ability to be easily extended. The following example that overrides the primary run method shows how this can be done.

Example:

| public class MyRestClient extends RestClient { | | // Must provide this constructor! | public MyRestClient(ContextProperties ps) { | super(ps); | } | | @Override | public HttpResponse run(HttpHost target, HttpRequest request, HttpContext context) throws IOException { | // Perform special handling of requests. | } | } | | // Instantiate your client. | MyRestClient client = RestClient.create().json().build(MyRestClient.class);

The {@link oajrc.RestRequest} and {@link oajrc.RestResponse} objects can also be extended and integrated by overriding the {@link oajrc.RestClient#createRequest(URI, String, boolean)} and {@link oajrc.RestClient#createResponse(RestRequest, HttpResponse, Parser)} methods.