aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--paste/__init__.py4
-rw-r--r--tests/middleware/test_if_none_match.py3
2 files changed, 5 insertions, 2 deletions
diff --git a/paste/__init__.py b/paste/__init__.py
index c769997..1948273 100644
--- a/paste/__init__.py
+++ b/paste/__init__.py
@@ -141,7 +141,7 @@ def if_none_match(app: App, environ: Env, start_response: StartResponse) -> Resp
return app(environ, start_response)
if if_none_match == "*":
- start_response("304 Not Modified", [("ETag", etag)])
+ start_response("304 Not Modified", [("ETag", f'"{etag}"')])
return []
etags = if_none_match.split(",")
@@ -151,7 +151,7 @@ def if_none_match(app: App, environ: Env, start_response: StartResponse) -> Resp
return simple_response(start_response, "400 Bad Request")
etags = {e[1:-1] for e in etags}
if isinstance(etag, str) and etag in etags:
- start_response("304 Not Modified", [("ETag", etag)])
+ start_response("304 Not Modified", [("ETag", f'"{etag}"')])
return []
return app(environ, start_response)
diff --git a/tests/middleware/test_if_none_match.py b/tests/middleware/test_if_none_match.py
index 0a0cdf8..33d0d3b 100644
--- a/tests/middleware/test_if_none_match.py
+++ b/tests/middleware/test_if_none_match.py
@@ -56,6 +56,7 @@ def test_etag_matches_if_none_match_header(app, value):
response = call_app(app, environ)
assert response.data == b""
assert response.status == "304 Not Modified"
+ assert ("ETag", f'"{ETAG}"') in response.headers
@pytest.mark.parametrize(
@@ -74,6 +75,7 @@ def test_etag_matches_if_none_match_header_list(app, value):
response = call_app(app, environ)
assert response.data == b""
assert response.status == "304 Not Modified"
+ assert ("ETag", f'"{ETAG}"') in response.headers
def test_etag_matches_if_none_match_header_star(app):
@@ -81,6 +83,7 @@ def test_etag_matches_if_none_match_header_star(app):
response = call_app(app, environ)
assert response.data == b""
assert response.status == "304 Not Modified"
+ assert ("ETag", f'"{ETAG}"') in response.headers
def test_missing_etag_does_not_match_if_none_match_header_star():