mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-08 07:34:55 -04:00
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
This commit is contained in:
parent
2e2d8cc2f9
commit
95a038c106
6 changed files with 43 additions and 38 deletions
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue