mirror of
https://github.com/matrix-org/pantalaimon.git
synced 2025-03-12 01:06:41 -04:00
daemon: Use pan's token to perform client syncs.
The clients need to use pan's sync token so the transaction ids in the sync response don't get lost since sending happens using pan's device and token.
This commit is contained in:
parent
7a2ee980ff
commit
17a20195c0
@ -199,7 +199,8 @@ class ProxyDaemon:
|
|||||||
self,
|
self,
|
||||||
request, # type: aiohttp.web.BaseRequest
|
request, # type: aiohttp.web.BaseRequest
|
||||||
params=None, # type: CIMultiDict
|
params=None, # type: CIMultiDict
|
||||||
session=None # type: aiohttp.ClientSession
|
session=None, # type: aiohttp.ClientSession
|
||||||
|
token=None # type: str
|
||||||
):
|
):
|
||||||
# type: (...) -> aiohttp.ClientResponse
|
# type: (...) -> aiohttp.ClientResponse
|
||||||
"""Forward the given request to our configured homeserver.
|
"""Forward the given request to our configured homeserver.
|
||||||
@ -210,7 +211,6 @@ class ProxyDaemon:
|
|||||||
session (aiohttp.ClientSession): The client session that should be
|
session (aiohttp.ClientSession): The client session that should be
|
||||||
used to forward the request.
|
used to forward the request.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if not session:
|
if not session:
|
||||||
if not self.default_session:
|
if not self.default_session:
|
||||||
self.default_session = ClientSession()
|
self.default_session = ClientSession()
|
||||||
@ -226,6 +226,12 @@ class ProxyDaemon:
|
|||||||
|
|
||||||
params = params or request.query
|
params = params or request.query
|
||||||
|
|
||||||
|
if token:
|
||||||
|
if "Authorization" in headers:
|
||||||
|
headers["Authorization"] = token
|
||||||
|
if "access_token" in params:
|
||||||
|
params["access_token"] = token
|
||||||
|
|
||||||
data = await request.text()
|
data = await request.text()
|
||||||
|
|
||||||
return await session.request(
|
return await session.request(
|
||||||
@ -388,7 +394,6 @@ class ProxyDaemon:
|
|||||||
return self._unknown_token
|
return self._unknown_token
|
||||||
|
|
||||||
sync_filter = request.query.get("filter", None)
|
sync_filter = request.query.get("filter", None)
|
||||||
# timeout = request.query.get("timeout", None)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
sync_filter = json.loads(sync_filter)
|
sync_filter = json.loads(sync_filter)
|
||||||
@ -411,7 +416,11 @@ class ProxyDaemon:
|
|||||||
query = CIMultiDict(request.query)
|
query = CIMultiDict(request.query)
|
||||||
query.pop("filter", None)
|
query.pop("filter", None)
|
||||||
|
|
||||||
response = await self.forward_request(request, query)
|
response = await self.forward_request(
|
||||||
|
request,
|
||||||
|
query,
|
||||||
|
token=client.access_token
|
||||||
|
)
|
||||||
|
|
||||||
if response.status == 200:
|
if response.status == 200:
|
||||||
json_response = await response.json()
|
json_response = await response.json()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user