Merge branch 'develop' into rav/pass_site_to_make_request

This commit is contained in:
Richard van der Hoff 2020-11-16 15:22:40 +00:00 committed by GitHub
commit bebfb9a97b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
89 changed files with 147 additions and 120 deletions

View file

@ -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
@ -152,6 +152,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
@ -172,6 +175,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]
"""
@ -227,6 +232,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