{
if (fresource == null)
throw new ResourceException("this frame is not attached to a "+
"FileResource. ("+
resource.getIdentifier()+")");
Reply reply = null;
File file = fresource.getFile() ;
fresource.checkContent();
updateCachedHeaders();
// Check validators:
int cim = checkIfMatch(request);
if ((cim == COND_FAILED) || (cim == COND_WEAK)) {
reply = request.makeReply(HTTP.PRECONDITION_FAILED);
reply.setContent("Pre-conditions failed.");
reply.setContentMD5(null);
return reply;
}
if ( checkIfUnmodifiedSince(request) == COND_FAILED ) {
reply = request.makeReply(HTTP.PRECONDITION_FAILED);
reply.setContent("Pre-conditions failed.");
reply.setContentMD5(null);
return reply;
}
if ( checkValidators(request) == COND_FAILED) {
return createDefaultReply(request, HTTP.NOT_MODIFIED);
}
// Does this file really exists, if so send it back
if ( zipfresource.hasEntry()) {
reply = createFileReply(request);
if (request.hasState(STATE_CONTENT_LOCATION))
reply.setContentLocation(getURL(request).toExternalForm());
return reply;
} else {
return deleteMe(request);
}
}