def validate(self, request, response): try: server = self.spec.get_server(request.full_url_pattern) # don't process if server errors except OpenAPIMappingError as exc: return ResponseValidationResult([exc, ], None, None) operation_pattern = get_operation_pattern( server.default_url, request.full_url_pattern ) try: operation = self.spec.get_operation( operation_pattern, request.method) # don't process if operation errors except OpenAPIMappingError as exc: return ResponseValidationResult([exc, ], None, None) try: operation_response = operation.get_response( str(response.status_code)) # don't process if operation response errors except OpenAPIMappingError as exc: return ResponseValidationResult([exc, ], None, None) data, data_errors = self._get_data(response, operation_response) headers, headers_errors = self._get_headers( response, operation_response) errors = data_errors + headers_errors return ResponseValidationResult(errors, data, headers)
def validate(self, request): try: server = self.spec.get_server(request.full_url_pattern) # don't process if server errors except OpenAPIMappingError as exc: return RequestValidationResult([ exc, ], None, None) operation_pattern = get_operation_pattern(server.default_url, request.full_url_pattern) try: operation = self.spec.get_operation(operation_pattern, request.method) # don't process if operation errors except OpenAPIMappingError as exc: return RequestValidationResult([ exc, ], None, None) params, params_errors = self._get_parameters(request, operation) body, body_errors = self._get_body(request, operation) errors = params_errors + body_errors return RequestValidationResult(errors, body, params)
def validate(self, request): try: server = self.spec.get_server(request.full_url_pattern) # don't process if server errors except InvalidServer as exc: return RequestValidationResult([ exc, ], None, None) operation_pattern = get_operation_pattern(server.default_url, request.full_url_pattern) try: path = self.spec[operation_pattern] except InvalidPath as exc: return RequestValidationResult([ exc, ], None, None) try: operation = self.spec.get_operation(operation_pattern, request.method) # don't process if operation errors except InvalidOperation as exc: return RequestValidationResult([ exc, ], None, None) params, params_errors = self._get_parameters( request, chain(iteritems(operation.parameters), iteritems(path.parameters))) body, body_errors = self._get_body(request, operation) errors = params_errors + body_errors return RequestValidationResult(errors, body, params)