Package org.apache.hc.core5.http.impl.io
Class DefaultBHttpServerConnection
java.lang.Object
org.apache.hc.core5.http.impl.io.BHttpConnectionBase
org.apache.hc.core5.http.impl.io.DefaultBHttpServerConnection
- All Implemented Interfaces:
Closeable,AutoCloseable,HttpConnection,BHttpConnection,HttpServerConnection,SocketModalCloseable,ModalCloseable
- Direct Known Subclasses:
LoggingBHttpServerConnection
public class DefaultBHttpServerConnection
extends BHttpConnectionBase
implements HttpServerConnection
Default implementation of
HttpServerConnection.- Since:
- 4.3
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ContentLengthStrategyprivate final ContentLengthStrategyprivate final HttpMessageParser<ClassicHttpRequest> private final HttpMessageWriter<ClassicHttpResponse> private final StringFields inherited from class org.apache.hc.core5.http.impl.io.BHttpConnectionBase
connMetrics, endpointDetails, http1Config, inBuffer, outbuffer, socketHolderRef, version -
Constructor Summary
ConstructorsConstructorDescriptionDefaultBHttpServerConnection(String scheme, Http1Config http1Config) DefaultBHttpServerConnection(String scheme, Http1Config http1Config, CharsetDecoder charDecoder, CharsetEncoder charEncoder) DefaultBHttpServerConnection(String scheme, Http1Config http1Config, CharsetDecoder charDecoder, CharsetEncoder charEncoder, ContentLengthStrategy incomingContentStrategy, ContentLengthStrategy outgoingContentStrategy, HttpMessageParserFactory<ClassicHttpRequest> requestParserFactory, HttpMessageWriterFactory<ClassicHttpResponse> responseWriterFactory) Creates new instance of DefaultBHttpServerConnection. -
Method Summary
Modifier and TypeMethodDescriptionvoidBinds this connection to the givenSocket.protected voidonRequestReceived(ClassicHttpRequest request) protected voidonResponseSubmitted(ClassicHttpResponse response) voidreceiveRequestEntity(ClassicHttpRequest request) Receives the next request entity available from this connection and attaches it to an existing request.Receives the request line and all headers available from this connection.voidsendResponseEntity(ClassicHttpResponse response) Sends the response entity of a response over this connection.voidsendResponseHeader(ClassicHttpResponse response) Sends the response line and headers of a response over this connection.Methods inherited from class org.apache.hc.core5.http.impl.io.BHttpConnectionBase
awaitInput, bind, close, close, createContentInputStream, createContentOutputStream, createIncomingEntity, ensureOpen, flush, getEndpointDetails, getLocalAddress, getProtocolVersion, getRemoteAddress, getSocketHolder, getSocketTimeout, getSSLSession, incrementRequestCount, incrementResponseCount, isDataAvailable, isOpen, isStale, setSocketTimeout, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.hc.core5.http.io.BHttpConnection
flush, isDataAvailable, isStaleMethods inherited from interface org.apache.hc.core5.http.HttpConnection
close, getEndpointDetails, getLocalAddress, getProtocolVersion, getRemoteAddress, getSSLSession, isOpenMethods inherited from interface org.apache.hc.core5.io.ModalCloseable
closeMethods inherited from interface org.apache.hc.core5.http.SocketModalCloseable
getSocketTimeout, setSocketTimeout
-
Field Details
-
scheme
-
incomingContentStrategy
-
outgoingContentStrategy
-
requestParser
-
responseWriter
-
-
Constructor Details
-
DefaultBHttpServerConnection
public DefaultBHttpServerConnection(String scheme, Http1Config http1Config, CharsetDecoder charDecoder, CharsetEncoder charEncoder, ContentLengthStrategy incomingContentStrategy, ContentLengthStrategy outgoingContentStrategy, HttpMessageParserFactory<ClassicHttpRequest> requestParserFactory, HttpMessageWriterFactory<ClassicHttpResponse> responseWriterFactory) Creates new instance of DefaultBHttpServerConnection.- Parameters:
scheme- protocol schemehttp1Config- Message http1Config. IfnullHttp1Config.DEFAULTwill be used.charDecoder- decoder to be used for decoding HTTP protocol elements. Ifnullsimple type cast will be used for byte to char conversion.charEncoder- encoder to be used for encoding HTTP protocol elements. Ifnullsimple type cast will be used for char to byte conversion.incomingContentStrategy- incoming content length strategy. IfnullDefaultContentLengthStrategy.INSTANCEwill be used.outgoingContentStrategy- outgoing content length strategy. IfnullDefaultContentLengthStrategy.INSTANCEwill be used.requestParserFactory- request parser factory. IfnullDefaultHttpRequestParserFactory.INSTANCEwill be used.responseWriterFactory- response writer factory. IfnullDefaultHttpResponseWriterFactory.INSTANCEwill be used.
-
DefaultBHttpServerConnection
public DefaultBHttpServerConnection(String scheme, Http1Config http1Config, CharsetDecoder charDecoder, CharsetEncoder charEncoder) -
DefaultBHttpServerConnection
-
-
Method Details
-
onRequestReceived
-
onResponseSubmitted
-
bind
Description copied from class:BHttpConnectionBaseBinds this connection to the givenSocket. This socket will be used by the connection to send and receive data.After this method's execution the connection status will be reported as open and the
BHttpConnectionBase.isOpen()will returntrue.- Overrides:
bindin classBHttpConnectionBase- Parameters:
socket- the socket.- Throws:
IOException- in case of an I/O error.
-
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 or
nullif the connection has been closed by the opposite endpoint. - Throws:
HttpException- in case of HTTP protocol violationIOException- in case of an I/O error
-
receiveRequestEntity
Description 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:
HttpException- in case of HTTP protocol violationIOException- in case of an I/O error
-
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:
HttpException- in case of HTTP protocol violationIOException- in case of an I/O error
-
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:
HttpException- in case of HTTP protocol violationIOException- in case of an I/O error
-