Class RestUtils

java.lang.Object
org.elasticsearch.rest.RestUtils

public class RestUtils extends Object
  • Field Details

    • REST_DECODER

      public static final UnaryOperator<String> REST_DECODER
    • REST_MASTER_TIMEOUT_PARAM

      public static final String REST_MASTER_TIMEOUT_PARAM
      The name of the common ?master_timeout query parameter.
      See Also:
    • REST_MASTER_TIMEOUT_DEFAULT

      public static final TimeValue REST_MASTER_TIMEOUT_DEFAULT
      The default value for the common ?master_timeout query parameter.
    • REST_TIMEOUT_PARAM

      public static final String REST_TIMEOUT_PARAM
      The name of the common ?timeout query parameter.
      See Also:
  • Constructor Details

    • RestUtils

      public RestUtils()
  • Method Details

    • decodeQueryString

      public static void decodeQueryString(String s, int fromIndex, Map<String,String> params)
    • decodeComponent

      public static String decodeComponent(String s)
      Decodes a bit of an URL encoded by a browser.

      This is equivalent to calling decodeComponent(String, Charset, boolean) with the UTF-8 charset (recommended to comply with RFC 3986, Section 2).

      Parameters:
      s - The string to decode (can be empty).
      Returns:
      The decoded string, or s if there's nothing to decode. If the string to decode is null, returns an empty string.
      Throws:
      IllegalArgumentException - if the string contains a malformed escape sequence.
    • checkCorsSettingForRegex

      public static Pattern checkCorsSettingForRegex(String corsSetting)
      Determine if CORS setting is a regex
      Returns:
      a corresponding Pattern if so and o.w. null.
    • corsSettingAsArray

      public static String[] corsSettingAsArray(String corsSetting)
      Return the CORS setting as an array of origins.
      Parameters:
      corsSetting - the CORS allow origin setting as configured by the user; should never pass null, but we check for it anyway.
      Returns:
      an array of origins if set, otherwise null.
    • extractTraceId

      public static Optional<String> extractTraceId(String traceparent)
      Extract the trace id from the specified traceparent string.
      Parameters:
      traceparent - The value from the traceparent HTTP header
      Returns:
      The trace id from the traceparent string, or Optional.empty() if it is not present.
      See Also:
    • getMasterNodeTimeout

      public static TimeValue getMasterNodeTimeout(RestRequest restRequest)
      Extract the ?master_timeout parameter from the request, imposing the common default of 30s in case the parameter is missing.
      Parameters:
      restRequest - The request from which to extract the ?master_timeout parameter
      Returns:
      the timeout from the request, with a default of REST_MASTER_TIMEOUT_DEFAULT (30s) if the request does not specify the parameter
    • getAckTimeout

      public static TimeValue getAckTimeout(RestRequest restRequest)
      Extract the ?timeout parameter from the request, imposing the common default of 30s in case the parameter is missing.
      Parameters:
      restRequest - The request from which to extract the ?timeout parameter
      Returns:
      the timeout from the request, with a default of AcknowledgedRequest.DEFAULT_ACK_TIMEOUT (30s) if the request does not specify the parameter
    • getTimeout

      @Nullable public static TimeValue getTimeout(RestRequest restRequest)
      Extract the ?timeout parameter from the request, returning null in case the parameter is missing.
      Parameters:
      restRequest - The request from which to extract the ?timeout parameter
      Returns:
      the timeout from the request, with a default of null if the request does not specify the parameter