diff options
author | David Robertson <davidr@element.io> | 2022-04-08 13:06:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-08 13:06:51 +0100 |
commit | 95a038c1069de6c0507eb2c2d9a783c5033a70ec (patch) | |
tree | 782b33d85db7ef0b54e9e49a9d629b7675a52334 /synapse/http/matrixfederationclient.py | |
parent | Update the server notices user profile in room if changed. (#12115) (diff) | |
download | synapse-95a038c1069de6c0507eb2c2d9a783c5033a70ec.tar.xz |
Unify HTTP query parameter type hints (#12415)
* Pull out query param types to `synapse.http.types` * Use QueryParams everywhere * Simplify `encode_query_args` * Add annotation which would have caught #12410
Diffstat (limited to 'synapse/http/matrixfederationclient.py')
-rw-r--r-- | synapse/http/matrixfederationclient.py | 35 |
1 files changed, 13 insertions, 22 deletions
diff --git a/synapse/http/matrixfederationclient.py b/synapse/http/matrixfederationclient.py index 6b98d865f5..5097b3ca57 100644 --- a/synapse/http/matrixfederationclient.py +++ b/synapse/http/matrixfederationclient.py @@ -67,6 +67,7 @@ from synapse.http.client import ( read_body_with_max_size, ) from synapse.http.federation.matrix_federation_agent import MatrixFederationAgent +from synapse.http.types import QueryParams from synapse.logging import opentracing from synapse.logging.context import make_deferred_yieldable, run_in_background from synapse.logging.opentracing import set_tag, start_active_span, tags @@ -98,10 +99,6 @@ MAXINT = sys.maxsize _next_id = 1 - -QueryArgs = Dict[str, Union[str, List[str]]] - - T = TypeVar("T") @@ -144,7 +141,7 @@ class MatrixFederationRequest: """A callback to generate the JSON. """ - query: Optional[dict] = None + query: Optional[QueryParams] = None """Query arguments. """ @@ -165,10 +162,7 @@ class MatrixFederationRequest: destination_bytes = self.destination.encode("ascii") path_bytes = self.path.encode("ascii") - if self.query: - query_bytes = encode_query_args(self.query) - else: - query_bytes = b"" + query_bytes = encode_query_args(self.query) # The object is frozen so we can pre-compute this. uri = urllib.parse.urlunparse( @@ -485,10 +479,7 @@ class MatrixFederationHttpClient: method_bytes = request.method.encode("ascii") destination_bytes = request.destination.encode("ascii") path_bytes = request.path.encode("ascii") - if request.query: - query_bytes = encode_query_args(request.query) - else: - query_bytes = b"" + query_bytes = encode_query_args(request.query) scope = start_active_span( "outgoing-federation-request", @@ -746,7 +737,7 @@ class MatrixFederationHttpClient: self, destination: str, path: str, - args: Optional[QueryArgs] = None, + args: Optional[QueryParams] = None, data: Optional[JsonDict] = None, json_data_callback: Optional[Callable[[], JsonDict]] = None, long_retries: bool = False, @@ -764,7 +755,7 @@ class MatrixFederationHttpClient: self, destination: str, path: str, - args: Optional[QueryArgs] = None, + args: Optional[QueryParams] = None, data: Optional[JsonDict] = None, json_data_callback: Optional[Callable[[], JsonDict]] = None, long_retries: bool = False, @@ -781,7 +772,7 @@ class MatrixFederationHttpClient: self, destination: str, path: str, - args: Optional[QueryArgs] = None, + args: Optional[QueryParams] = None, data: Optional[JsonDict] = None, json_data_callback: Optional[Callable[[], JsonDict]] = None, long_retries: bool = False, @@ -891,7 +882,7 @@ class MatrixFederationHttpClient: long_retries: bool = False, timeout: Optional[int] = None, ignore_backoff: bool = False, - args: Optional[QueryArgs] = None, + args: Optional[QueryParams] = None, ) -> Union[JsonDict, list]: """Sends the specified json data using POST @@ -961,7 +952,7 @@ class MatrixFederationHttpClient: self, destination: str, path: str, - args: Optional[QueryArgs] = None, + args: Optional[QueryParams] = None, retry_on_dns_fail: bool = True, timeout: Optional[int] = None, ignore_backoff: bool = False, @@ -976,7 +967,7 @@ class MatrixFederationHttpClient: self, destination: str, path: str, - args: Optional[QueryArgs] = ..., + args: Optional[QueryParams] = ..., retry_on_dns_fail: bool = ..., timeout: Optional[int] = ..., ignore_backoff: bool = ..., @@ -990,7 +981,7 @@ class MatrixFederationHttpClient: self, destination: str, path: str, - args: Optional[QueryArgs] = None, + args: Optional[QueryParams] = None, retry_on_dns_fail: bool = True, timeout: Optional[int] = None, ignore_backoff: bool = False, @@ -1085,7 +1076,7 @@ class MatrixFederationHttpClient: long_retries: bool = False, timeout: Optional[int] = None, ignore_backoff: bool = False, - args: Optional[QueryArgs] = None, + args: Optional[QueryParams] = None, ) -> Union[JsonDict, list]: """Send a DELETE request to the remote expecting some json response @@ -1150,7 +1141,7 @@ class MatrixFederationHttpClient: destination: str, path: str, output_stream, - args: Optional[QueryArgs] = None, + args: Optional[QueryParams] = None, retry_on_dns_fail: bool = True, max_size: Optional[int] = None, ignore_backoff: bool = False, |