org.apache.tapestry.json
Class HTTP

java.lang.Object
  extended by org.apache.tapestry.json.HTTP

public final class HTTP
extends Object

Convert an HTTP header to a JSONObject and back.

Version:
0.1
Author:
JSON.org

Field Summary
static String CRLF
          Carriage return/line feed.
 
Method Summary
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 ParseException
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:
ParseException

toString

public static String toString(JSONObject o)
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:
NoSuchElementException - if the object does not contain enough information.


Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.