Skip to content

Enable Method Overrides in Flask via Headers and Query String Parameters

License

Notifications You must be signed in to change notification settings

toChaim/flask-modus3

 
 

Repository files navigation

Flask-Modus3

This is the same flask_modus as done by Rhys Elsmore with a slight change by Chaim Finkelman to make it work with both python 3.6 and 2.7 .

https://secure.travis-ci.org/toChaim/flask-modus3.png?branch=master

Enable Flask Method overrides via Query String and Headers.

Allows for a much more enjoyable experience when building HTML which requires a custom method, or when using a client that doesn't support certain methods.

The following methods are supported:

  • Get
  • Post
  • Put
  • Patch
  • Delete
  • Options
  • Head

Installation

Installation is very straightforward:

pip install flask-modus3

Configuration

Configuration is pretty damn easy:

from flask import Flask
from flask_modus3 import Modus

app = Flask(__name__)
modus = Modus(app)

or:

from flask import Flask
from flask_modus3 import Modus

app = Flask(__name__)
modus = Modus()
modus.init_app(app)

Usage

Either append your favoured methods to the end of your query string:

$ curl http://localhost:5000/?_method=put

or supply a X-HTTP-Method-Override header:

$ curl -H "X-HTTP-Method-Override: PUT" http://localhost:5000/

Note: If you supply both a header and a query string parameter, the method specified in the header will be that which is used.

About

Enable Method Overrides in Flask via Headers and Query String Parameters

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%