Skip to main content

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.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-ns-ratelimit-0.0.3.tar.gz (3.4 kB view details)

Uploaded Source

File details

Details for the file django-ns-ratelimit-0.0.3.tar.gz.

File metadata

  • Download URL: django-ns-ratelimit-0.0.3.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/59.6.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for django-ns-ratelimit-0.0.3.tar.gz
Algorithm Hash digest
SHA256 a670f463bf0f907da676a79a0c2387a7295bfffbbb267a35851fba9ea418cb29
MD5 b20383a2cd3f2f644fcb844365bf35cf
BLAKE2b-256 27851bebdc414e449572444cbf962c33c9e9d644dd93415a29ad57792495874a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page