net.noderunner.http
Class MessageHeaders

java.lang.Object
  extended by net.noderunner.http.MessageHeaders

public class MessageHeaders
extends java.lang.Object

Contains a list of message headers.

Author:
Elias Ross

Constructor Summary
MessageHeaders()
          Constructs a new MessageHeaders with no headers.
MessageHeaders(java.util.List<MessageHeader> headers)
          Constructs a new MessageHeaders.
MessageHeaders(MessageHeader[] h)
          Constructs a new MessageHeaders.
 
Method Summary
 void add(MessageHeader newHeader)
          Adds a new header to the existing list array.
 void add(java.lang.String field, java.lang.String value)
          Adds a new header to the existing list array.
 java.util.List<MessageHeader> asList()
          Returns the headers as a read-only list.
 boolean contains(MessageHeader header)
          Returns true if header is within the headers.
 int count()
          Returns the number of headers.
static MessageHeaders defaultHeaders(java.net.URL url)
          Creates and returns default HTTP headers based on a URL.
 java.lang.String getFieldContent(java.lang.String fieldName)
          Returns the field content of the first header matching a given field name.
 java.util.List<java.lang.String> getNames()
          Returns a list of field names, read-only.
static MessageHeaders readHeaders(java.io.InputStream is)
          Returns a list of headers from a binary input stream.
 boolean remove(java.lang.String fieldName)
          Removes a header by field name.
 void set(MessageHeader newHeader)
          Sets a new header to the existing list array.
 void set(java.lang.String field, java.lang.String value)
          Sets a new header in the existing list array.
 java.lang.String toString()
          Returns a debug string.
 void write(java.io.Writer writer)
          Writes these headers to output.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MessageHeaders

public MessageHeaders(MessageHeader[] h)
Constructs a new MessageHeaders.

Parameters:
h - array of headers

MessageHeaders

public MessageHeaders(java.util.List<MessageHeader> headers)
Constructs a new MessageHeaders.

Parameters:
headers - list of headers

MessageHeaders

public MessageHeaders()
Constructs a new MessageHeaders with no headers.

Method Detail

defaultHeaders

public static MessageHeaders defaultHeaders(java.net.URL url)
Creates and returns default HTTP headers based on a URL. By default, there are only two headers. The first is the host header, the second is a connection keep-alive header.

See Also:
MessageHeader.makeHostHeader(java.net.URL), MessageHeader.MH_CONNECTION_KEEP_ALIVE

readHeaders

public static MessageHeaders readHeaders(java.io.InputStream is)
                                  throws java.io.IOException
Returns a list of headers from a binary input stream. For every line read, until a blank line is reached, a new MessageHeader instance is created.

Throws:
HttpException - if invalid HTTP message header data was found
java.io.IOException

set

public void set(MessageHeader newHeader)
Sets a new header to the existing list array. If the field-name of newHeader already exists, the existing field-value is replaced.


add

public void add(MessageHeader newHeader)
Adds a new header to the existing list array. If the field-name of newHeader already exists, the existing field-value is replaced.


add

public void add(java.lang.String field,
                java.lang.String value)
Adds a new header to the existing list array.


set

public void set(java.lang.String field,
                java.lang.String value)
Sets a new header in the existing list array. If the field-name of field already exists, the existing field-value is replaced.


remove

public boolean remove(java.lang.String fieldName)
Removes a header by field name. Returns true if the field name was found.


contains

public boolean contains(MessageHeader header)
Returns true if header is within the headers.


getFieldContent

public java.lang.String getFieldContent(java.lang.String fieldName)
Returns the field content of the first header matching a given field name.


write

public void write(java.io.Writer writer)
           throws java.io.IOException
Writes these headers to output.

Throws:
java.io.IOException - if writing fails

count

public int count()
Returns the number of headers.


asList

public java.util.List<MessageHeader> asList()
Returns the headers as a read-only list.


getNames

public java.util.List<java.lang.String> getNames()
Returns a list of field names, read-only.


toString

public java.lang.String toString()
Returns a debug string.

Overrides:
toString in class java.lang.Object


Copyright © 2010. All Rights Reserved.