mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-06 16:07:01 +08:00
fix(http): close helper responses consistently
This commit is contained in:
+24
-12
@@ -206,6 +206,7 @@ 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)
|
||||||
|
try:
|
||||||
if response:
|
if response:
|
||||||
try:
|
try:
|
||||||
content = str(response.content, "utf-8")
|
content = str(response.content, "utf-8")
|
||||||
@@ -213,9 +214,10 @@ class RequestUtils:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"处理响应内容失败: {e}")
|
logger.debug(f"处理响应内容失败: {e}")
|
||||||
return None
|
return None
|
||||||
finally:
|
|
||||||
response.close()
|
|
||||||
return None
|
return None
|
||||||
|
finally:
|
||||||
|
if response is not None:
|
||||||
|
response.close()
|
||||||
|
|
||||||
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,6 +384,7 @@ 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)
|
||||||
|
try:
|
||||||
if response:
|
if response:
|
||||||
try:
|
try:
|
||||||
data = response.json()
|
data = response.json()
|
||||||
@@ -389,9 +392,10 @@ class RequestUtils:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"解析JSON失败: {e}")
|
logger.debug(f"解析JSON失败: {e}")
|
||||||
return None
|
return None
|
||||||
finally:
|
|
||||||
response.close()
|
|
||||||
return None
|
return None
|
||||||
|
finally:
|
||||||
|
if response is not None:
|
||||||
|
response.close()
|
||||||
|
|
||||||
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,6 +409,7 @@ 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)
|
||||||
|
try:
|
||||||
if response:
|
if response:
|
||||||
try:
|
try:
|
||||||
data = response.json()
|
data = response.json()
|
||||||
@@ -412,9 +417,10 @@ class RequestUtils:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"解析JSON失败: {e}")
|
logger.debug(f"解析JSON失败: {e}")
|
||||||
return None
|
return None
|
||||||
finally:
|
|
||||||
response.close()
|
|
||||||
return None
|
return None
|
||||||
|
finally:
|
||||||
|
if response is not None:
|
||||||
|
response.close()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def parse_cache_control(header: str) -> Tuple[str, Optional[int]]:
|
def parse_cache_control(header: str) -> Tuple[str, Optional[int]]:
|
||||||
@@ -711,6 +717,7 @@ 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)
|
||||||
|
try:
|
||||||
if response:
|
if response:
|
||||||
try:
|
try:
|
||||||
content = response.text
|
content = response.text
|
||||||
@@ -718,9 +725,10 @@ class AsyncRequestUtils:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"处理异步响应内容失败: {e}")
|
logger.debug(f"处理异步响应内容失败: {e}")
|
||||||
return None
|
return None
|
||||||
finally:
|
|
||||||
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,6 +895,7 @@ 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)
|
||||||
|
try:
|
||||||
if response:
|
if response:
|
||||||
try:
|
try:
|
||||||
data = response.json()
|
data = response.json()
|
||||||
@@ -894,9 +903,10 @@ class AsyncRequestUtils:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"解析异步JSON失败: {e}")
|
logger.debug(f"解析异步JSON失败: {e}")
|
||||||
return None
|
return None
|
||||||
finally:
|
|
||||||
await response.aclose()
|
|
||||||
return None
|
return None
|
||||||
|
finally:
|
||||||
|
if response is not None:
|
||||||
|
await response.aclose()
|
||||||
|
|
||||||
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,6 +920,7 @@ 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)
|
||||||
|
try:
|
||||||
if response:
|
if response:
|
||||||
try:
|
try:
|
||||||
data = response.json()
|
data = response.json()
|
||||||
@@ -917,6 +928,7 @@ class AsyncRequestUtils:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"解析异步JSON失败: {e}")
|
logger.debug(f"解析异步JSON失败: {e}")
|
||||||
return None
|
return None
|
||||||
finally:
|
|
||||||
await response.aclose()
|
|
||||||
return None
|
return None
|
||||||
|
finally:
|
||||||
|
if response is not None:
|
||||||
|
await response.aclose()
|
||||||
|
|||||||
Reference in New Issue
Block a user