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

com.payu.common.client.handler.AbstractErrorHandler Maven / Gradle / Ivy

There is a newer version: 0.0.7
Show newest version
package com.payu.common.client.handler;

import com.payu.common.client.error.ApiError;
import org.slf4j.MDC;
import org.springframework.http.HttpStatus;

/** Factorisation du code des differents handler d'exception pour convertir en erreur http */
public abstract class AbstractErrorHandler {

  /**
   * Creation de l'erreur a base du message et du detail de l'erreur
   *
   * @param message
   * @param detail
   * @param code
   * @param status
   * @return
   */
  protected ApiError createApiError(String message, String detail, String code, HttpStatus status) {
    return ApiError.builder()
        .status(status)
        .code(code)
        .detail(detail)
        .message(message)
        .correlationId(MDC.get(ApiError.TRACE_ID_Key))
        .build();
  }

  /**
   * Creation de l'erreur Http a partir d'une exception
   *
   * @param cause
   * @param code code de l'erreur
   * @param status status HTTP a utiliser
   * @return erreur a afficher dans le body de la response http
   */
  protected ApiError createApiError(Throwable cause, String code, HttpStatus status) {
    return createApiError(cause.getLocalizedMessage(), cause.getLocalizedMessage(), code, status);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy