fix webhooks get response
This commit is contained in:
parent
144ab7d712
commit
1dabffeec9
@ -230,9 +230,10 @@ async def fake_list_user_webhooks(request: Request, _=host_required([Hosts.CLIEN
|
|||||||
|
|
||||||
upstream_response = await call_official(request, request.url.path.lstrip("/"))
|
upstream_response = await call_official(request, request.url.path.lstrip("/"))
|
||||||
|
|
||||||
|
upstream_response.status_code = 200
|
||||||
data_override = [{"url": "https://webhooks.are.not.supported.because.plex.sends.them/not/your/server"}]
|
data_override = [{"url": "https://webhooks.are.not.supported.because.plex.sends.them/not/your/server"}]
|
||||||
|
|
||||||
return await return_edited_response(upstream_response, data_override)
|
return await return_edited_response(upstream_response, data_override, ignore_official_data=True)
|
||||||
|
|
||||||
|
|
||||||
@app.get("/favicon.ico")
|
@app.get("/favicon.ico")
|
||||||
|
8
utils.py
8
utils.py
@ -65,7 +65,8 @@ async def call_official(request: Request, path: str) -> httpx.Response:
|
|||||||
|
|
||||||
async def return_edited_response(
|
async def return_edited_response(
|
||||||
response: httpx.Response,
|
response: httpx.Response,
|
||||||
new_content: dict | bytes | list | str | None = None
|
new_content: dict | bytes | list | str | None = None,
|
||||||
|
ignore_official_data: bool = False
|
||||||
) -> Response:
|
) -> Response:
|
||||||
"""
|
"""
|
||||||
Return possibly modified response.
|
Return possibly modified response.
|
||||||
@ -82,8 +83,9 @@ async def return_edited_response(
|
|||||||
data = response.json()
|
data = response.json()
|
||||||
|
|
||||||
if isinstance(new_content, dict): # allow overrides
|
if isinstance(new_content, dict): # allow overrides
|
||||||
data = {**data, **new_content}
|
data = new_content if ignore_official_data else {**data, **new_content}
|
||||||
if isinstance(data, list) and isinstance(new_content, list):
|
|
||||||
|
if (isinstance(data, list) or ignore_official_data) and isinstance(new_content, list):
|
||||||
data = new_content # replace entire list
|
data = new_content # replace entire list
|
||||||
|
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user