Java tutorial
package org.apache.http.impl; import java.io.IOException; import java.net.Socket; import org.apache.http.HttpConnectionFactory; import org.apache.http.HttpRequest; import org.apache.http.HttpResponse; import org.apache.http.annotation.Immutable; import org.apache.http.config.ConnectionConfig; import org.apache.http.entity.ContentLengthStrategy; import org.apache.http.io.HttpMessageParserFactory; import org.apache.http.io.HttpMessageWriterFactory; @Immutable public class DefaultBHttpServerConnectionFactory implements HttpConnectionFactory<DefaultBHttpServerConnection> { public static final DefaultBHttpServerConnectionFactory INSTANCE; private final ConnectionConfig cconfig; private final ContentLengthStrategy incomingContentStrategy; private final ContentLengthStrategy outgoingContentStrategy; private final HttpMessageParserFactory<HttpRequest> requestParserFactory; private final HttpMessageWriterFactory<HttpResponse> responseWriterFactory; static { INSTANCE = new DefaultBHttpServerConnectionFactory(); } public DefaultBHttpServerConnectionFactory(ConnectionConfig connectionConfig, ContentLengthStrategy contentLengthStrategy, ContentLengthStrategy contentLengthStrategy2, HttpMessageParserFactory<HttpRequest> httpMessageParserFactory, HttpMessageWriterFactory<HttpResponse> httpMessageWriterFactory) { if (connectionConfig == null) { connectionConfig = ConnectionConfig.DEFAULT; } this.cconfig = connectionConfig; this.incomingContentStrategy = contentLengthStrategy; this.outgoingContentStrategy = contentLengthStrategy2; this.requestParserFactory = httpMessageParserFactory; this.responseWriterFactory = httpMessageWriterFactory; } public DefaultBHttpServerConnectionFactory(ConnectionConfig connectionConfig, HttpMessageParserFactory<HttpRequest> httpMessageParserFactory, HttpMessageWriterFactory<HttpResponse> httpMessageWriterFactory) { this(connectionConfig, null, null, httpMessageParserFactory, httpMessageWriterFactory); } public DefaultBHttpServerConnectionFactory(ConnectionConfig connectionConfig) { this(connectionConfig, null, null, null, null); } public DefaultBHttpServerConnectionFactory() { this(null, null, null, null, null); } public DefaultBHttpServerConnection createConnection(Socket socket) throws IOException { DefaultBHttpServerConnection defaultBHttpServerConnection = new DefaultBHttpServerConnection( this.cconfig.getBufferSize(), this.cconfig.getFragmentSizeHint(), ConnSupport.createDecoder(this.cconfig), ConnSupport.createEncoder(this.cconfig), this.cconfig.getMessageConstraints(), this.incomingContentStrategy, this.outgoingContentStrategy, this.requestParserFactory, this.responseWriterFactory); defaultBHttpServerConnection.bind(socket); return defaultBHttpServerConnection; } }