Enum Method

java.lang.Object
java.lang.Enum<Method>
org.apache.hc.core5.http.Method
All Implemented Interfaces:
Serializable, Comparable<Method>, java.lang.constant.Constable

public enum Method extends Enum<Method>
Common HTTP methods defined by the HTTP specification.

Each method is:

  • Either safe or unsafe: An HTTP method is safe if it doesn't change the state of the server. In other words, a method is safe if it's read-only.
  • Either idempotent or non-idempotent: An HTTP method is idempotent if making a single request has the same effect as making several identical requests. All safe methods are also idempotent, but not all idempotent methods are safe. For example, PUT and DELETE are both idempotent but unsafe.
Since:
5.0
  • Nested Class Summary

    Nested classes/interfaces inherited from class Enum

    Enum.EnumDesc<E>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    The HTTP CONNECT method is unsafe and non-idempotent.
    The HTTP DELETE method is unsafe and idempotent.
    The HTTP GET method is safe and idempotent.
    The HTTP HEAD method is safe and idempotent.
    The HTTP OPTIONS method is safe and idempotent.
    The HTTP PATCH method is unsafe and non-idempotent.
    The HTTP POST method is unsafe and non-idempotent.
    The HTTP PUT method is unsafe and idempotent.
    The HTTP QUERY method is safe and idempotent.
    The HTTP TRACE method is safe and idempotent.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final boolean
     
    private final boolean
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    Method(boolean safe, boolean idempotent)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Tests whether this method is idempotent.
    static boolean
     
    boolean
    Tests whether this method is safe.
    static boolean
    isSafe(String value)
     
    boolean
    isSame(String value)
     
    static Method
    Returns the Method for a normalized value of a method name.
    static Method
    Returns the enum constant of this type with the specified name.
    static Method[]
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • GET

      public static final Method GET
      The HTTP GET method is safe and idempotent.
    • POST

      public static final Method POST
      The HTTP POST method is unsafe and non-idempotent.
    • PUT

      public static final Method PUT
      The HTTP PUT method is unsafe and idempotent.
    • DELETE

      public static final Method DELETE
      The HTTP DELETE method is unsafe and idempotent.
    • CONNECT

      public static final Method CONNECT
      The HTTP CONNECT method is unsafe and non-idempotent.
    • TRACE

      public static final Method TRACE
      The HTTP TRACE method is safe and idempotent.
    • OPTIONS

      public static final Method OPTIONS
      The HTTP OPTIONS method is safe and idempotent.
    • PATCH

      public static final Method PATCH
      The HTTP PATCH method is unsafe and non-idempotent.
    • QUERY

      @Experimental public static final Method QUERY
      The HTTP QUERY method is safe and idempotent.

      QUERY is a method defined to represent a safe, idempotent request that carries a body. This allows clients to send a body while enjoying the GET-like properties (such as easy caching, safe CORS handling [if supported] and bookmarking), as well as the POST-like properties (such as being able to send a query in a richer format, and not being limited by URI length and escaping restrictions).

      Since:
      5.4
  • Field Details

    • safe

      private final boolean safe
    • idempotent

      private final boolean idempotent
  • Constructor Details

    • Method

      private Method(boolean safe, boolean idempotent)
  • Method Details

    • values

      public static Method[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static Method valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • isSafe

      public boolean isSafe()
      Tests whether this method is safe.
      Returns:
      whether this method is safe.
    • isIdempotent

      public boolean isIdempotent()
      Tests whether this method is idempotent.
      Returns:
      whether this method is idempotent.
    • isSafe

      public static boolean isSafe(String value)
    • isIdempotent

      public static boolean isIdempotent(String value)
    • normalizedValueOf

      public static Method normalizedValueOf(String method)
      Returns the Method for a normalized value of a method name.
      Parameters:
      method - A method name like "delete", "DELETE", or any mixed-case variant.
      Returns:
      the Method for the given method name.
    • isSame

      public boolean isSame(String value)