## org.apache.catalina.connector
Class RequestStream

    java.lang.Object
      |
      +--java.io.InputStream
            |
            +--javax.servlet.ServletInputStream
                  |
                  +--org.apache.catalina.connector.RequestStream

Direct Known Subclasses:
  HttpRequestStream

public class RequestStream
extends javax.servlet.ServletInputStream

Convenience implementation of ServletInputStream that works with the standard implementations of Request. If the content length has been set on our associated Request, this implementation will enforce not reading more than that many bytes on the underlying stream.

Version:
  $Revision: 1.5 $ $Date: 2001/07/22 20:25:06 $
Author:
  Craig R. McClanahan

Field Summary
`protected boolean` `closed` Has this stream been closed?
`protected int` `count` The number of bytes which have already been returned by this stream.
`protected int` `length` The content length past which we will not read, or -1 if there is no defined content length.
`protected static StringManager` `sm` The localized strings for this package.
`protected java.io.InputStream` `stream` The underlying input stream from which we should read data.

Constructor Summary
`RequestStream(Request request)` Construct a servlet input stream associated with the specified Request.

Method Summary
`void` `close()` Close this input stream.
`int` `read()` Read and return a single byte from this input stream, or -1 if end of file has been encountered.
`int` `read(byte[] b)` Read some number of bytes from the input stream, and store them into the buffer array b.
`int` `read(byte[] b, int off, int len)` Read up to `len` bytes of data from the input stream into an array of bytes.

Methods inherited from class javax.servlet.ServletInputStream
`readLine`

Methods inherited from class java.io.InputStream
`available, mark, markSupported, reset, skip`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### closed

    protected boolean closed

  Has this stream been closed?

### count

    protected int count

  The number of bytes which have already been returned by this stream.

### length

    protected int length

  The content length past which we will not read, or -1 if there is no defined content length.

### sm

    protected static StringManager sm

  The localized strings for this package.

### stream

    protected java.io.InputStream stream

  The underlying input stream from which we should read data.

Constructor Detail

### RequestStream

    public RequestStream(Request request)

  Construct a servlet input stream associated with the specified Request.

Parameters:
  `request` - The associated request

Method Detail

### close

    public void close()
               throws java.io.IOException

  Close this input stream. No physical level I-O is performed, but any further attempt to read from this stream will throw an IOException. If a content length has been set but not all of the bytes have yet been consumed, the remaining bytes will be swallowed.

  Overrides:
    `close` in class `java.io.InputStream`
    `java.io.IOException`

### read

    public int read()
             throws java.io.IOException

  Read and return a single byte from this input stream, or -1 if end of file has been encountered.

  Specified by:
    `read` in class `java.io.InputStream`
  Throws:
    `java.io.IOException` - if an input/output error occurs

### read

    public int read(byte[] b)
             throws java.io.IOException

  Read some number of bytes from the input stream, and store them into the buffer array b. The number of bytes actually read is returned as an integer. This method blocks until input data is available, end of file is detected, or an exception is thrown.

  Overrides:
    `read` in class `java.io.InputStream`
  Parameters:
    `b` - The buffer into which the data is read
  Throws:
    `java.io.IOException` - if an input/output error occurs

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws java.io.IOException

  Read up to `len` bytes of data from the input stream into an array of bytes. An attempt is made to read as many as `len` bytes, but a smaller number may be read, possibly zero. The number of bytes actually read is returned as an integer. This method blocks until input data is available, end of file is detected, or an exception is thrown.

  Overrides:
    `read` in class `java.io.InputStream`
  Parameters:
    `b` - The buffer into which the data is read
    `off` - The start offset into array `b` at which the data is written
    `len` - The maximum number of bytes to read
  Throws:
    `java.io.IOException` - if an input/output error occurs

Copyright © 2000-2001 Apache Software Foundation. All Rights Reserved.