All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.nike.riposte.server.error.handler.RiposteErrorHandler Maven / Gradle / Ivy

There is a newer version: 0.20.0
Show newest version
package com.nike.riposte.server.error.handler;

import com.nike.backstopper.handler.riposte.RiposteApiExceptionHandler;
import com.nike.riposte.server.error.exception.UnexpectedMajorErrorHandlingError;
import com.nike.riposte.server.http.RequestInfo;

/**
 * Interface describing an error handler for Netty that takes in the error that occurred along with some info useful for
 * logging and returns an {@link ErrorResponseInfo} that can be used to build the response sent to the user (or null if
 * this handler doesn't know how to deal with the given error and {@link RiposteUnhandledErrorHandler} should take care
 * of it).
 * 

* You can create your own instance of this class, however it's highly recommended that you just use the prebuilt {@link * RiposteApiExceptionHandler} class which is part of the default error handling and validation system that is designed * to make error handling and validation easy and is based on Backstopper. * * @author Nic Munroe */ public interface RiposteErrorHandler { /** * @param error * The error that may or may not be handled by this handler. * @param requestInfo * The {@link com.nike.riposte.server.http.RequestInfo} associated with the request that threw the error. Useful * for logging information to make debugging easier. * * @return The {@link com.nike.riposte.server.error.handler.ErrorResponseInfo} that should be used to build the * response for the user, or null if this handler doesn't know how to deal with the error. If this returns null then * you should have {@link RiposteUnhandledErrorHandler} handle the error instead. * * @throws UnexpectedMajorErrorHandlingError * This should never be thrown - if it is it indicates something major went wrong in the handler and is likely a * bug that should be fixed. */ ErrorResponseInfo maybeHandleError(Throwable error, RequestInfo requestInfo) throws UnexpectedMajorErrorHandlingError; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy