def wrapped(*args, **kwargs): if authenticator: authenticator.authenticate() if query_string_schema: g.validated_args = get_query_string_params_or_400( schema=query_string_schema) if request_body_schema: g.validated_body = get_json_body_params_or_400( schema=request_body_schema) if headers_schema: g.validated_headers = get_header_params_or_400( schema=headers_schema) rv = f(*args, **kwargs) if not marshal_schema: return rv data, status_code, headers = _unpack_view_func_return_value(rv) schema = marshal_schema[status_code] # May raise KeyError. # The schema may be declared as None to bypass marshaling (e.g. for 204 responses). if schema is None: return make_response((data or '', status_code, headers)) marshaled = marshal(data=data, schema=schema) return response(data=marshaled, status_code=status_code, headers=headers)
def wrapped(*args, **kwargs): if authenticator: authenticator.authenticate() if query_string_schema: g.validated_args = get_query_string_params_or_400( schema=query_string_schema) if request_body_schema: g.validated_body = get_json_body_params_or_400( schema=request_body_schema) if headers_schema: g.validated_headers = get_header_params_or_400( schema=headers_schema) rv = f(*args, **kwargs) if marshal_schema: if isinstance(rv, tuple): data, status_code = rv[0], rv[1] else: data, status_code = rv, 200 try: schema = marshal_schema[status_code] except KeyError: raise if schema is None: # Allow for the schema to be declared as None, which allows # for status codes with no bodies (i.e. a 204 status code) return response(data=data, status_code=status_code) marshaled = marshal(data=data, schema=schema) return response(data=marshaled, status_code=status_code) else: return rv
def get_swagger(): swagger = self.swagger_generator.generate(registry=self, host=request.host) return response(data=swagger)