def wrapper(*args, **kwargs): resp = f(*args, **kwargs) if isinstance(resp, tuple): data, code, headers = unpack(resp) return (self.wrap_response_with_data(data, code), code, headers) else: return self.wrap_response_with_data(resp)
def cache_func(*args, **kwargs): resp, code, headers = unpack(view(*args, **kwargs)) now = datetime.datetime.now() headers['Last-Modified'] = format_date_time(time.mktime(now.timetuple())) failure = code - 200 >= 100 # this is not a successful answer do_not_cache = getattr(g, 'DONOTCACHE', False) if expires is None or failure or do_not_cache: headers['Cache-Control'] = 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0' else: headers['Cache-Control'] = 'private, max-age={}'.format(expires) return resp, code, headers
def dump_wrapper(*args, **kwargs): # pylint: disable=missing-docstring response = func(*args, **kwargs) extra_headers = None if response is None: if model is not None: raise ValueError( "Response cannot not be None with HTTP status %d" % code) return flask.Response(status=code) elif isinstance(response, flask.Response) or model is None: return response elif isinstance(response, tuple): response, _code, extra_headers = unpack(response) else: _code = code if HTTPStatus(_code) is code: response = model.dump(response).data return response, _code, extra_headers
def test_single_value(self): data, code, headers = utils.unpack('test') assert data == 'test' assert code == 200 assert headers == {}
def test_too_many_values(self): with pytest.raises(ValueError): utils.unpack((None, None, None, None))
def test_value_headers_default_code(self): data, code, headers = utils.unpack(('test', None, {'Header': 'value'})) assert data == 'test' assert code == 200 assert headers == {'Header': 'value'}
def test_value_code_headers(self): data, code, headers = utils.unpack(('test', 201, {'Header': 'value'})) assert data == 'test' assert code == 201 assert headers == {'Header': 'value'}
def test_value_code(self): data, code, headers = utils.unpack(('test', 201)) assert data == 'test' assert code == 201 assert headers == {}
def test_single_value_with_default_code(self): data, code, headers = utils.unpack('test', 500) assert data == 'test' assert code == 500 assert headers == {}
def test_single_value(self): data, code, headers = utils.unpack("test") assert data == "test" assert code == 200 assert headers == {}
def test_value_headers_default_code(self): data, code, headers = utils.unpack(("test", None, {"Header": "value"})) assert data == "test" assert code == 200 assert headers == {"Header": "value"}
def test_value_code_headers(self): data, code, headers = utils.unpack(("test", 201, {"Header": "value"})) assert data == "test" assert code == 201 assert headers == {"Header": "value"}