## org.mortbay.jetty
Class HttpConnection

    java.lang.Object
      org.mortbay.jetty.HttpConnection

All Implemented Interfaces:
  Connection

Direct Known Subclasses:
  Ajp13Connection

    public class HttpConnection

extends Object
implements Connection

A HttpConnection represents the connection of a HTTP client to the server and is created by an instance of a `Connector`. It's prime function is to associate `Request` and `Response` instances with a `EndPoint`.

A connection is also the prime mechanism used by jetty to recycle objects without pooling. The `Request`, `Response`, `HttpParser`, `HttpGenerator` and `HttpFields` instances are all recycled for the duraction of a connection. Where appropriate, allocated buffers are also kept associated with the connection via the parser and/or generator.

Author:
  gregw

Nested Class Summary
`class` `HttpConnection.Output`
`class` `HttpConnection.OutputWriter`

Field Summary
`protected Connector` `_connector`
`protected EndPoint` `_endp`
`protected Generator` `_generator`
`protected ServletInputStream` `_in`
`protected HttpConnection.Output` `_out`
`protected Parser` `_parser`
`protected PrintWriter` `_printWriter`
`protected Request` `_request`
`protected HttpFields` `_requestFields`
`protected Response` `_response`
`protected HttpFields` `_responseFields`
`protected Server` `_server`
`protected HttpURI` `_uri`
`protected HttpConnection.OutputWriter` `_writer`

Constructor Summary
`HttpConnection(Connector connector, EndPoint endpoint, Server server)` Constructor

Method Summary
`void` `commitResponse(boolean last)`
`void` `completeResponse()`
`void` `destroy()`
`void` `flushResponse()`
`Object` `getAssociatedObject()`
`Connector` `getConnector()`
`static HttpConnection` `getCurrentConnection()`
`EndPoint` `getEndPoint()`
`Generator` `getGenerator()`
`ServletInputStream` `getInputStream()`
`ServletOutputStream` `getOutputStream()`
`Parser` `getParser()`
`PrintWriter` `getPrintWriter(String encoding)`
`Request` `getRequest()`
`HttpFields` `getRequestFields()`
`int` `getRequests()`
`boolean` `getResolveNames()`
`Response` `getResponse()`
`HttpFields` `getResponseFields()`
`long` `getTimeStamp()`
`void` `handle()`
`protected void` `handleRequest()`
`void` `include()`
`void` `included()`
`boolean` `isConfidential(Request request)`
`boolean` `isIdle()`
`boolean` `isIncluding()`
`boolean` `isIntegral(Request request)` Find out if the request is INTEGRAL security.
`boolean` `isResponseCommitted()`
`void` `reset(boolean returnBuffers)`
`void` `setAssociatedObject(Object associatedObject)`
`protected static void` `setCurrentConnection(HttpConnection connection)`

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

Field Detail

### _connector

    protected Connector _connector

### _endp

    protected EndPoint _endp

### _server

    protected Server _server

### _uri

    protected HttpURI _uri

### _parser

    protected Parser _parser

### _requestFields

    protected HttpFields _requestFields

### _request

    protected Request _request

### _in

    protected ServletInputStream _in

### _generator

    protected Generator _generator

### _responseFields

    protected HttpFields _responseFields

### _response

    protected Response _response

### _out

    protected HttpConnection.Output _out

### _writer

    protected HttpConnection.OutputWriter _writer

### _printWriter

    protected PrintWriter _printWriter

Constructor Detail

### HttpConnection

    public HttpConnection(Connector connector,
                          EndPoint endpoint,
                          Server server)

  Constructor

Method Detail

### getCurrentConnection

    public static HttpConnection getCurrentConnection()

### setCurrentConnection

    protected static void setCurrentConnection(HttpConnection connection)

### destroy

    public void destroy()

### getParser

    public Parser getParser()

  Returns:
    the parser used by this connection

### getRequests

    public int getRequests()

  Returns:
    the number of requests handled by this connection

### getTimeStamp

    public long getTimeStamp()

  Returns:
    The time this connection was established.

### getAssociatedObject

    public Object getAssociatedObject()

  Returns:
    Returns the associatedObject.

### setAssociatedObject

    public void setAssociatedObject(Object associatedObject)

  Parameters:
    `associatedObject` - The associatedObject to set.

### getConnector

    public Connector getConnector()

  Returns:
    Returns the connector.

### getRequestFields

    public HttpFields getRequestFields()

  Returns:
    Returns the requestFields.

### getResponseFields

    public HttpFields getResponseFields()

  Returns:
    Returns the responseFields.

### isConfidential

    public boolean isConfidential(Request request)

  Returns:
    The result of calling `getConnector()`.`isCondidential`(request), or false if there is no connector.

### isIntegral

    public boolean isIntegral(Request request)

  Find out if the request is INTEGRAL security.

  Parameters:
    `request` -
  Returns:
    `true` if there is a `connector` and it considers `request` to be `integral`

### getEndPoint

    public EndPoint getEndPoint()

  Returns:
    The `EndPoint` for this connection.

### getResolveNames

    public boolean getResolveNames()

  Returns:
    `false` (this method is not yet implemented)

### getRequest

    public Request getRequest()

  Returns:
    Returns the request.

### getResponse

    public Response getResponse()

  Returns:
    Returns the response.

### getInputStream

    public ServletInputStream getInputStream()

  Returns:
    The input stream for this connection. The stream will be created if it does not already exist.

### getOutputStream

    public ServletOutputStream getOutputStream()

  Returns:
    The output stream for this connection. The stream will be created if it does not already exist.

### getPrintWriter

    public PrintWriter getPrintWriter(String encoding)

  Returns:
    A `PrintWriter` wrapping the `output stream`. The writer is created if it does not already exist.

### isResponseCommitted

    public boolean isResponseCommitted()

### handle

    public void handle()
                throws IOException

  Specified by:
    `handle` in interface `Connection`
  Throws:
    `IOException`

### reset

    public void reset(boolean returnBuffers)

### handleRequest

    protected void handleRequest()
                          throws IOException

  Throws:
    `IOException`

### commitResponse

    public void commitResponse(boolean last)
                        throws IOException

  Throws:
    `IOException`

### completeResponse

    public void completeResponse()
                          throws IOException

  Throws:
    `IOException`

### flushResponse

    public void flushResponse()
                       throws IOException

  Throws:
    `IOException`

### getGenerator

    public Generator getGenerator()

### isIncluding

    public boolean isIncluding()

### include

    public void include()

### included

    public void included()

### isIdle

    public boolean isIdle()

  Specified by:
    `isIdle` in interface `Connection`

Copyright © 2007 Mort Bay Consulting. All Rights Reserved.