ルーティングが発生する前に Flask リクエスト オブジェクトを変更しようとして苦労しています。
私の API モジュール (Flask アプリ全体ではない) は、特別なヘッダーを送信することによる PUT 操作と DELETE 操作の偽造に依存しています。Flask がルーティングを行う前に、"-Method" ヘッダーの内容をチェックアウトし、それに応じて Flask Request オブジェクトを変更する必要があります。
これは、私が作業したい短い、pythonic、明示的なコードです。
@api.before_request
def method_scrubbing():
if request.headers.has_key('-Method'):
method = request.headers['-Method'].upper()
tagalog.log("in before_request, -Method = {}".format(method), 'force')
if method not in ['PUT', 'DELETE']:
raise ApiMethodException(method)
else:
request.method = method
...しかし、werkzeug から「読み取り専用プロパティ」エラーが発生します: http://drktd.com/74yk
http://flask.pocoo.org/snippets/38/での Armin の投稿のようですが、これはアプリ全体のようです (モジュールに固有のものではありません)。