A Django app for limit authorized and anonymous users.
Project description
DJANGO-NS-RATELIMIT
Project description
django-ns-ratelimit is django app for limit requests using rate limit class, decorators and middleware.
Installation
pip install -i https://test.pypi.org/simple/ django-ns-ratelimit==1.0
Usage
Periods in format:
S: For seconds
M: For minutes
H: For hour
D: For Day
e.g: "10S" "1M" "1D"
Decorators
user_method_ratelimit:
Used for user specific request rate limiting for class base apis
class SampleView(APIView):
@user_method_ratelimit(5, "1M")
def get(self, request):
pass
anon_method_ratelimit:
Used for Anonymous user requests rate limiting for class base apis
class SampleView(APIView):
@anon_method_ratelimit(5, "1M")
def get(self, request):
pass
user_func_ratelimit:
Used for user specific request rate limiting for function base apis
class SampleView(APIView):
@user_func_ratelimit(5, "1M")
def get(self, request):
pass
anon_func_ratelimit:
Used for Anonymous user requests rate limiting for function base apis
class SampleView(APIView):
@anon_func_ratelimit(5, "1M")
def get(self, request):
pass
Middlewares
UserRateLimitMiddleware
Add this django settings Middlewares for User rate limiting
MIDDLEWARE = [
.
.
.
.
"ratelimit.middleware.UserRateLimitMiddleware",
]
AnonRateLimitMiddleware
Add this django settings Middlewares for Anonymous rate limiting
MIDDLEWARE = [
.
.
.
.
"ratelimit.middleware.AnonRateLimitMiddleware",
]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for django-ns-ratelimit-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e6d47f45ce4db57c2716f7a152d08a027f3072e86e4b50073febd9fe21dd295 |
|
MD5 | 63a88815447d760de41d92ff9f089591 |
|
BLAKE2b-256 | 09f200241858e69b81d0977913e91a2452385ba2fd11c39586b0eebaa90f2c10 |