HTTPClient
Interface RoResponse

All Known Implementing Classes:
Response

public interface RoResponse

This interface represents read-only interface of an intermediate http response. It is the compile-time type passed to various handlers which might the response info but musn't modify the response.

Version:
0.3-3 06/05/2001
Author:
Ronald Tschalär

Method Summary
 byte[] getData()
          Reads all the response data into a byte array.
 String getHeader(String hdr)
          retrieves the field for a given header.
 Date getHeaderAsDate(String hdr)
          retrieves the field for a given header.
 int getHeaderAsInt(String hdr)
          retrieves the field for a given header.
 InputStream getInputStream()
          Gets an input stream from which the returned data can be read.
 String getReasonLine()
           
 int getStatusCode()
          give the status code for this request.
 String getTrailer(String trailer)
          Retrieves the field for a given trailer.
 Date getTrailerAsDate(String trailer)
          Retrieves the field for a given trailer.
 int getTrailerAsInt(String trailer)
          Retrieves the field for a given tailer.
 String getVersion()
           
 

Method Detail

getStatusCode

public int getStatusCode()
                  throws IOException
give the status code for this request. These are grouped as follows:
Returns:
the status code
Throws:
IOException - If any exception occurs on the socket.

getReasonLine

public String getReasonLine()
                     throws IOException
Returns:
the reason line associated with the status code.
Throws:
IOException - If any exception occurs on the socket.

getVersion

public String getVersion()
                  throws IOException
Returns:
the HTTP version returned by the server.
Throws:
IOException - If any exception occurs on the socket.

getHeader

public String getHeader(String hdr)
                 throws IOException
retrieves the field for a given header.
Parameters:
hdr - the header name.
Returns:
the value for the header, or null if non-existent.
Throws:
IOException - If any exception occurs on the socket.

getHeaderAsInt

public int getHeaderAsInt(String hdr)
                   throws IOException,
                          NumberFormatException
retrieves the field for a given header. The value is parsed as an int.
Parameters:
hdr - the header name.
Returns:
the value for the header if the header exists
Throws:
NumberFormatException - if the header's value is not a number or if the header does not exist.
IOException - if any exception occurs on the socket.

getHeaderAsDate

public Date getHeaderAsDate(String hdr)
                     throws IOException,
                            IllegalArgumentException
retrieves the field for a given header. The value is parsed as a date; if this fails it is parsed as a long representing the number of seconds since 12:00 AM, Jan 1st, 1970. If this also fails an IllegalArgumentException is thrown.
Parameters:
hdr - the header name.
Returns:
the value for the header, or null if non-existent.
Throws:
IOException - If any exception occurs on the socket.
IllegalArgumentException - If the header cannot be parsed as a date or time.

getTrailer

public String getTrailer(String trailer)
                  throws IOException
Retrieves the field for a given trailer. Note that this should not be invoked until all the response data has been read. If invoked before, it will force the data to be read via getData().
Parameters:
trailer - the trailer name.
Returns:
the value for the trailer, or null if non-existent.
Throws:
IOException - If any exception occurs on the socket.

getTrailerAsInt

public int getTrailerAsInt(String trailer)
                    throws IOException,
                           NumberFormatException
Retrieves the field for a given tailer. The value is parsed as an int.
Parameters:
trailer - the tailer name.
Returns:
the value for the trailer if the trailer exists
Throws:
NumberFormatException - if the trailer's value is not a number or if the trailer does not exist.
IOException - if any exception occurs on the socket.

getTrailerAsDate

public Date getTrailerAsDate(String trailer)
                      throws IOException,
                             IllegalArgumentException
Retrieves the field for a given trailer. The value is parsed as a date; if this fails it is parsed as a long representing the number of seconds since 12:00 AM, Jan 1st, 1970. If this also fails an IllegalArgumentException is thrown.
Note: When sending dates use Util.httpDate().
Parameters:
trailer - the trailer name.
Returns:
the value for the trailer, or null if non-existent.
Throws:
IllegalArgumentException - if the trailer's value is neither a legal date nor a number.
IOException - if any exception occurs on the socket.
IllegalArgumentException - If the header cannot be parsed as a date or time.

getData

public byte[] getData()
               throws IOException
Reads all the response data into a byte array. Note that this method won't return until all the data has been received (so for instance don't invoke this method if the server is doing a server push). If getInputStream() had been previously called then this method only returns any unread data remaining on the stream and then closes it.
Returns:
an array containing the data (body) returned. If no data was returned then it's set to a zero-length array.
Throws:
IOException - If any io exception occured while reading the data
See Also:
getInputStream()

getInputStream

public InputStream getInputStream()
                           throws IOException
Gets an input stream from which the returned data can be read. Note that if getData() had been previously called it will actually return a ByteArrayInputStream created from that data.
Returns:
the InputStream.
Throws:
IOException - If any exception occurs on the socket.
See Also:
getData()