Exemplo n.º 1
0
         return HTTPNotFound(request=request)
 try:
     file_size = file.get_data_file_size()
 except (DiskFileError, DiskFileNotExist):
     file.quarantine()
     self.logger.timing_since('GET.timing', start_time)
     return HTTPNotFound(request=request)
 if request.headers.get('if-match') not in (None, '*') and \
         file.metadata['ETag'] not in request.if_match:
     file.close()
     self.logger.timing_since('GET.timing', start_time)
     return HTTPPreconditionFailed(request=request)
 if request.headers.get('if-none-match') is not None:
     if file.metadata['ETag'] in request.if_none_match:
         resp = HTTPNotModified(request=request)
         resp.etag = file.metadata['ETag']
         file.close()
         self.logger.timing_since('GET.timing', start_time)
         return resp
 try:
     if_unmodified_since = request.if_unmodified_since
 except (OverflowError, ValueError):
     # catches timestamps before the epoch
     self.logger.increment('GET.errors')
     return HTTPPreconditionFailed(request=request)
 if if_unmodified_since and \
         datetime.fromtimestamp(
             float(file.metadata['X-Timestamp']), UTC) > \
         if_unmodified_since:
     file.close()
     self.logger.timing_since('GET.timing', start_time)
Exemplo n.º 2
0
     if request.headers.get("if-match") == "*":
         return HTTPPreconditionFailed(request=request)
     else:
         return HTTPNotFound(request=request)
 try:
     file_size = disk_file.get_data_file_size()
 except (DiskFileError, DiskFileNotExist):
     disk_file.quarantine()
     return HTTPNotFound(request=request)
 if request.headers.get("if-match") not in (None, "*") and disk_file.metadata["ETag"] not in request.if_match:
     disk_file.close()
     return HTTPPreconditionFailed(request=request)
 if request.headers.get("if-none-match") is not None:
     if disk_file.metadata["ETag"] in request.if_none_match:
         resp = HTTPNotModified(request=request)
         resp.etag = disk_file.metadata["ETag"]
         disk_file.close()
         return resp
 try:
     if_unmodified_since = request.if_unmodified_since
 except (OverflowError, ValueError):
     # catches timestamps before the epoch
     return HTTPPreconditionFailed(request=request)
 if (
     if_unmodified_since
     and datetime.fromtimestamp(float(disk_file.metadata["X-Timestamp"]), UTC) > if_unmodified_since
 ):
     disk_file.close()
     return HTTPPreconditionFailed(request=request)
 try:
     if_modified_since = request.if_modified_since
Exemplo n.º 3
0
         return HTTPPreconditionFailed(request=request)
     else:
         return HTTPNotFound(request=request)
 try:
     file_size = disk_file.get_data_file_size()
 except (DiskFileError, DiskFileNotExist):
     disk_file.quarantine()
     return HTTPNotFound(request=request)
 if request.headers.get('if-match') not in (None, '*') and \
         disk_file.metadata['ETag'] not in request.if_match:
     disk_file.close()
     return HTTPPreconditionFailed(request=request)
 if request.headers.get('if-none-match') is not None:
     if disk_file.metadata['ETag'] in request.if_none_match:
         resp = HTTPNotModified(request=request)
         resp.etag = disk_file.metadata['ETag']
         disk_file.close()
         return resp
 try:
     if_unmodified_since = request.if_unmodified_since
 except (OverflowError, ValueError):
     # catches timestamps before the epoch
     return HTTPPreconditionFailed(request=request)
 if if_unmodified_since and \
         datetime.fromtimestamp(
             float(disk_file.metadata['X-Timestamp']), UTC) > \
         if_unmodified_since:
     disk_file.close()
     return HTTPPreconditionFailed(request=request)
 try:
     if_modified_since = request.if_modified_since
Exemplo n.º 4
0
     if request.headers.get("if-match") == "*":
         return HTTPPreconditionFailed(request=request)
     else:
         return HTTPNotFound(request=request)
 try:
     file_size = file.get_data_file_size()
 except (DiskFileError, DiskFileNotExist):
     file.quarantine()
     return HTTPNotFound(request=request)
 if request.headers.get("if-match") not in (None, "*") and file.metadata["ETag"] not in request.if_match:
     file.close()
     return HTTPPreconditionFailed(request=request)
 if request.headers.get("if-none-match") is not None:
     if file.metadata["ETag"] in request.if_none_match:
         resp = HTTPNotModified(request=request)
         resp.etag = file.metadata["ETag"]
         file.close()
         return resp
 try:
     if_unmodified_since = request.if_unmodified_since
 except (OverflowError, ValueError):
     # catches timestamps before the epoch
     return HTTPPreconditionFailed(request=request)
 if (
     if_unmodified_since
     and datetime.fromtimestamp(float(file.metadata["X-Timestamp"]), UTC) > if_unmodified_since
 ):
     file.close()
     return HTTPPreconditionFailed(request=request)
 try:
     if_modified_since = request.if_modified_since
