Use json_or_text helper for parsing webhook responses

This commit is contained in:
I. Ahmad 2022-05-30 17:48:36 +05:00 committed by GitHub
parent f24f34e3f1
commit f82ec46acf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 7 deletions

View File

@ -26,7 +26,6 @@ from __future__ import annotations
import logging
import asyncio
import json
import re
from urllib.parse import quote as urlquote
@ -44,7 +43,7 @@ from ..user import BaseUser, User
from ..flags import MessageFlags
from ..asset import Asset
from ..partial_emoji import PartialEmoji
from ..http import Route, handle_message_parameters, MultipartParameters, HTTPClient
from ..http import Route, handle_message_parameters, MultipartParameters, HTTPClient, json_or_text
from ..mixins import Hashable
from ..channel import TextChannel, PartialMessageable
from ..file import File
@ -182,9 +181,7 @@ class AsyncWebhookAdapter:
url,
response.status,
)
data = (await response.text(encoding='utf-8')) or None
if data and response.headers['Content-Type'] == 'application/json':
data = json.loads(data)
data = await json_or_text(response)
remaining = response.headers.get('X-Ratelimit-Remaining')
if remaining == '0' and response.status != 429:

View File

@ -178,8 +178,11 @@ class WebhookAdapter:
response.status = response.status_code # type: ignore
data = response.text or None
if data and response.headers['Content-Type'] == 'application/json':
data = json.loads(data)
try:
if data and response.headers['Content-Type'] == 'application/json':
data = json.loads(data)
except KeyError:
pass
remaining = response.headers.get('X-Ratelimit-Remaining')
if remaining == '0' and response.status_code != 429: