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)
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
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
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
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
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
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
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