}
HttpResponse response;
if (request instanceof HttpEntityEnclosingRequest) {
HttpEntityEnclosingRequest entityReq = (HttpEntityEnclosingRequest) request;
if (entityReq.expectContinue()) {
response = this.responseFactory.newHttpResponse(
ver,
HttpStatus.SC_CONTINUE,
context);
response.getParams().setDefaults(this.params);
if (this.expectationVerifier != null) {
try {
this.expectationVerifier.verify(request, response, context);
} catch (HttpException ex) {
handleException(connState, ex ,context);
return;
}
}
if (response.getStatusLine().getStatusCode() < 200) {
// Send 1xx response indicating the server expections
// have been met
waitForOutput(connState, ServerConnState.READY);
connState.setResponse(response);
synchronized (connState) {
waitForOutput(connState, ServerConnState.RESPONSE_SENT);
connState.resetOutput();
}
} else {
// The request does not meet the server expections
context.setAttribute(HttpExecutionContext.HTTP_RESPONSE, response);
this.httpProcessor.process(response, context);
connState.setResponse(response);
return;
}
}
// Create a wrapper entity instead of the original one
if (entityReq.getEntity() != null) {
entityReq.setEntity(new BufferedContent(
entityReq.getEntity(),
connState.getInbuffer()));
}
}
response = this.responseFactory.newHttpResponse(