Exemplo n.º 5
0
         return HTTPPreconditionFailed(request=request)
     else:
         return HTTPNotFound(request=request)
 try:
     file_size = file.get_data_file_size()
 except (DiskFileError, DiskFileNotExist):
     file.quarantine()
     return HTTPNotFound(request=request)
 if request.headers.get('if-match') not in (None, '*') and \
         file.metadata['ETag'] not in request.if_match:
     file.close()
     return HTTPPreconditionFailed(request=request)
 if request.headers.get('if-none-match') is not None:
     if file.metadata['ETag'] in request.if_none_match:
         resp = HTTPNotModified(request=request)
         resp.etag = file.metadata['ETag']
         file.close()
         return resp
 try:
     if_unmodified_since = request.if_unmodified_since
 except (OverflowError, ValueError):
     # catches timestamps before the epoch
     return HTTPPreconditionFailed(request=request)
 if if_unmodified_since and \
         datetime.fromtimestamp(
             float(file.metadata['X-Timestamp']), UTC) > \
         if_unmodified_since:
     file.close()
     return HTTPPreconditionFailed(request=request)
 try:
     if_modified_since = request.if_modified_since
Exemplo n.º 6
0
         return HTTPPreconditionFailed(request=request)
     else:
         return HTTPNotFound(request=request)
 try:
     file_size = file.get_data_file_size()
 except (DiskFileError, DiskFileNotExist):
     file.quarantine()
     return HTTPNotFound(request=request)
 if request.headers.get('if-match') not in (None, '*') and \
         file.metadata['Original-Etag'] not in request.if_match:
     file.close()
     return HTTPPreconditionFailed(request=request)
 if request.headers.get('if-none-match') is not None:
     if file.metadata['Original-Etag'] in request.if_none_match:
         resp = HTTPNotModified(request=request)
         resp.etag = file.metadata['Original-Etag']
         file.close()
         return resp
 try:
     if_unmodified_since = request.if_unmodified_since
 except (OverflowError, ValueError):
     # catches timestamps before the epoch
     return HTTPPreconditionFailed(request=request)
 if if_unmodified_since and \
         datetime.fromtimestamp(
             float(file.metadata['X-Timestamp']), UTC) > \
         if_unmodified_since:
     file.close()
     return HTTPPreconditionFailed(request=request)
 try:
     if_modified_since = request.if_modified_since
Exemplo n.º 7
0
         return HTTPPreconditionFailed(request=request)
     else:
         return HTTPNotFound(request=request)
 try:
     file_size = disk_file.get_data_file_size()
 except (DiskFileError, DiskFileNotExist):
     disk_file.quarantine()
     return HTTPNotFound(request=request)
 if request.headers.get('if-match') not in (None, '*') and \
         disk_file.metadata['ETag'] not in request.if_match:
     disk_file.close()
     return HTTPPreconditionFailed(request=request)
 if request.headers.get('if-none-match') is not None:
     if disk_file.metadata['ETag'] in request.if_none_match:
         resp = HTTPNotModified(request=request)
         resp.etag = disk_file.metadata['ETag']
         disk_file.close()
         return resp
 try:
     if_unmodified_since = request.if_unmodified_since
 except (OverflowError, ValueError):
     # catches timestamps before the epoch
     return HTTPPreconditionFailed(request=request)
 if if_unmodified_since and \
         datetime.fromtimestamp(
             float(disk_file.metadata['X-Timestamp']), UTC) > \
         if_unmodified_since:
     disk_file.close()
     return HTTPPreconditionFailed(request=request)
 try:
     if_modified_since = request.if_modified_since
Exemplo n.º 8
0
         return HTTPPreconditionFailed(request=request)
     else:
         return HTTPNotFound(request=request)
 try:
     file_size = file.get_data_file_size()
 except (DiskFileError, DiskFileNotExist):
     file.quarantine()
     return HTTPNotFound(request=request)
 if request.headers.get('if-match') not in (None, '*') and \
         file.metadata['Original-Etag'] not in request.if_match:
     file.close()
     return HTTPPreconditionFailed(request=request)
 if request.headers.get('if-none-match') is not None:
     if file.metadata['Original-Etag'] in request.if_none_match:
         resp = HTTPNotModified(request=request)
         resp.etag = file.metadata['Original-Etag']
         file.close()
         return resp
 try:
     if_unmodified_since = request.if_unmodified_since
 except (OverflowError, ValueError):
     # catches timestamps before the epoch
     return HTTPPreconditionFailed(request=request)
 if if_unmodified_since and \
         datetime.fromtimestamp(
             float(file.metadata['X-Timestamp']), UTC) > \
         if_unmodified_since:
     file.close()
     return HTTPPreconditionFailed(request=request)
 try:
     if_modified_since = request.if_modified_since