Class CHttp

java.lang.Object
com.helger.http.CHttp

@Immutable public final class CHttp extends Object
Predefined HTTP constants.
Author:
Philip Helger
  • Field Details

    • HTTP_CHARSET

      public static final Charset HTTP_CHARSET
    • EOL

      public static final String EOL
      See Also:
    • HTTP_CONTINUE

      public static final int HTTP_CONTINUE
      HTTP Status-Code 100: Continue.
      See Also:
    • HTTP_SWITCHING_PROTOCOLS

      public static final int HTTP_SWITCHING_PROTOCOLS
      HTTP Status-Code 101: Switching Protocols.
      See Also:
    • HTTP_PROCESSING

      @Deprecated(forRemoval=false) public static final int HTTP_PROCESSING
      Deprecated.
      HTTP Status-Code 102: Processing (WebDAV, RFC 2518). Note: deprecated in RFC 9110 but still encountered in practice.
      Since:
      12.1.5
      See Also:
    • HTTP_EARLY_HINTS

      public static final int HTTP_EARLY_HINTS
      HTTP Status-Code 103: Early Hints.
      See Also:
    • HTTP_OK

      public static final int HTTP_OK
      HTTP Status-Code 200: OK.
      See Also:
    • HTTP_CREATED

      public static final int HTTP_CREATED
      HTTP Status-Code 201: Created.
      See Also:
    • HTTP_ACCEPTED

      public static final int HTTP_ACCEPTED
      HTTP Status-Code 202: Accepted.
      See Also:
    • HTTP_NON_AUTHORITATIVE_INFORMATION

      public static final int HTTP_NON_AUTHORITATIVE_INFORMATION
      HTTP Status-Code 203: Non-Authoritative Information.
      See Also:
    • HTTP_NO_CONTENT

      public static final int HTTP_NO_CONTENT
      HTTP Status-Code 204: No Content.
      See Also:
    • HTTP_RESET_CONTENT

      public static final int HTTP_RESET_CONTENT
      HTTP Status-Code 205: Reset Content.
      See Also:
    • HTTP_PARTIAL_CONTENT

      public static final int HTTP_PARTIAL_CONTENT
      HTTP Status-Code 206: Partial Content.
      See Also:
    • HTTP_MULTI_STATUS

      public static final int HTTP_MULTI_STATUS
      HTTP Status-Code 207: Multi-Status (WebDAV, RFC 4918).
      Since:
      12.1.5
      See Also:
    • HTTP_ALREADY_REPORTED

      public static final int HTTP_ALREADY_REPORTED
      HTTP Status-Code 208: Already Reported (WebDAV, RFC 5842).
      Since:
      12.1.5
      See Also:
    • HTTP_IM_USED

      public static final int HTTP_IM_USED
      HTTP Status-Code 226: IM Used (RFC 3229).
      Since:
      12.1.5
      See Also:
    • HTTP_MULTIPLE_CHOICES

      public static final int HTTP_MULTIPLE_CHOICES
      HTTP Status-Code 300: Multiple Choices.
      See Also:
    • HTTP_MOVED_PERMANENTLY

      public static final int HTTP_MOVED_PERMANENTLY
      HTTP Status-Code 301: Moved Permanently.
      See Also:
    • HTTP_FOUND

      public static final int HTTP_FOUND
      HTTP Status-Code 302: Found. This is the RFC 9110 name for this status code.
      Since:
      12.1.5
      See Also:
    • HTTP_MOVED_TEMPORARY

      @Deprecated(forRemoval=true, since="12.1.5") public static final int HTTP_MOVED_TEMPORARY
      Deprecated, for removal: This API element is subject to removal in a future version.
      This is the old name of HTTP 302. Use HTTP_FOUND instead.
      See Also:
    • HTTP_SEE_OTHER

      public static final int HTTP_SEE_OTHER
      HTTP Status-Code 303: See Other.
      See Also:
    • HTTP_NOT_MODIFIED

      public static final int HTTP_NOT_MODIFIED
      HTTP Status-Code 304: Not Modified.
      See Also:
    • HTTP_USE_PROXY

      @Deprecated(forRemoval=false, since="12.1.5") public static final int HTTP_USE_PROXY
      Deprecated.
      HTTP Status-Code 305: Use Proxy. Deprecated in RFC 9110 Section 15.4.6 due to security concerns.
      See Also:
    • HTTP_SWITCH_PROXY

      @Deprecated(forRemoval=false, since="12.1.5") public static final int HTTP_SWITCH_PROXY
      Deprecated.
      HTTP Status-Code 306: Switch Proxy. Unused and reserved; not defined in RFC 9110.
      See Also:
    • HTTP_TEMPORARY_REDIRECT

      public static final int HTTP_TEMPORARY_REDIRECT
      HTTP Status-Code 307: Temporary Redirect.
      See Also:
    • HTTP_PERMANENT_REDIRECT

      public static final int HTTP_PERMANENT_REDIRECT
      HTTP Status-Code 308: Permanent Redirect.
      See Also:
    • HTTP_BAD_REQUEST

      public static final int HTTP_BAD_REQUEST
      HTTP Status-Code 400: Bad Request.
      See Also:
    • HTTP_UNAUTHORIZED

      public static final int HTTP_UNAUTHORIZED
      HTTP Status-Code 401: Unauthorized.
      See Also:
    • HTTP_PAYMENT_REQUIRED

      public static final int HTTP_PAYMENT_REQUIRED
      HTTP Status-Code 402: Payment Required.
      See Also:
    • HTTP_FORBIDDEN

      public static final int HTTP_FORBIDDEN
      HTTP Status-Code 403: Forbidden.
      See Also:
    • HTTP_NOT_FOUND

      public static final int HTTP_NOT_FOUND
      HTTP Status-Code 404: Not Found.
      See Also:
    • HTTP_METHOD_NOT_ALLOWED

      public static final int HTTP_METHOD_NOT_ALLOWED
      HTTP Status-Code 405: Method Not Allowed.
      See Also:
    • HTTP_NOT_ACCEPTABLE

      public static final int HTTP_NOT_ACCEPTABLE
      HTTP Status-Code 406: Not Acceptable.
      See Also:
    • HTTP_PROXY_AUTH_REQUIRED

      public static final int HTTP_PROXY_AUTH_REQUIRED
      HTTP Status-Code 407: Proxy Authentication Required.
      See Also:
    • HTTP_REQUEST_TIMEOUT

      public static final int HTTP_REQUEST_TIMEOUT
      HTTP Status-Code 408: Request Timeout.
      See Also:
    • HTTP_CONFLICT

      public static final int HTTP_CONFLICT
      HTTP Status-Code 409: Conflict.
      See Also:
    • HTTP_GONE

      public static final int HTTP_GONE
      HTTP Status-Code 410: Gone.
      See Also:
    • HTTP_LENGTH_REQUIRED

      public static final int HTTP_LENGTH_REQUIRED
      HTTP Status-Code 411: Length Required.
      See Also:
    • HTTP_PRECONDITION_FAILED

      public static final int HTTP_PRECONDITION_FAILED
      HTTP Status-Code 412: Precondition Failed.
      See Also:
    • HTTP_CONTENT_TOO_LARGE

      public static final int HTTP_CONTENT_TOO_LARGE
      HTTP Status-Code 413: Content Too Large. This is the RFC 9110 name for this status code.
      Since:
      12.1.5
      See Also:
    • HTTP_ENTITY_TOO_LARGE

      @Deprecated(forRemoval=true, since="12.1.5") public static final int HTTP_ENTITY_TOO_LARGE
      Deprecated, for removal: This API element is subject to removal in a future version.
      This is the old name of HTTP 413. Use HTTP_CONTENT_TOO_LARGE instead.
      See Also:
    • HTTP_URI_TOO_LONG

      public static final int HTTP_URI_TOO_LONG
      HTTP Status-Code 414: URI Too Long. This is the RFC 9110 name for this status code.
      Since:
      12.1.5
      See Also:
    • HTTP_REQUEST_URI_TOO_LONG

      @Deprecated(forRemoval=true, since="12.1.5") public static final int HTTP_REQUEST_URI_TOO_LONG
      Deprecated, for removal: This API element is subject to removal in a future version.
      This is the old name of HTTP 414. Use HTTP_URI_TOO_LONG instead.
      See Also:
    • HTTP_UNSUPPORTED_MEDIA_TYPE

      public static final int HTTP_UNSUPPORTED_MEDIA_TYPE
      HTTP Status-Code 415: Unsupported Media Type.
      See Also:
    • HTTP_RANGE_NOT_SATISFIABLE

      public static final int HTTP_RANGE_NOT_SATISFIABLE
      HTTP Status-Code 416: Range Not Satisfiable. This is the RFC 9110 name for this status code.
      Since:
      12.1.5
      See Also:
    • HTTP_REQUESTED_RANGE_NOT_SATISFIABLE

      @Deprecated(forRemoval=true, since="12.1.5") public static final int HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
      Deprecated, for removal: This API element is subject to removal in a future version.
      This is the old name of HTTP 416. Use HTTP_RANGE_NOT_SATISFIABLE instead.
      See Also:
    • HTTP_EXPECTATION_FAILED

      public static final int HTTP_EXPECTATION_FAILED
      HTTP Status-Code 417: Expectation Failed.
      See Also:
    • HTTP_IM_A_TEAPOT

      public static final int HTTP_IM_A_TEAPOT
      HTTP Status-Code 418: I'm a teapot.
      See Also:
    • HTTP_UNPROCESSABLE_CONTENT

      public static final int HTTP_UNPROCESSABLE_CONTENT
      HTTP Status-Code 422: Unprocessable Content.
      Since:
      12.1.4
      See Also:
    • HTTP_UNPROCESSABLE_ENTITY

      @Deprecated(forRemoval=true, since="12.1.3") public static final int HTTP_UNPROCESSABLE_ENTITY
      Deprecated, for removal: This API element is subject to removal in a future version.
      This is the old name of HTTP 422. Use HTTP_UNPROCESSABLE_CONTENT instead
      See Also:
    • HTTP_LOCKED

      public static final int HTTP_LOCKED
      HTTP Status-Code 423: Locked (WebDAV, RFC 4918).
      Since:
      12.1.5
      See Also:
    • HTTP_FAILED_DEPENDENCY

      public static final int HTTP_FAILED_DEPENDENCY
      HTTP Status-Code 424: Failed Dependency (WebDAV, RFC 4918).
      Since:
      12.1.5
      See Also:
    • HTTP_TOO_EARLY

      public static final int HTTP_TOO_EARLY
      HTTP Status-Code 425: Too Early (RFC 8470).
      Since:
      12.1.5
      See Also:
    • HTTP_UPGRADE_REQUIRED

      public static final int HTTP_UPGRADE_REQUIRED
      HTTP Status-Code 426: Upgrade Required.
      See Also:
    • HTTP_PRECONDITION_REQUIRED

      public static final int HTTP_PRECONDITION_REQUIRED
      HTTP Status-Code 428: Precondition Required.
      See Also:
    • HTTP_TOO_MANY_REQUESTS

      public static final int HTTP_TOO_MANY_REQUESTS
      HTTP Status-Code 429: Too Many Requests.
      See Also:
    • HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE

      public static final int HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
      HTTP Status-Code 431: Request Header Fields Too Large.
      See Also:
    • HTTP_INTERNAL_SERVER_ERROR

      public static final int HTTP_INTERNAL_SERVER_ERROR
      HTTP Status-Code 500: Internal Server Error.
      See Also:
    • HTTP_NOT_IMPLEMENTED

      public static final int HTTP_NOT_IMPLEMENTED
      HTTP Status-Code 501: Not Implemented.
      See Also:
    • HTTP_BAD_GATEWAY

      public static final int HTTP_BAD_GATEWAY
      HTTP Status-Code 502: Bad Gateway.
      See Also:
    • HTTP_SERVICE_UNAVAILABLE

      public static final int HTTP_SERVICE_UNAVAILABLE
      HTTP Status-Code 503: Service Unavailable.
      See Also:
    • HTTP_GATEWAY_TIMEOUT

      public static final int HTTP_GATEWAY_TIMEOUT
      HTTP Status-Code 504: Gateway Timeout.
      See Also:
    • HTTP_VERSION_NOT_SUPPORTED

      public static final int HTTP_VERSION_NOT_SUPPORTED
      HTTP Status-Code 505: HTTP Version Not Supported.
      See Also:
    • HTTP_VARIANT_ALSO_NEGOTIATES

      public static final int HTTP_VARIANT_ALSO_NEGOTIATES
      HTTP Status-Code 506: Variant Also Negotiates.
      See Also:
    • HTTP_INSUFFICIENT_STORAGE

      public static final int HTTP_INSUFFICIENT_STORAGE
      HTTP Status-Code 507: Insufficient Storage.
      See Also:
    • HTTP_LOOP_DETECTED

      public static final int HTTP_LOOP_DETECTED
      HTTP Status-Code 508: Loop Detected.
      See Also:
    • HTTP_NETWORK_AUTHENTICATION_REQUIRED

      public static final int HTTP_NETWORK_AUTHENTICATION_REQUIRED
      HTTP Status-Code 511: Network Authentication Required.
      See Also:
  • Method Details

    • getHttpResponseMessage

      @Nonempty public static @NonNull @Nonempty String getHttpResponseMessage(int nResponseCode)
      Get the human-readable response message for the given HTTP status code.
      Parameters:
      nResponseCode - The HTTP response code.
      Returns:
      The corresponding response message. Never null.
    • getUnifiedMillis

      public static long getUnifiedMillis(long nMillis)
      Get milliseconds suitable for HTTP requests/responses. Rounds down to the nearest second for a proper compare. Java has milliseconds, HTTP requests/responses have not.
      Parameters:
      nMillis - Milliseconds to use
      Returns:
      The rounded milliseconds
    • convertMillisToLocalDateTime

      public static @NonNull LocalDateTime convertMillisToLocalDateTime(long nMillis)
      Convert the given milliseconds to a LocalDateTime, rounded down to the nearest second.
      Parameters:
      nMillis - The milliseconds to convert.
      Returns:
      The corresponding LocalDateTime. Never null.