Class Throwables

java.lang.Object
org.keycloak.authorization.client.util.Throwables

public final class Throwables extends Object
Author:
Pedro Igor
  • Constructor Details

    • Throwables

      public Throwables()
  • Method Details

    • handleWrapException

      public static RuntimeException handleWrapException(String message, Throwable cause)
      Handles an cause and wraps it into a RuntimeException. The resulting cause contains more details in case the given cause is of a HttpResponseException.
      Parameters:
      callable -
      pat -
      message - the message
      cause - the root cause
      Returns:
      a RuntimeException wrapping the given cause
    • retryAndWrapExceptionIfNecessary

      public static <V> V retryAndWrapExceptionIfNecessary(Callable<V> callable, TokenCallable token, String message, Throwable cause) throws RuntimeException

      Retries the given callable after obtaining a fresh token from the server. If the attempt to retry fails the exception is handled as defined by handleWrapException(String, Throwable).

      A retry is only attempted in case the cause is a HttpResponseException with a 403 status code. In some cases the session associated with the token is no longer valid and a new token must be issues.

      Type Parameters:
      V - the result of the callable
      Parameters:
      callable - the callable to retry
      token - the token
      message - the message
      cause - the cause
      Returns:
      the result of the callable
      Throws:
      RuntimeException - in case the attempt to retry fails