def check_for_range_params(self): range_in_query = self.get_query_argument("range", None) if not range_in_query: range_in_query = self.get_query_argument("Range", None) logging.info("Range %s received as query param " % range_in_query) requested_range = self.request.headers.get("Range", None) logging.info("Range %s received as request header " % requested_range) if range_in_query and requested_range: if range_in_query != requested_range: logging.error( "Mismatch in ranges -> Range in header %s, rang in query param %s" % (requested_range, range_in_query)) return False elif range_in_query: requested_range = range_in_query logging.info("Received range %s for uri %s " % (requested_range, self.request.path)) if requested_range: logging.info("Adding to range list %s" % requested_range) self.range_list = RangeOperations.create_range(requested_range) for range in self.range_list: logging.info("Range added to list with start %s end %s" % (range[0], range[1])) return True
def test_byte_range_creation(self): logging.info("Testing byte range creation for : %s" % SINGLE_BYTE_RANGE) created_range = RangeOperations.create_range(SINGLE_BYTE_RANGE) self.assertEqual(created_range,[(656708,656999)],"Failed to create single byte range") logging.info("Testing byte range creation for : %s" % SINGLE_SUFFIX_BYTE_RANGE) created_range = RangeOperations.create_range(SINGLE_SUFFIX_BYTE_RANGE) self.assertEqual(created_range,[(0,-1)], "Failed to create single suffix byte range") logging.info("Testing byte range creation for : %s" % SINGLE_PREFIX_BYTE_RANGE) created_range = RangeOperations.create_range(SINGLE_PREFIX_BYTE_RANGE) self.assertEqual(created_range,[(1000,sys.maxsize)], "Failed to create single prefix byte range") logging.info("Testing byte range creation for : %s" % MULTIPLE_BYTE_RANGE) created_range = RangeOperations.create_range(MULTIPLE_BYTE_RANGE) self.assertEqual(created_range,[(1000,2000),(2001,4000), (4001, 5000)], "Failed to create multiple byte ranges")
def check_for_range_params(self): range_in_query = self.get_query_argument("range", None) if not range_in_query: range_in_query = self.get_query_argument("Range", None) logging.info("Range %s received as query param " % range_in_query) requested_range = self.request.headers.get("Range", None) logging.info("Range %s received as request header " % requested_range) if range_in_query and requested_range: if range_in_query != requested_range: logging.error("Mismatch in ranges -> Range in header %s, rang in query param %s" % (requested_range, range_in_query)) return False elif range_in_query: requested_range = range_in_query logging.info("Received range %s for uri %s " % (requested_range, self.request.path)) if requested_range: logging.info("Adding to range list %s" % requested_range) self.range_list = RangeOperations.create_range(requested_range) for range in self.range_list: logging.info("Range added to list with start %s end %s" % (range[0], range[1])) return True