A pyramid plugin that rewrites the HTTP method based on a query-string parameter.
Project description
The pyramid_methodrewrite package is a pyramid plugin that adds a “tween” that rewrites the active HTTP method (as exposed via request.method) to the value provided in a query-string. The main reason for this is to allow clients to fake the use of HTTP methods beyond GET and POST (such as PUT and DELETE) that are behind non-compliant proxies, browsers, or other deficient software that limit which HTTP methods can be sent.
It does this by inspecting the query-string or POST data, and if a parameter named _method is found (the actual name is configurable) and is of the known set of HTTP methods, will override the active request’s .method attribute.
For example, the request:
GET /path/to/resource?_method=OPTIONS HTTP/1.1
Is transformed to:
OPTIONS /path/to/resource HTTP/1.1
Project
Installation
$ pip install pyramid-methodrewrite
Usage
Enable the tween either in your INI file via:
pyramid.includes = pyramid_methodrewrite
or in code in your package’s application initialization via:
def main(global_config, **settings):
# ...
config.include('pyramid_methodrewrite')
# ...
Configuration
The following configuration settings can be set in your application’s main section:
methodrewrite.enabled: a boolean flag to control whether or not method rewriting should be enabled. Default: True.
methodrewrite.on: a list of incoming HTTP methods that will cause this tween to check the request parameters and potentially make the change. Defaults to (GET, POST).
methodrewrite.param: the name of the parameter that controls the requested method. Defaults to _method.
methodrewrite.to: list of acceptable HTTP methods that a request can be rewritten to. If set to empty, no restrictions will be made on mapping to acceptable or known methods. Defaults to pyramid_methodrewrite.HTTP_METHODS.
Note that all method names are always converted to upper case.
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
Hashes for pyramid_methodrewrite-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07cc0011a02b038d9b87649bed699ad57a377ad6be952d98394e9ab0b5e45bd3 |
|
MD5 | d342911c1041e35489f441f333b93e73 |
|
BLAKE2b-256 | 8eb804691f2b4175a36604b32a7933bd988aab6b387772fe4448ade75c7f5b1d |