|
|||||||||
| Home >> All >> org >> mortbay >> [ http overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.mortbay.http
Class HttpMessage

java.lang.Objectorg.mortbay.http.HttpMessage
- Direct Known Subclasses:
- HttpRequest, HttpResponse
- public abstract class HttpMessage
- extends java.lang.Object
HTTP Message base. This class forms the basis of HTTP requests and replies. It provides header fields, content and optional trailer fields, while managing the state of the message.
- Version:
- $Id: HttpMessage.java,v 1.32 2003/11/22 16:06:02 gregwilkins Exp $
| Nested Class Summary | |
static interface |
HttpMessage.HeaderWriter
|
| Field Summary | |
static java.lang.String |
__HTTP_0_9
|
static java.lang.String |
__HTTP_1_0
|
static java.lang.String |
__HTTP_1_1
|
static java.lang.String |
__HTTP_1_X
|
static int |
__MSG_BAD
Message States. |
static int |
__MSG_EDITABLE
Message States. |
static int |
__MSG_RECEIVED
Message States. |
static int |
__MSG_SENDING
Message States. |
static int |
__MSG_SENT
Message States. |
static java.lang.String |
__SCHEME
|
static java.lang.String |
__SSL_SCHEME
|
static java.lang.String[] |
__state
|
protected java.util.Map |
_attributes
|
protected java.lang.String |
_characterEncoding
|
protected HttpConnection |
_connection
|
protected int |
_dotVersion
|
protected HttpFields |
_header
|
protected java.lang.String |
_mimeType
|
protected int |
_state
|
protected java.lang.String |
_version
|
protected java.lang.Object |
_wrapper
|
private static org.apache.commons.logging.Log |
log
|
| Constructor Summary | |
protected |
HttpMessage()
Constructor. |
protected |
HttpMessage(HttpConnection connection)
Constructor. |
| Method Summary | |
void |
addDateField(java.lang.String name,
java.util.Date date)
Adds the value of a date field. |
void |
addDateField(java.lang.String name,
long date)
Add the value of a date field. |
void |
addField(java.lang.String name,
java.lang.String value)
Add to a multi-value field value. |
void |
addIntField(java.lang.String name,
int value)
Adds the value of an integer field. |
boolean |
containsField(java.lang.String name)
Does the header or trailer contain a field? |
void |
destroy()
Destroy the message. |
java.lang.Object |
getAttribute(java.lang.String name)
Get a request attribute. |
java.util.Enumeration |
getAttributeNames()
Get Attribute names. |
java.lang.String |
getCharacterEncoding()
Character Encoding. |
int |
getContentLength()
|
java.lang.String |
getContentType()
|
long |
getDateField(java.lang.String name)
Get a header as a date value. |
int |
getDotVersion()
Get the protocol version. |
java.lang.String |
getField(java.lang.String name)
Get a message field. |
java.util.Enumeration |
getFieldNames()
Get field names. |
java.util.Enumeration |
getFieldValues(java.lang.String name)
Get a multi valued message field. |
java.util.Enumeration |
getFieldValues(java.lang.String name,
java.lang.String separators)
Get a multi valued message field. |
HttpFields |
getHeader()
Get the HTTP header fields. |
HttpConnection |
getHttpConnection()
|
java.io.InputStream |
getInputStream()
|
int |
getIntField(java.lang.String name)
Get a field as an integer value. |
java.lang.String |
getMimeType()
Mime Type. |
java.io.OutputStream |
getOutputStream()
|
int |
getState()
Get the message state. |
java.lang.String |
getVersion()
Get the protocol version. |
java.lang.Object |
getWrapper()
Get an associated wrapper object. |
boolean |
isCommitted()
|
boolean |
isDirty()
|
(package private) void |
recycle(HttpConnection connection)
Recycle the message. |
void |
removeAttribute(java.lang.String name)
Remove a request attribute. |
java.lang.String |
removeField(java.lang.String name)
Remove a field. |
protected void |
reset()
|
java.lang.Object |
setAttribute(java.lang.String name,
java.lang.Object attribute)
Set a request attribute. |
void |
setCharacterEncoding(java.lang.String encoding)
Set Character Encoding. |
void |
setContentLength(int len)
|
void |
setContentType(java.lang.String contentType)
|
void |
setDateField(java.lang.String name,
java.util.Date date)
Sets the value of a date field. |
void |
setDateField(java.lang.String name,
long date)
Sets the value of a date field. |
void |
setField(java.lang.String name,
java.util.List value)
Set a multi-value field value. |
java.lang.String |
setField(java.lang.String name,
java.lang.String value)
Set a field value. |
protected HttpFields |
setFields()
|
void |
setIntField(java.lang.String name,
int value)
Sets the value of an integer field. |
int |
setState(int state)
Set the message state. |
void |
setVersion(java.lang.String version)
Set the request version |
void |
setWrapper(java.lang.Object wrapper)
Set a wrapper object. |
java.lang.String |
toString()
Convert to String. |
void |
updateMimeType()
|
(package private) abstract void |
writeHeader(java.io.Writer writer)
Write the message header. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
log
private static org.apache.commons.logging.Log log
__SCHEME
public static final java.lang.String __SCHEME
- See Also:
- Constant Field Values
__SSL_SCHEME
public static final java.lang.String __SSL_SCHEME
- See Also:
- Constant Field Values
__HTTP_0_9
public static final java.lang.String __HTTP_0_9
- See Also:
- Constant Field Values
__HTTP_1_0
public static final java.lang.String __HTTP_1_0
- See Also:
- Constant Field Values
__HTTP_1_1
public static final java.lang.String __HTTP_1_1
- See Also:
- Constant Field Values
__HTTP_1_X
public static final java.lang.String __HTTP_1_X
- See Also:
- Constant Field Values
__MSG_EDITABLE
public static final int __MSG_EDITABLE
- Message States.
- See Also:
- Constant Field Values
__MSG_BAD
public static final int __MSG_BAD
- Message States.
- See Also:
- Constant Field Values
__MSG_RECEIVED
public static final int __MSG_RECEIVED
- Message States.
- See Also:
- Constant Field Values
__MSG_SENDING
public static final int __MSG_SENDING
- Message States.
- See Also:
- Constant Field Values
__MSG_SENT
public static final int __MSG_SENT
- Message States.
- See Also:
- Constant Field Values
__state
public static final java.lang.String[] __state
_state
protected int _state
_version
protected java.lang.String _version
_dotVersion
protected int _dotVersion
_header
protected HttpFields _header
_connection
protected HttpConnection _connection
_characterEncoding
protected java.lang.String _characterEncoding
_mimeType
protected java.lang.String _mimeType
_wrapper
protected java.lang.Object _wrapper
_attributes
protected java.util.Map _attributes
| Constructor Detail |
HttpMessage
protected HttpMessage()
- Constructor.
HttpMessage
protected HttpMessage(HttpConnection connection)
- Constructor.
| Method Detail |
setWrapper
public void setWrapper(java.lang.Object wrapper)
- Set a wrapper object.
A wrapper object is an object associated with this message and
presents it with an different interface. The
primary example of a HttpRequest facade is ServletHttpRequest.
A single facade object may be associated with the message with
this call and retrieved with the getFacade method.
getWrapper
public java.lang.Object getWrapper()
- Get an associated wrapper object.
reset
protected void reset()
getHttpConnection
public HttpConnection getHttpConnection()
getInputStream
public java.io.InputStream getInputStream()
getOutputStream
public java.io.OutputStream getOutputStream()
getState
public int getState()
- Get the message state.
__MSG_EDITABLE = 0 - Created locally, all set methods enabled __MSG_BAD = 1 - Bad message or send failure. __MSG_RECEIVED = 2 - Received from connection. __MSG_SENDING = 3 - Headers sent. __MSG_SENT = 4 - Entity and trailers sent.
setState
public int setState(int state)
- Set the message state.
This method should be used by experts only as it can prevent
normal handling of a request/response.
getVersion
public java.lang.String getVersion()
- Get the protocol version.
getDotVersion
public int getDotVersion()
- Get the protocol version.
getFieldNames
public java.util.Enumeration getFieldNames()
- Get field names.
containsField
public boolean containsField(java.lang.String name)
- Does the header or trailer contain a field?
getField
public java.lang.String getField(java.lang.String name)
- Get a message field.
Get a field from a message header. If no header field is found,
trailer fields are searched.
getFieldValues
public java.util.Enumeration getFieldValues(java.lang.String name)
- Get a multi valued message field.
Get a field from a message header. If no header field is found,
trailer fields are searched.
getFieldValues
public java.util.Enumeration getFieldValues(java.lang.String name, java.lang.String separators)
- Get a multi valued message field.
Get a field from a message header. If no header field is found,
trailer fields are searched.
setFields
protected HttpFields setFields() throws java.lang.IllegalStateException
setField
public java.lang.String setField(java.lang.String name, java.lang.String value) throws java.lang.IllegalStateException
- Set a field value.
If the message is editable, then a header field is set. Otherwise
if the message is sending and a HTTP/1.1 version, then a trailer
field is set.
setField
public void setField(java.lang.String name, java.util.List value) throws java.lang.IllegalStateException
- Set a multi-value field value.
If the message is editable, then a header field is set. Otherwise
if the meesage is sending and a HTTP/1.1 version, then a trailer
field is set.
addField
public void addField(java.lang.String name, java.lang.String value) throws java.lang.IllegalStateException
- Add to a multi-value field value.
If the message is editable, then a header field is set. Otherwise
if the meesage is sending and a HTTP/1.1 version, then a trailer
field is set.
getIntField
public int getIntField(java.lang.String name)
- Get a field as an integer value.
Look in header and trailer fields.
Returns the value of an integer field, or -1 if not found.
The case of the field name is ignored.
setIntField
public void setIntField(java.lang.String name, int value) throws java.lang.IllegalStateException
- Sets the value of an integer field.
Header or Trailer fields are set depending on message state.
addIntField
public void addIntField(java.lang.String name, int value) throws java.lang.IllegalStateException
- Adds the value of an integer field.
Header or Trailer fields are set depending on message state.
getDateField
public long getDateField(java.lang.String name)
- Get a header as a date value.
Look in header and trailer fields.
Returns the value of a date field, or -1 if not found.
The case of the field name is ignored.
setDateField
public void setDateField(java.lang.String name, java.util.Date date)
- Sets the value of a date field.
Header or Trailer fields are set depending on message state.
addDateField
public void addDateField(java.lang.String name, java.util.Date date)
- Adds the value of a date field.
Header or Trailer fields are set depending on message state.
setDateField
public void setDateField(java.lang.String name, long date)
- Sets the value of a date field.
Header or Trailer fields are set depending on message state.
addDateField
public void addDateField(java.lang.String name, long date)
- Add the value of a date field.
Header or Trailer fields are set depending on message state.
removeField
public java.lang.String removeField(java.lang.String name) throws java.lang.IllegalStateException
- Remove a field.
If the message is editable, then a header field is removed. Otherwise
if the message is sending and a HTTP/1.1 version, then a trailer
field is removed.
setVersion
public void setVersion(java.lang.String version)
- Set the request version
getHeader
public HttpFields getHeader()
- Get the HTTP header fields.
getContentLength
public int getContentLength()
setContentLength
public void setContentLength(int len)
getCharacterEncoding
public java.lang.String getCharacterEncoding()
- Character Encoding.
The character encoding is extracted from the ContentType field
when set.
setCharacterEncoding
public void setCharacterEncoding(java.lang.String encoding)
- Set Character Encoding.
getContentType
public java.lang.String getContentType()
setContentType
public void setContentType(java.lang.String contentType)
updateMimeType
public void updateMimeType()
getMimeType
public java.lang.String getMimeType()
- Mime Type.
The mime type is extracted from the contenttype field when set.
recycle
void recycle(HttpConnection connection)
- Recycle the message.
destroy
public void destroy()
- Destroy the message.
Help the garbage collector by nulling everything that we can.
toString
public java.lang.String toString()
- Convert to String.
The message header is converted to a String.
writeHeader
abstract void writeHeader(java.io.Writer writer) throws java.io.IOException
- Write the message header.
isCommitted
public boolean isCommitted()
isDirty
public boolean isDirty()
getAttribute
public java.lang.Object getAttribute(java.lang.String name)
- Get a request attribute.
setAttribute
public java.lang.Object setAttribute(java.lang.String name, java.lang.Object attribute)
- Set a request attribute.
getAttributeNames
public java.util.Enumeration getAttributeNames()
- Get Attribute names.
removeAttribute
public void removeAttribute(java.lang.String name)
- Remove a request attribute.
|
|||||||||
| Home >> All >> org >> mortbay >> [ http overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
org.mortbay.http.HttpMessage