diff --git a/tests/server.py b/tests/server.py
index 3dd2cfc072..ef03109a6c 100644
--- a/tests/server.py
+++ b/tests/server.py
@@ -2,7 +2,7 @@ import json
import logging
from collections import deque
from io import SEEK_END, BytesIO
-from typing import Callable
+from typing import Callable, Iterable, Optional, Tuple, Union
import attr
from typing_extensions import Deque
@@ -139,6 +139,9 @@ def make_request(
shorthand=True,
federation_auth_origin=None,
content_is_form=False,
+ custom_headers: Optional[
+ Iterable[Tuple[Union[bytes, str], Union[bytes, str]]]
+ ] = None,
):
"""
Make a web request using the given method and path, feed it the
@@ -157,6 +160,8 @@ def make_request(
content_is_form: Whether the content is URL encoded form data. Adds the
'Content-Type': 'application/x-www-form-urlencoded' header.
+ custom_headers: (name, value) pairs to add as request headers
+
Returns:
Tuple[synapse.http.site.SynapseRequest, channel]
"""
@@ -211,6 +216,10 @@ def make_request(
# Assume the body is JSON
req.requestHeaders.addRawHeader(b"Content-Type", b"application/json")
+ if custom_headers:
+ for k, v in custom_headers:
+ req.requestHeaders.addRawHeader(k, v)
+
req.requestReceived(method, path, b"1.1")
return req, channel
|