Avant l'appel de default_dispatcher, vérifiez le paramètre _method et réécrivez la valeur de request.method avec la méthode correspondante, préparez donc votre propre répartiteur et définissez-le avec la méthode app.router.set_dispatcher.
def dispatcher(router, request, response):
method = request.get('_method').upper()
if method in ['HEAD', 'OPTIONS', 'PUT', 'DELETE', 'TRACE']:
request.method = method
return router.default_dispatcher(request, response)
app = webapp2.WSGIApplication([
webapp2.Route('/foo', handler=FooHandler),
], debug=True)
app.router.set_dispatcher(dispatcher)
Recommended Posts