[FIX] http.py: invalid request must return a status code 400
This commit is contained in:
parent
cd1eaabe11
commit
473fe9a331
|
@ -261,8 +261,8 @@ class WebRequest(object):
|
||||||
def _call_function(self, *args, **kwargs):
|
def _call_function(self, *args, **kwargs):
|
||||||
request = self
|
request = self
|
||||||
if self.endpoint.routing['type'] != self._request_type:
|
if self.endpoint.routing['type'] != self._request_type:
|
||||||
raise Exception("%s, %s: Function declared as capable of handling request of type '%s' but called with a request of type '%s'" \
|
raise werkzeug.exceptions.BadRequest("%s, %s: Function declared as capable of handling request of type '%s' but called with a request of type '%s'" %
|
||||||
% (self.endpoint.original, self.httprequest.path, self.endpoint.routing['type'], self._request_type))
|
(self.endpoint.original, self.httprequest.path, self.endpoint.routing['type'], self._request_type))
|
||||||
|
|
||||||
kwargs.update(self.endpoint.arguments)
|
kwargs.update(self.endpoint.arguments)
|
||||||
|
|
||||||
|
@ -463,7 +463,11 @@ class JsonRequest(WebRequest):
|
||||||
request = self.httprequest.stream.read()
|
request = self.httprequest.stream.read()
|
||||||
|
|
||||||
# Read POST content or POST Form Data named "request"
|
# Read POST content or POST Form Data named "request"
|
||||||
self.jsonrequest = simplejson.loads(request)
|
try:
|
||||||
|
self.jsonrequest = simplejson.loads(request)
|
||||||
|
except simplejson.JSONDecodeError:
|
||||||
|
raise werkzeug.exceptions.BadRequest('Invalid JSON data')
|
||||||
|
|
||||||
self.params = dict(self.jsonrequest.get("params", {}))
|
self.params = dict(self.jsonrequest.get("params", {}))
|
||||||
self.context = self.params.pop('context', dict(self.session.context))
|
self.context = self.params.pop('context', dict(self.session.context))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue