You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When you use the decorator wm.route on a function to register a new route, the WM implementation of the content_types_provided method can generate a KeyError if the request method is not in the wm methods dictionary.
For example, using the helloworld2 example included in the project, if you send a POST request on the root url: curl -X POST http://localhost:8000/
a KeyError is raised:
File "/Users/Ludo/prog/django/core/handlers/base.py", line 111, in get_response
response = callback(request, _callback_args, *_callback_kwargs)
File "/Users/Ludo/prog/django/webmachine/resource.py", line 646, in **call**
return self._process(request, _args, *_kwargs)
File "/Users/Ludo/prog/django/webmachine/resource.py", line 605, in _process
ctypes = [ct for (ct, func) in (self.content_types_provided(req, resp) or [])]
File "/Users/Ludo/prog/django/webmachine/route.py", line 208, in content_types_provided
fun = self.methods[req.method]
KeyError: 'POST'
I am not sure about a fix, but either checking earlier in resource.Resource._process for not allowed method or directly in the content_types_provided should be fine.
The text was updated successfully, but these errors were encountered:
When you use the decorator wm.route on a function to register a new route, the WM implementation of the content_types_provided method can generate a KeyError if the request method is not in the wm methods dictionary.
For example, using the helloworld2 example included in the project, if you send a POST request on the root url:
curl -X POST http://localhost:8000/
a KeyError is raised:
I am not sure about a fix, but either checking earlier in resource.Resource._process for not allowed method or directly in the content_types_provided should be fine.
The text was updated successfully, but these errors were encountered: