Überprüfen Sie vor dem Aufruf von default_dispatcher den Parameter _method und schreiben Sie den Wert von request.method in die entsprechende Methode um. Bereiten Sie also Ihren eigenen Dispatcher vor und legen Sie ihn mit der Methode app.router.set_dispatcher fest.
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