36
36
def _parse_request_params(self, req, params):
39
# Parameters are expected to be in request body only
41
des_body = self._deserialize(req.body,
42
req.best_match_content_type())
43
data = des_body and des_body.get(self._resource_name, None)
45
msg = ("Failed to parse request. Resource: " +
46
self._resource_name + " not found in request body")
47
for line in msg.split('\n'):
49
raise exc.HTTPBadRequest(msg)
38
51
for param in params:
39
52
param_name = param['param-name']
41
# Parameters are expected to be in request body only
43
des_body = self._deserialize(req.body,
44
req.best_match_content_type())
45
data = des_body and des_body.get(self._resource_name, None)
47
msg = ("Failed to parse request. Resource: " +
48
self._resource_name + " not found in request body")
49
for line in msg.split('\n'):
51
raise exc.HTTPBadRequest(msg)
52
param_value = data.get(param_name, None)
53
param_value = data.get(param_name, None)
54
54
# If the parameter wasn't found and it was required, return 400
55
if not param_value and param['required']:
55
if param_value is None and param['required']:
56
56
msg = ("Failed to parse request. " +
57
57
"Parameter: " + param_name + " not specified")
58
58
for line in msg.split('\n'):
60
60
raise exc.HTTPBadRequest(msg)
61
61
results[param_name] = param_value or param.get('default-value')