diff --git a/datasette/default_magic_parameters.py b/datasette/default_magic_parameters.py index b788fee8..0f8f397e 100644 --- a/datasette/default_magic_parameters.py +++ b/datasette/default_magic_parameters.py @@ -8,7 +8,7 @@ import time def header(key, request): key = key.replace("_", "-").encode("utf-8") headers_dict = dict(request.scope["headers"]) - return headers_dict[key].decode("utf-8") + return headers_dict.get(key, b"").decode("utf-8") def actor(key, request): diff --git a/tests/test_canned_queries.py b/tests/test_canned_queries.py index 2e064db1..c0219cb1 100644 --- a/tests/test_canned_queries.py +++ b/tests/test_canned_queries.py @@ -186,6 +186,7 @@ def magic_parameters_client(): [ ("_actor_id", "root"), ("_header_host", "localhost"), + ("_header_not_a_thing", ""), ("_cookie_foo", "bar"), ("_now_epoch", r"^\d+$"), ("_now_date_utc", r"^\d{4}-\d{2}-\d{2}$"),