Django REST, как установить период газа, чтобы разрешить один запрос за 10 минут? - PullRequest
0 голосов
/ 16 мая 2018

Документация говорит, что период должен быть одним из: ('s', 'sec', 'm', 'min', 'h', 'hour', 'd', 'day'). Мне интересно, могу ли я установить период на что-то вроде 1/10min?

1 Ответ

0 голосов
/ 16 мая 2018

Глядя на код и документацию , вы не можете сделать это "из коробки". Но я вижу описанную возможность для создания собственного настраиваемого газа на основе одного из существующих:

from rest_framework.throttling import AnonRateThrottle


class AnonTenPerTenMinutesThrottle(AnonRateThrottle):
    def parse_rate(self, rate):
        """
        Given the request rate string, return a two tuple of:
        <allowed number of requests>, <period of time in seconds>

        So we always return a rate for 10 request per 10 minutes.

        Args:
            string: rate to be parsed, which we ignore.

        Returns:
            tuple:  <allowed number of requests>, <period of time in seconds>
        """
        return (10, 600)
...