Пример #1
0
    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
Пример #2
0
    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")
Пример #3
0
    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