Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PATCH method handler on Google AppEngine WebApp2

I tried to use a def patch(): method in my webapp2.RequestHandler to support partial resource updates, but then saw that the allowed methods are frozen in webapp2.py:

allowed_methods = frozenset(('GET', 'POST', 'HEAD', 'OPTIONS', 'PUT',
                             'DELETE', 'TRACE'))

How can I extend webapp2.RequestHandler or modify the WSGIApplication class to allow the PATCH HTTP method when deployed on Google AppEngine?

like image 655
Petrus Theron Avatar asked Apr 29 '13 13:04

Petrus Theron


1 Answers

Just use a monkey patch by performing this before creating a WSGIApplication:

allowed_methods = webapp2.WSGIApplication.allowed_methods
new_allowed_methods = allowed_methods.union(('PATCH',))
webapp2.WSGIApplication.allowed_methods = new_allowed_methods

There is a current patch on the webapp2 issue tracker but no one has picked it up.

like image 68
bossylobster Avatar answered Oct 21 '22 19:10

bossylobster