conn.bind(socket);
try {
boolean keepAlive = true;
while( keepAlive && !socket.isClosed() ) {
// fully read the request, whatever it is
HttpRequest request = conn.receiveRequestHeader();
logger.log(FINE, "Received request: {0}", request);
keepAlive = isKeepAlive(request);
if (request instanceof HttpEntityEnclosingRequest) {
conn.receiveRequestEntity((HttpEntityEnclosingRequest) request);