if (!file.exists()) {
response.setStatusCode(HttpStatus.SC_NOT_FOUND);
byte[] msg = EncodingUtils.getAsciiBytes(
file.getName() + ": not found");
ByteArrayNIOEntity entity = new ByteArrayNIOEntity(msg);
entity.setContentType("text/plain; charset=US-ASCII");
response.setEntity(entity);
} else if (!file.canRead() || file.isDirectory()) {
response.setStatusCode(HttpStatus.SC_FORBIDDEN);
byte[] msg = EncodingUtils.getAsciiBytes(
file.getName() + ": access denied");
ByteArrayNIOEntity entity = new ByteArrayNIOEntity(msg);
entity.setContentType("text/plain; charset=US-ASCII");
response.setEntity(entity);
} else {
FileNIOEntity entity = new FileNIOEntity(file, "text/html");