Skip to content

Commit 48aece2

Browse files
authored
Merge pull request #178 from marshmallow-code/set_status_headers_on_reponse_object
Restore set status and headers on response object
2 parents 598a7d7 + 6e61f9c commit 48aece2

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

flask_smorest/response.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ def wrapper(*args, **kwargs):
8080

8181
# If return value is a werkzeug BaseResponse, return it
8282
if isinstance(result_raw, BaseResponse):
83+
set_status_and_headers_in_response(
84+
result_raw, status, headers)
8385
return result_raw
8486

8587
# Dump result with schema if specified

tests/test_blueprint.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import marshmallow as ma
1010

11+
import flask
1112
from flask.views import MethodView
1213

1314
from flask_smorest import Api, Blueprint, Page
@@ -1118,14 +1119,14 @@ def test_blueprint_response_response_object(self, app, schemas):
11181119
# Schema is ignored when response object is returned
11191120
@blp.response(schemas.DocSchema, code=200)
11201121
def func_response():
1121-
return {}, 201, {'X-header': 'test'}
1122+
return flask.jsonify({"test": "test"}), 201, {'X-header': 'test'}
11221123

11231124
api.register_blueprint(blp)
11241125

11251126
response = client.get('/test/response')
11261127
assert response.status_code == 201
11271128
assert response.status == '201 CREATED'
1128-
assert response.json == {}
1129+
assert response.json == {"test": "test"}
11291130
assert response.headers['X-header'] == 'test'
11301131

11311132
@pytest.mark.parametrize('decorate', (True, False))

0 commit comments

Comments
 (0)