mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
fix(http): close helper responses consistently
This commit is contained in:
+67
-55
@@ -206,16 +206,18 @@ class RequestUtils:
|
|||||||
:return: 响应的内容,若发生RequestException则返回None
|
:return: 响应的内容,若发生RequestException则返回None
|
||||||
"""
|
"""
|
||||||
response = self.request(method="get", url=url, params=params, **kwargs)
|
response = self.request(method="get", url=url, params=params, **kwargs)
|
||||||
if response:
|
try:
|
||||||
try:
|
if response:
|
||||||
content = str(response.content, "utf-8")
|
try:
|
||||||
return content
|
content = str(response.content, "utf-8")
|
||||||
except Exception as e:
|
return content
|
||||||
logger.debug(f"处理响应内容失败: {e}")
|
except Exception as e:
|
||||||
return None
|
logger.debug(f"处理响应内容失败: {e}")
|
||||||
finally:
|
return None
|
||||||
|
return None
|
||||||
|
finally:
|
||||||
|
if response is not None:
|
||||||
response.close()
|
response.close()
|
||||||
return None
|
|
||||||
|
|
||||||
def post(self, url: str, data: Any = None, json: dict = None, **kwargs) -> Optional[Response]:
|
def post(self, url: str, data: Any = None, json: dict = None, **kwargs) -> Optional[Response]:
|
||||||
"""
|
"""
|
||||||
@@ -382,16 +384,18 @@ class RequestUtils:
|
|||||||
:return: JSON数据,若发生异常则返回None
|
:return: JSON数据,若发生异常则返回None
|
||||||
"""
|
"""
|
||||||
response = self.request(method="get", url=url, params=params, **kwargs)
|
response = self.request(method="get", url=url, params=params, **kwargs)
|
||||||
if response:
|
try:
|
||||||
try:
|
if response:
|
||||||
data = response.json()
|
try:
|
||||||
return data
|
data = response.json()
|
||||||
except Exception as e:
|
return data
|
||||||
logger.debug(f"解析JSON失败: {e}")
|
except Exception as e:
|
||||||
return None
|
logger.debug(f"解析JSON失败: {e}")
|
||||||
finally:
|
return None
|
||||||
|
return None
|
||||||
|
finally:
|
||||||
|
if response is not None:
|
||||||
response.close()
|
response.close()
|
||||||
return None
|
|
||||||
|
|
||||||
def post_json(self, url: str, data: Any = None, json: dict = None, **kwargs) -> Optional[dict]:
|
def post_json(self, url: str, data: Any = None, json: dict = None, **kwargs) -> Optional[dict]:
|
||||||
"""
|
"""
|
||||||
@@ -405,16 +409,18 @@ class RequestUtils:
|
|||||||
if json is None:
|
if json is None:
|
||||||
json = {}
|
json = {}
|
||||||
response = self.request(method="post", url=url, data=data, json=json, **kwargs)
|
response = self.request(method="post", url=url, data=data, json=json, **kwargs)
|
||||||
if response:
|
try:
|
||||||
try:
|
if response:
|
||||||
data = response.json()
|
try:
|
||||||
return data
|
data = response.json()
|
||||||
except Exception as e:
|
return data
|
||||||
logger.debug(f"解析JSON失败: {e}")
|
except Exception as e:
|
||||||
return None
|
logger.debug(f"解析JSON失败: {e}")
|
||||||
finally:
|
return None
|
||||||
|
return None
|
||||||
|
finally:
|
||||||
|
if response is not None:
|
||||||
response.close()
|
response.close()
|
||||||
return None
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def parse_cache_control(header: str) -> Tuple[str, Optional[int]]:
|
def parse_cache_control(header: str) -> Tuple[str, Optional[int]]:
|
||||||
@@ -711,16 +717,18 @@ class AsyncRequestUtils:
|
|||||||
:return: 响应的内容,若发生RequestError则返回None
|
:return: 响应的内容,若发生RequestError则返回None
|
||||||
"""
|
"""
|
||||||
response = await self.request(method="get", url=url, params=params, **kwargs)
|
response = await self.request(method="get", url=url, params=params, **kwargs)
|
||||||
if response:
|
try:
|
||||||
try:
|
if response:
|
||||||
content = response.text
|
try:
|
||||||
return content
|
content = response.text
|
||||||
except Exception as e:
|
return content
|
||||||
logger.debug(f"处理异步响应内容失败: {e}")
|
except Exception as e:
|
||||||
return None
|
logger.debug(f"处理异步响应内容失败: {e}")
|
||||||
finally:
|
return None
|
||||||
await response.aclose() # 确保连接被关闭
|
return None
|
||||||
return None
|
finally:
|
||||||
|
if response is not None:
|
||||||
|
await response.aclose()
|
||||||
|
|
||||||
async def post(self, url: str, data: Any = None, json: dict = None, **kwargs) -> Optional[httpx.Response]:
|
async def post(self, url: str, data: Any = None, json: dict = None, **kwargs) -> Optional[httpx.Response]:
|
||||||
"""
|
"""
|
||||||
@@ -887,16 +895,18 @@ class AsyncRequestUtils:
|
|||||||
:return: JSON数据,若发生异常则返回None
|
:return: JSON数据,若发生异常则返回None
|
||||||
"""
|
"""
|
||||||
response = await self.request(method="get", url=url, params=params, **kwargs)
|
response = await self.request(method="get", url=url, params=params, **kwargs)
|
||||||
if response:
|
try:
|
||||||
try:
|
if response:
|
||||||
data = response.json()
|
try:
|
||||||
return data
|
data = response.json()
|
||||||
except Exception as e:
|
return data
|
||||||
logger.debug(f"解析异步JSON失败: {e}")
|
except Exception as e:
|
||||||
return None
|
logger.debug(f"解析异步JSON失败: {e}")
|
||||||
finally:
|
return None
|
||||||
|
return None
|
||||||
|
finally:
|
||||||
|
if response is not None:
|
||||||
await response.aclose()
|
await response.aclose()
|
||||||
return None
|
|
||||||
|
|
||||||
async def post_json(self, url: str, data: Any = None, json: dict = None, **kwargs) -> Optional[dict]:
|
async def post_json(self, url: str, data: Any = None, json: dict = None, **kwargs) -> Optional[dict]:
|
||||||
"""
|
"""
|
||||||
@@ -910,13 +920,15 @@ class AsyncRequestUtils:
|
|||||||
if json is None:
|
if json is None:
|
||||||
json = {}
|
json = {}
|
||||||
response = await self.request(method="post", url=url, data=data, json=json, **kwargs)
|
response = await self.request(method="post", url=url, data=data, json=json, **kwargs)
|
||||||
if response:
|
try:
|
||||||
try:
|
if response:
|
||||||
data = response.json()
|
try:
|
||||||
return data
|
data = response.json()
|
||||||
except Exception as e:
|
return data
|
||||||
logger.debug(f"解析异步JSON失败: {e}")
|
except Exception as e:
|
||||||
return None
|
logger.debug(f"解析异步JSON失败: {e}")
|
||||||
finally:
|
return None
|
||||||
|
return None
|
||||||
|
finally:
|
||||||
|
if response is not None:
|
||||||
await response.aclose()
|
await response.aclose()
|
||||||
return None
|
|
||||||
|
|||||||
Reference in New Issue
Block a user