org.apache.catalina.connector

## Class CoyoteInputStream

- java.lang.Object
- - java.io.InputStream
  - - javax.servlet.ServletInputStream
    - - org.apache.catalina.connector.CoyoteInputStream

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public class CoyoteInputStream
      extends ServletInputStream

  This class handles reading bytes.
  Author:
    Remy Maucherat, Jean-Francois Arcand

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected InputBuffer` | `ib`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `CoyoteInputStream(InputBuffer ib)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `available()`
    `protected Object` | `clone()` Prevent cloning the facade.
    `void` | `close()` Close the stream Since we re-cycle, we can't allow the call to super.close() which would permanently disable us.
    `int` | `read()`
    `int` | `read(byte[] b)`
    `int` | `read(byte[] b, int off, int len)`
    `int` | `readLine(byte[] b, int off, int len)` Reads the input stream, one line at a time.

    - ### Methods inherited from class java.io.InputStream

      `mark, markSupported, reset, skip`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### ib

          protected InputBuffer ib

  - ### Constructor Detail

    - #### CoyoteInputStream

          protected CoyoteInputStream(InputBuffer ib)

  - ### Method Detail

    - #### clone

          protected Object clone()
                          throws CloneNotSupportedException

      Prevent cloning the facade.
      Overrides:
        `clone` in class `Object`
      Throws:
        `CloneNotSupportedException`

    - #### read

          public int read()
                   throws IOException

      Specified by:
        `read` in class `InputStream`
      Throws:
        `IOException`

    - #### available

          public int available()
                        throws IOException

      Overrides:
        `available` in class `InputStream`
      Throws:
        `IOException`

    - #### read

          public int read(byte[] b)
                   throws IOException

      Overrides:
        `read` in class `InputStream`
      Throws:
        `IOException`

    - #### read

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

      Overrides:
        `read` in class `InputStream`
      Throws:
        `IOException`

    - #### readLine

          public int readLine(byte[] b,
                     int off,
                     int len)
                       throws IOException

      Description copied from class: `javax.servlet.ServletInputStream`
      Reads the input stream, one line at a time. Starting at an offset, reads bytes into an array, until it reads a certain number of bytes or reaches a newline character, which it reads into the array as well.

      This method returns -1 if it reaches the end of the input stream before reading the maximum number of bytes.

      Overrides:
        `readLine` in class `ServletInputStream`
      Parameters:
        `b` - an array of bytes into which data is read
        `off` - an integer specifying the character at which this method begins reading
        `len` - an integer specifying the maximum number of bytes to read
      Returns:
        an integer specifying the actual number of bytes read, or -1 if the end of the stream is reached
      Throws:
        `IOException` - if an input or output exception has occurred

    - #### close

          public void close()
                     throws IOException

      Close the stream Since we re-cycle, we can't allow the call to super.close() which would permanently disable us.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Overrides:
        `close` in class `InputStream`
      Throws:
        `IOException`

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