All Packages Class Hierarchy This Package Previous Next Index
Class HTTPClient.Response
java.lang.Object
|
+----HTTPClient.Response
- public final class Response
- extends Object
- implements RoResponse, GlobalConstants
This class represents an intermediate response. It's used internally by the
modules. When all modules have handled the response then the HTTPResponse
fills in its fields with the data from this class.
- Version:
- 0.3 30/01/1998
- Author:
- Ronald Tschalär
-
inp_stream
- our input stream (usually from the stream demux).
-
deleteHeader(String)
- Removes a header field from the list of headers.
-
deleteTrailer(String)
- Removes a trailer field from the list of trailers.
-
getData()
- Reads all the response data into a byte array.
-
getEffectiveURL()
- get the final URL of the document.
-
getHeader(String)
- retrieves the field for a given header.
-
getHeaderAsDate(String)
- retrieves the field for a given header.
-
getHeaderAsInt(String)
- retrieves the field for a given header.
-
getInputStream()
- Gets an input stream from which the returned data can be read.
-
getReasonLine()
- give the reason line associated with the status code.
-
getStatusCode()
- give the status code for this request.
-
getTrailer(String)
- Retrieves the field for a given trailer.
-
getTrailerAsDate(String)
- Retrieves the field for a given trailer.
-
getTrailerAsInt(String)
- Retrieves the field for a given tailer.
-
getVersion()
- get the HTTP version used for the response.
-
setEffectiveURL(URL)
- set the final URL of the document.
-
setHeader(String, String)
- Set a header field in the list of headers.
-
setTrailer(String, String)
- Set a trailer field in the list of trailers.
inp_stream
public InputStream inp_stream
- our input stream (usually from the stream demux). Push input streams
onto this if necessary.
getStatusCode
public final int getStatusCode() throws IOException
- give the status code for this request. These are grouped as follows:
- 1xx - Informational (new in HTTP/1.1)
- 2xx - Success
- 3xx - Redirection
- 4xx - Client Error
- 5xx - Server Error
- Throws:
IOException
- If any exception occurs on the socket.
getReasonLine
public final String getReasonLine() throws IOException
- give the reason line associated with the status code.
- Throws:
IOException
- If any exception occurs on the socket.
getVersion
public final String getVersion() throws IOException
- get the HTTP version used for the response.
- Throws:
IOException
- If any exception occurs on the socket.
getEffectiveURL
public final URL getEffectiveURL() throws IOException
- get the final URL of the document. This is set if the original
request was deferred via the "moved" (301, 302, or 303) return
status.
- Throws:
IOException
- If any exception occurs on the socket.
setEffectiveURL
public void setEffectiveURL(URL final_url)
- set the final URL of the document. This is only for internal use.
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.
- Throws:
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.
Note: When sending dates use Util.httpDate().
- 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.
- Throws:
IllegalArgumentException
- If the header cannot be parsed
as a date or time.
setHeader
public void setHeader(String header,
String value)
- Set a header field in the list of headers. If the header already
exists it will be overwritten; otherwise the header will be added
to the list. This is used by some modules when they process the
header so that higher level stuff doesn't get confused when the
headers and data don't match.
- Parameters:
- header - The name of header field to set.
- value - The value to set the field to.
deleteHeader
public void deleteHeader(String header)
- Removes a header field from the list of headers. This is used by
some modules when they process the header so that higher level stuff
doesn't get confused when the headers and data don't match.
- Parameters:
- header - The name of header field to remove.
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.
- Throws:
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.
- Throws:
IOException
- if any exception occurs on the socket.
- Throws:
IllegalArgumentException
- If the header cannot be parsed
as a date or time.
setTrailer
public void setTrailer(String trailer,
String value)
- Set a trailer field in the list of trailers. If the trailer already
exists it will be overwritten; otherwise the trailer will be added
to the list. This is used by some modules when they process the
trailer so that higher level stuff doesn't get confused when the
trailer and data don't match.
- Parameters:
- trailer - The name of trailer field to set.
- value - The value to set the field to.
deleteTrailer
public void deleteTrailer(String trailer)
- Removes a trailer field from the list of trailers. This is used by
some modules when they process the trailer so that higher level stuff
doesn't get confused when the trailers and data don't match.
- Parameters:
- trailer - The name of trailer field to remove.
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
All Packages Class Hierarchy This Package Previous Next Index