私はトルネードを使用している単純なAPIサーバーで作業していましたが、すべてのリクエストにパラメータaccess_tokenが必要です。私はカールを演奏していましたが、DELETEリクエストとGETリクエストがリクエスト本体からこの値を抽出しないことに驚きました。このパラメータはクエリ文字列を介して渡されるだけです。要求メソッドがPOSTまたはPUTでない場合、Webサーバーは要求本体を無視する必要がありますか?
つまり、私は私のウェブハンドラの方法を削除で
curl -i -X DELETE -d access_token=1234 http://localhost:8888/
を行うとき、これはNoneを返します。しかし
self.get_argument('access_token', None)
、私は
curl -i -X DELETE http://localhost:8888/?access_token=1234
を行うときこれにより、予想通り「1234」が生成されます。
self.get_argument('access_token', None)
私は竜巻の原因を調査し、ボディのみPOSTのために解析され、要求を入れていることが見つかりました:https://github.com/facebook/tornado/blob/4b346bdde80c1e677ca0e235e04654f8d64b365c/tornado/httpserver.py#L258
は、それがGET、HEADのためのリクエストボディを無視して、要求を削除するには正しいですか、ですこれは竜巻の作者によって作られた選択ですか?
http://stackoverflow.com/questions/978061/http-get-with-request-bodyおよびhttp://tech.groups.yahoo.com/group/rest-discuss/message/9962 – Bruno