Class ServletResourceUtils

java.lang.Object
org.apache.druid.server.http.ServletResourceUtils

public class ServletResourceUtils extends Object
  • Constructor Details

    • ServletResourceUtils

      public ServletResourceUtils()
  • Method Details

    • sanitizeException

      public static Map<String,String> sanitizeException(@Nullable Throwable t)
      Sanitize the exception as a map of "error" to information about the exception. This method explicitly suppresses the stack trace and any other logging. Any logging should be handled by the caller.
      Parameters:
      t - The exception to sanitize
      Returns:
      An immutable Map with a single entry which maps "error" to information about the error suitable for passing as an entity in a servlet error response.
    • jsonize

      public static Map<String,String> jsonize(String msgFormat, Object... args)
      Converts String errorMsg into a Map so that it produces valid json on serialization into response.
    • buildErrorResponseFrom

      public static javax.ws.rs.core.Response buildErrorResponseFrom(DruidException e)
    • buildUpdateResponse

      public static javax.ws.rs.core.Response buildUpdateResponse(Supplier<Boolean> updateOperation)
    • buildReadResponse

      public static <T> javax.ws.rs.core.Response buildReadResponse(Supplier<T> readOperation)
    • getDefaultValueIfCauseIs404ElseThrow

      public static <T> T getDefaultValueIfCauseIs404ElseThrow(Exception e, Supplier<T> defaultValueSupplier)
      Returns the given default value if the root cause of the exception is an HttpResponseException with status code HttpResponseStatus.NOT_FOUND. Otherwise, re-throws the given exception wrapped in a RuntimeException.
    • createAsyncTimeoutListener

      public static javax.servlet.AsyncListener createAsyncTimeoutListener(Consumer<javax.servlet.AsyncEvent> onTimeoutHandler)
      Creates an AsyncListener which performs the given action on the event in case of a AsyncListener.onTimeout(javax.servlet.AsyncEvent). The other actions performed by the listener viz. AsyncListener.onStartAsync(javax.servlet.AsyncEvent), AsyncListener.onComplete(javax.servlet.AsyncEvent) and AsyncListener.onError(javax.servlet.AsyncEvent) are noop.