Package org.apache.http.impl
Class AbstractHttpServerConnection
java.lang.Object
org.apache.http.impl.AbstractHttpServerConnection
- All Implemented Interfaces:
HttpConnection,HttpServerConnection
- Direct Known Subclasses:
SocketHttpServerConnection
public abstract class AbstractHttpServerConnection extends Object implements HttpServerConnection
Abstract server-side HTTP connection capable of transmitting and receiving data
using arbitrary
SessionInputBuffer and SessionOutputBuffer- Since:
- 4.0
- Version:
- $Revision: 618017 $
- Author:
- Oleg Kalnichevski
-
Constructor Summary
Constructors Constructor Description AbstractHttpServerConnection() -
Method Summary
Modifier and Type Method Description protected abstract voidassertOpen()protected EntityDeserializercreateEntityDeserializer()protected EntitySerializercreateEntitySerializer()protected HttpRequestFactorycreateHttpRequestFactory()protected HttpMessageParsercreateRequestParser(SessionInputBuffer buffer, HttpRequestFactory requestFactory, HttpParams params)protected HttpMessageWritercreateResponseWriter(SessionOutputBuffer buffer, HttpParams params)protected voiddoFlush()voidflush()Sends all pending buffered data over this connection.HttpConnectionMetricsgetMetrics()Returns a collection of connection metrcisprotected voidinit(SessionInputBuffer inbuffer, SessionOutputBuffer outbuffer, HttpParams params)booleanisStale()Checks whether this connection has gone down.voidreceiveRequestEntity(HttpEntityEnclosingRequest request)Receives the next request entity available from this connection and attaches it to an existing request.HttpRequestreceiveRequestHeader()Receives the request line and all headers available from this connection.voidsendResponseEntity(HttpResponse response)Sends the response entity of a response over this connection.voidsendResponseHeader(HttpResponse response)Sends the response line and headers of a response over this connection.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.http.HttpConnection
close, getSocketTimeout, isOpen, setSocketTimeout, shutdown
-
Constructor Details
-
AbstractHttpServerConnection
public AbstractHttpServerConnection()
-
-
Method Details
-
assertOpen
- Throws:
IllegalStateException
-
createEntityDeserializer
-
createEntitySerializer
-
createHttpRequestFactory
-
createRequestParser
protected HttpMessageParser createRequestParser(SessionInputBuffer buffer, HttpRequestFactory requestFactory, HttpParams params) -
createResponseWriter
-
init
-
receiveRequestHeader
Description copied from interface:HttpServerConnectionReceives the request line and all headers available from this connection. The caller should examine the returned request and decide if to receive a request entity as well.- Specified by:
receiveRequestHeaderin interfaceHttpServerConnection- Returns:
- a new HttpRequest object whose request line and headers are initialized.
- Throws:
HttpExceptionIOException
-
receiveRequestEntity
public void receiveRequestEntity(HttpEntityEnclosingRequest request) throws HttpException, IOExceptionDescription copied from interface:HttpServerConnectionReceives the next request entity available from this connection and attaches it to an existing request.- Specified by:
receiveRequestEntityin interfaceHttpServerConnection- Parameters:
request- the request to attach the entity to.- Throws:
HttpExceptionIOException
-
doFlush
- Throws:
IOException
-
flush
Description copied from interface:HttpServerConnectionSends all pending buffered data over this connection.- Specified by:
flushin interfaceHttpServerConnection- Throws:
IOException
-
sendResponseHeader
Description copied from interface:HttpServerConnectionSends the response line and headers of a response over this connection.- Specified by:
sendResponseHeaderin interfaceHttpServerConnection- Parameters:
response- the response whose headers to send.- Throws:
HttpExceptionIOException
-
sendResponseEntity
Description copied from interface:HttpServerConnectionSends the response entity of a response over this connection.- Specified by:
sendResponseEntityin interfaceHttpServerConnection- Parameters:
response- the response whose entity to send.- Throws:
HttpExceptionIOException
-
isStale
public boolean isStale()Description copied from interface:HttpConnectionChecks whether this connection has gone down. Network connections may get closed during some time of inactivity for several reasons. The next time a read is attempted on such a connection it will throw an IOException. This method tries to alleviate this inconvenience by trying to find out if a connection is still usable. Implementations may do that by attempting a read with a very small timeout. Thus this method may block for a small amount of time before returning a result. It is therefore an expensive operation.- Specified by:
isStalein interfaceHttpConnection- Returns:
trueif attempts to use this connection are likely to succeed, orfalseif they are likely to fail and this connection should be closed
-
getMetrics
Description copied from interface:HttpConnectionReturns a collection of connection metrcis- Specified by:
getMetricsin interfaceHttpConnection- Returns:
- HttpConnectionMetrics
-