WSGI middleware for handling HTTP byte-ranges, i.e.
Request header: Range: bytes=0-1
Response header: Accept-Ranges: bytes or none
Response status: 206 Partial Content or 416 Requested range not satisfiable with Content-Range of *
Response header: Content-Range: bytes 0-1/2333748
Response header: Content-Length: 2
Implemented originally for use with waitress or gunicorn, django, dj-static and static3 because Safari requires byte-range support when requesting HTML5 videos.
Status and caveats
static-ranges has been developed as a quick way to get an app up and running on Heroku for testing with all static and media files served from the same place. Probably not production ready.
static-ranges only supports single ranges (or overlapping ranges that condense to a single range) but that probably covers 99.9% of usage.
Install
It is available from pypi like so:
$ pip install static-ranges
Usage
Wrap your application in wsgi.py with Ranges as the outermost layer, for example:
from static_ranges import Ranges
application = Ranges(Cling(MediaCling(application)))
Optionally you can disable support which will send the Accept-Ranges: none header using:
application = Ranges(Cling(MediaCling(application)), enable=False)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file static-ranges-0.2.0.tar.gz.
File metadata
- Download URL: static-ranges-0.2.0.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9eb86adfc27d1aefa6619cff7c8d5043937873c08eb86073cd822d4e32cae86
|
|
| MD5 |
6ff1eaddecb6103d6c9cb0a0f089ce42
|
|
| BLAKE2b-256 |
1d45bbbdf8d5576da8f841ecdfac674159d259462d8449277a85c47808bd5b29
|