Skip to main content

A simple django middleware that ensures POSTs aren't cached by clients.

Project description

django-postleware

A simple django middleware class which injects a Cache-Control: no-cache header onto POST responses.

Installing

  1. pip install django-postleware
  2. Add the middleware to settings.py
MIDDLEWARE_CLASSES = (
    'postleware.PostResponseCachebusterMiddleware',
    # ...
)

Why?

Mobile Webkit (iOS4+ and Android stock bowser) has a bug that causes it to cache similar POST requests when it clearly shouldn’t. Rather than only caching requests that have a specific Cache-Control header, it does the opposite and caches the request unless the no-cache value is present in the POST response.

Not working for you?

Let me know by opening an issue or pull request. This was enough for me, but I have read around the webs that other devs needed to add additional headers to the response before it would stop caching.

Project details


Release history Release notifications

This version
History Node

1.0.1

History Node

1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
django-postleware-1.0.1.tar.gz (6.1 kB) Copy SHA256 hash SHA256 Source None Jan 27, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page