org.richfaces.json

## Class HTTP

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

-     public final class HTTP
      extends Object

  Convert an HTTP header to a JSONObject and back.
  Version:
    2
  Author:
    JSON.org

- - ### Field Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static JSONObject` | `toJSONObject(String string)` Convert an HTTP header string into a JSONObject.
    `static String` | `toString(JSONObject o)` 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

  - ### 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`

    - #### toString

          public static String toString(JSONObject o)
                                 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:
        `o` - A JSONObject
      Returns:
        An HTTP header string.
      Throws:
        `JSONException` - if the object does not contain enough information.

Copyright © 2012 JBoss by Red Hat. All Rights Reserved.