2013-04-29 33 views
8

tôi cố gắng sử dụng một phương pháp def patch(): trong webapp2.RequestHandler tôi để hỗ trợ cập nhật tài nguyên một phần, nhưng sau đó thấy rằng các phương pháp cho phép được đông lạnh trong webapp2.py:PATCH phương pháp xử lý trên Google AppEngine webapp2

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

Làm thế nào tôi có thể mở rộng webapp2.RequestHandler hoặc sửa đổi lớp WSGIApplication để cho phép phương thức HTTP PATCH khi được triển khai trên Google AppEngine?

+2

Như một giải pháp thay thế, bạn có thể triển khai 'X-HTTP-Phương thức ghi đè' như Google thực hiện cho API của riêng mình: http://googleappsdeveloper.blogspot.de/2012/03/making-patch-requests-from- app-engine.html –

Trả lời

10

Chỉ cần sử dụng một bản vá khỉ bằng cách thực hiện điều này trước khi tạo ra một WSGIApplication:

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

Có một hiện patch về vấn đề theo dõi webapp2 nhưng không ai đã nhặt nó lên.

Các vấn đề liên quan