package org.jboss.resteasy.client.core;

import org.jboss.resteasy.client.ClientResponse;

import javax.ws.rs.core.Response;

ClientErrorInterceptor provides a hook into the proxy ClientResponse request lifecycle. If a Client Proxy method is called, resulting in a client exception, and the proxy return type is not Response or ClientResponse, registered interceptors will be given a chance to process the response manually, or throw a new exception. If all interceptors successfully return, RestEasy will re-throw the original encountered exception.
Author:Lincoln Baxter, III
/** * {@link ClientErrorInterceptor} provides a hook into the proxy * {@link ClientResponse} request lifecycle. If a Client Proxy method is called, * resulting in a client exception, and the proxy return type is not * {@link Response} or {@link ClientResponse}, registered interceptors will be * given a chance to process the response manually, or throw a new exception. If * all interceptors successfully return, RestEasy will re-throw the original * encountered exception. * * @author <a href="mailto:lincoln@ocpsoft.com">Lincoln Baxter, III</a> */
public interface ClientErrorInterceptor {
Attempt to handle the current ClientResponse. If this method returns successfully, the next registered ClientErrorInterceptor will attempt to handle the ClientResponse. If this method throws an exception, no further interceptors will be processed.
Throws:
  • RuntimeException – RestEasy will abort request processing if any exception is thrown from this method.
/** * Attempt to handle the current {@link ClientResponse}. If this method * returns successfully, the next registered * {@link ClientErrorInterceptor} will attempt to handle the * {@link ClientResponse}. If this method throws an exception, no further * interceptors will be processed. * * @throws RuntimeException RestEasy will abort request processing if any exception is * thrown from this method. */
void handle(ClientResponse<?> response) throws RuntimeException; }