Middleware for dropping duplicated requests
Just install, register the middleware and enjoy. You can adjust the timeout for duplicated requests on your settings.py file.
You need Django >= 1.9 for this to work. It may work on previous versions, but I haven’t tested it. I also tested with Django 2.0, but it may still break before it’s released.
pip install django-duprequests
Add the middleware to your MIDDLEWARE or MIDDLEWARE_CLASSES (depending on your Django version)
MIDDLEWARE_CLASSES = [ (...) 'duprequests.middleware.DropDuplicatedRequests', (...) ]
Also on settings.py
you can set up a few variables:
DUPLICATED_REQUESTS_CACHE_NAME
- the name of the cache (default
value is default
) DUPLICATED_REQUESTS_CACHE_TIMEOUT
- cache
timeout (default value is 5
; in seconds)
DUPLICATED_REQUESTS_COOKIE_NAME
- name of the cookie set on the
user’s session (default value is dj-request-id
)
DUPLICATED_REQUESTS_COOKIE_PREFIX
- cookie prefix, combined with a
random UUID to set the response cookie (default value is
request-id-
)
The test suite runs outside of a django app (it simulates a very simple one). Just run tests.py and you’re golden.
Feel free to contribute to this project! Documentation is close to non-existant. Bug reports and enhancement requests can be submitted on https://github.com/CraveFood/django-duprequests/issues – Pull Requests are also welcome!
- Sergio Oliveira - Initial work - Seocam
- Danilo Martins - Packaging and distribution - Mawkee
- Thiago Ferreira - Improvements, bug fixes and current maintainer - thiagoferreiraw
This project is licensed under the BSD License - see the LICENSE file for details
- The simple test suite was copied from project Django CORS Middleware by @zestedesavoir – https://github.com/zestedesavoir/django-cors-middleware