Parse and generate Content-Disposition headers (a fork maintained by ekzhu)
Project description
rfc6266
This module parses and generates HTTP Content-Disposition headers. These headers are used when getting resources for download; they provide a hint of whether the file should be downloaded, and of what filename to use when saving.
Usage
Receiver
parse_headers builds a ContentDisposition object from the Content-Disposition header and (as a fallback) the document location. Shortcuts work with response objects from httplib2 and the requests library.
Important attributes of ContentDisposition are is_inline, filename_unsafe, filename_sanitized.
Sender
build_header builds a header value from a filename.
Security
The Content-Disposition filename should be used with caution. Do not let the sender overwrite an arbitrary filesystem location, pick arbitrary extensions or filenames with special meaning, pick filenames containing unusual or misleading characters, etc. Read RFC 6266 section 4.3 for more details.
Testing
To test in the current Python implementation:
py.test
To test compatibility across Python releases:
tox
rfc6266 is currently tested under Python 2.7, Python 2.6, Python 3.3, Python 3.2, and PyPy (1.7).
References
RFC 6266 <https://tools.ietf.org/html/rfc6266> specifies the Content-Disposition header
RFC 5987 <https://tools.ietf.org/html/rfc5987> specifies a way to encode non-ascii filenames
TC 2231 <http://greenbytes.de/tech/tc2231/> is a test suite for Content-Disposition headers
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
Built Distribution
Hashes for rfc6266-content-disposition-0.0.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f063e39c8d59f402facda2f58ecc7f0430443e9364fd246384009ea2af03f788 |
|
MD5 | ff4fd40e9c31bc9b5884e618a7d9b093 |
|
BLAKE2b-256 | ea48154f0c4ee831f657790a4013b05996a888e6f2b6f4605924d24a9a5fe12a |
Hashes for rfc6266_content_disposition-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fef8ff8ebe08e17e3998c91ce3a273d9c0acbe900958326baf62eb376072fd2 |
|
MD5 | f043a7b7e47cd525849f54a774459a14 |
|
BLAKE2b-256 | 83a76eed63b4f0a9e738090b7761ddbc673056d9d50eaa9a909f93b65e9817af |