in modular_api/web_service/response_processor.py [0:0]
def validate_request(command, req_params, method, user_meta):
if command['route']['method'] != method:
raise ModularApiBadRequestException(
f'The command {command["route"]["method"]} '
f'is not available by method {method}')
command_def_params = command['parameters']
required_params = [param for param in command_def_params if
param['required']]
all_param_names = [param['name'] for param in command_def_params]
if len(all_param_names) == len(req_params) or len(req_params) > len(
all_param_names):
if not set(all_param_names) == set(req_params):
wrong_parameters_specified_message = 'Wrong parameters specified'
_LOG.error(wrong_parameters_specified_message)
raise ModularApiBadRequestException(
wrong_parameters_specified_message
)
else:
required_params_names = [param['name'] for param in
required_params]
not_provided_params = set(required_params_names).difference(req_params)
if not_provided_params:
missed_params_error_message = \
f'Not all required parameters specified: ' \
f'{", ".join(not_provided_params)}'
_LOG.error(missed_params_error_message)
raise ModularApiBadRequestException(missed_params_error_message)
__check_user_allowed_values(
user_meta=user_meta,
requested_params=req_params
)
return req_params