MCPcopy Index your code
hub / github.com/hugapi/hug / validate

Method validate

hug/interface.py:263–291  ·  view source on GitHub ↗

Runs all set type transformers / validators against the provided input parameters and returns any errors

(self, input_parameters, context)

Source from the content-addressed store, hash-verified

261 self._outputs = outputs # pragma: no cover - generally re-implemented by sub classes
262
263 def validate(self, input_parameters, context):
264 """Runs all set type transformers / validators against the provided input parameters and returns any errors"""
265 errors = {}
266
267 for key, type_handler in self.input_transformations.items():
268 if self.raise_on_invalid:
269 if key in input_parameters:
270 input_parameters[key] = self.initialize_handler(
271 type_handler, input_parameters[key], context=context
272 )
273 else:
274 try:
275 if key in input_parameters:
276 input_parameters[key] = self.initialize_handler(
277 type_handler, input_parameters[key], context=context
278 )
279 except InvalidTypeData as error:
280 errors[key] = error.reasons or str(error)
281 except Exception as error:
282 if hasattr(error, "args") and error.args:
283 errors[key] = error.args[0]
284 else:
285 errors[key] = str(error)
286 for require in self.required:
287 if not require in input_parameters:
288 errors[require] = "Required parameter '{}' not supplied".format(require)
289 if not errors and getattr(self, "validate_function", False):
290 errors = self.validate_function(input_parameters)
291 return errors
292
293 def check_requirements(self, request=None, response=None, context=None):
294 """Checks to see if all requirements set pass

Callers 2

__call__Method · 0.45
__call__Method · 0.45

Calls 1

initialize_handlerMethod · 0.95

Tested by

no test coverage detected