|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectwt.httpgw.HTTPRequest
wt.httpgw.HTTPRequestImpl
public class HTTPRequestImpl
This class is a carrier of HTTP request information to a Windchill method server. It uses customized serialization code to stream request bodies to the server. Instances contain information about the request (I.e. CGI environment values) and an input stream reference.
Client-side Serialization The client (HTTP gateway) constructs request objects to carry request information to a method server. The client stores the available HTTP request information in the object and sets the input stream reference to the actual HTTP request's input stream provided by the Web server.
Serialization of the object sends the request information followed by the content of the input stream. The content is forwarded by reading blocks of data from the input stream and writing them to the marshal stream until the entire body has been sent. The length of the body is determined from the content-length HTTP header. If no content-length is specified, it reads until EOF on the input stream.
Server-side Deserialization
The server (Windchill method server) receives the request object as
an argument to an RMI call. It is deserialized before the target
method is invoked. The deserialization code stores a reference to
the RMI marshal stream in the object and directly dispatches the target
method (HTTPServer.processRequest) prematurely. The body of the request
is then available as an input stream to the dispatched method. The
RMI marshal stream is simply being used as a pipe to connect the
input stream provided to the HTTP gateway by the Web server to an
input stream in the Windchill method server.
Supported API: true
Extendable: false
| Method Summary | |
|---|---|
String |
getBaseURL()
Deprecated. Use URLFactory |
String |
getEncoding()
Guess user agent's file encoding from request headers. |
Properties |
getFormData()
Retrieves the FORM data from the incoming input stream as x-www-form-urlencoded data. |
Properties |
getFormData(String encoding)
Retrieves the FORM data from the incoming input stream as x-www-form-urlencoded data. |
Hashtable |
getFormDataMultivalue()
Retrieves the FORM data from the incoming input stream as x-www-form-urlencoded data. |
Hashtable |
getFormDataMultivalue(String encoding)
Retrieves the FORM data from the incoming input stream as x-www-form-urlencoded data. |
String |
getFullURL()
Deprecated. Use URLFactory |
String |
getMultiPartBoundary(String ContentType)
Utility routine to parse out the multipart object-body boundary Supported API: true |
String |
getProperty(String key)
Public getter method for access to CGI data. |
String |
getProperty(String key,
String default_value)
Public getter method for access to CGI data. |
Enumeration |
getPropertyKeys()
Public getter method for access to CGI data keys. |
String |
getQueryString()
Gets the URLs query string in decoded format. |
String |
getQueryString(String encoding)
Gets the URLs query string in decoded format. |
boolean |
isGetRequest()
Determine if the REQUEST_METHOD used to send the data from the browser was the GET method. |
boolean |
isPostRequest()
Determine if the REQUEST_METHOD used to send the data from the browser was the POST method. |
boolean |
isUrlencodedContent()
Determine if the CONTENT_TYPE used to send the data from the browser was urlencoded form data. |
PrintWriter |
newPrintWriter(OutputStream output_stream)
Utility routine to construct a buffered PrintWriter from an OutputStream. |
void |
setFormData(Properties p)
Sets the FORM data from a saved session. |
void |
setProperty(String key,
String value)
Public setter method for CGI data. |
Properties |
splitQueryString()
Splits the URLs query string into name value pairs based on the ampersand and equal character tokens. |
Hashtable |
splitQueryStringMultivalue()
Splits the URLs query string into name value pairs based on the ampersand and equal character tokens. |
| Methods inherited from class wt.httpgw.HTTPRequest |
|---|
splitQueryString, splitQueryString, splitQueryStringMultivalue, splitQueryStringMultivalue |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public Properties getFormData()
getEncoding.
getFormData in class HTTPRequestpublic Properties getFormData(String encoding)
getFormData in class HTTPRequestpublic void setFormData(Properties p)
setFormData in class HTTPRequestpublic Hashtable getFormDataMultivalue()
getEncoding. Multivalue fields are stored in a Vector which can be
iterated for the individual values.
getFormDataMultivalue in class HTTPRequestpublic Hashtable getFormDataMultivalue(String encoding)
getFormDataMultivalue in class HTTPRequestpublic String getQueryString()
getQueryString in class HTTPRequestpublic String getQueryString(String encoding)
getQueryString in class HTTPRequestpublic Properties splitQueryString()
splitQueryString in class HTTPRequestpublic Hashtable splitQueryStringMultivalue()
splitQueryStringMultivalue in class HTTPRequestpublic boolean isGetRequest()
isGetRequest in class HTTPRequestpublic boolean isPostRequest()
isPostRequest in class HTTPRequestpublic boolean isUrlencodedContent()
isUrlencodedContent in class HTTPRequestpublic String getBaseURL()
URLFactory
getBaseURL in class HTTPRequestpublic String getFullURL()
URLFactory
getFullURL in class HTTPRequestpublic String getProperty(String key)
getProperty in class HTTPRequestString - the key of interest
public Enumeration getPropertyKeys()
getPropertyKeys in class HTTPRequest
public String getProperty(String key,
String default_value)
getProperty in class HTTPRequestString - the key of interestString - the default value to return
public void setProperty(String key,
String value)
setProperty in class HTTPRequestString - the key of interestString - the valuepublic String getEncoding()
wt.httpgw.encoding.xxx=yyy where xxx is
the lower case IANA encoding name and yyy is the
Java encoding name. If no Accept-Charset header is present,
use template encoding rules to guess.
getEncoding in class HTTPRequestpublic PrintWriter newPrintWriter(OutputStream output_stream)
newPrintWriter in class HTTPRequestoutput_stream - OutputStream to be wrapped
public String getMultiPartBoundary(String ContentType)
getMultiPartBoundary in class HTTPRequestContentType - String containing the content-type and boundary,
separated by a semi-colon
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||