HTTP (JSON in Java 20240205 API)

Package org.json

## Class HTTP

- java.lang.Object
- - org.json.HTTP

-     public class HTTP
      extends Object

  Convert an HTTP header to a JSONObject and back.
  Version:
    2015-12-09
  Author:
    JSON.org

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `CRLF` | Carriage return/line feed.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `HTTP()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static JSONObject` | `toJSONObject​(String string)` | Convert an HTTP header string into a JSONObject.
    `static String` | `toString​(JSONObject jo)` | Convert a JSONObject into an HTTP header.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CRLF

          public static final String CRLF

      Carriage return/line feed.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### HTTP

          public HTTP()

  - ### Method Detail

    - #### toJSONObject

          public static JSONObject toJSONObject​(String string)
                                         throws JSONException

      Convert an HTTP header string into a JSONObject. It can be a request header or a response header. A request header will contain

          {
              Method: "POST" (for example),
              "Request-URI": "/" (for example),
              "HTTP-Version": "HTTP/1.1" (for example)
           }

      A response header will contain

          {
              "HTTP-Version": "HTTP/1.1" (for example),
              "Status-Code": "200" (for example),
              "Reason-Phrase": "OK" (for example)
           }

      In addition, the other parameters in the header will be captured, using the HTTP field names as JSON names, so that

              Date: Sun, 26 May 2002 18:06:04 GMT
              Cookie: Q=q2=PPEAsg--; B=677gi6ouf29bn&b=2&f=s
              Cache-Control: no-cache

      become

              Date: "Sun, 26 May 2002 18:06:04 GMT",
              Cookie: "Q=q2=PPEAsg--; B=677gi6ouf29bn&b=2&f=s",
              "Cache-Control": "no-cache",
           ...

      It does no further checking or conversion. It does not parse dates. It does not do '%' transforms on URLs.
      Parameters:
        `string` - An HTTP header string.
      Returns:
        A JSONObject containing the elements and attributes of the XML string.
      Throws:
        `JSONException` - if a called function fails

    - #### toString

          public static String toString​(JSONObject jo)
                                 throws JSONException

      Convert a JSONObject into an HTTP header. A request header must contain

          {
              Method: "POST" (for example),
              "Request-URI": "/" (for example),
              "HTTP-Version": "HTTP/1.1" (for example)
           }

      A response header must contain

          {
              "HTTP-Version": "HTTP/1.1" (for example),
              "Status-Code": "200" (for example),
              "Reason-Phrase": "OK" (for example)
           }

      Any other members of the JSONObject will be output as HTTP fields. The result will end with two CRLF pairs.
      Parameters:
        `jo` - A JSONObject
      Returns:
        An HTTP header string.
      Throws:
        `JSONException` - if the object does not contain enough information.