summaryrefslogtreecommitdiff
path: root/redis/asyncio/connection.py
diff options
context:
space:
mode:
Diffstat (limited to 'redis/asyncio/connection.py')
-rw-r--r--redis/asyncio/connection.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/redis/asyncio/connection.py b/redis/asyncio/connection.py
index d9c9583..bc872ff 100644
--- a/redis/asyncio/connection.py
+++ b/redis/asyncio/connection.py
@@ -485,15 +485,29 @@ class Connection:
self,
disable_decoding: bool = False,
timeout: Optional[float] = None,
+ push_request: Optional[bool] = False,
):
"""Read the response from a previously sent command"""
read_timeout = timeout if timeout is not None else self.socket_timeout
try:
- if read_timeout is not None:
+ if (
+ read_timeout is not None
+ and self.protocol == "3"
+ and not HIREDIS_AVAILABLE
+ ):
+ async with async_timeout(read_timeout):
+ response = await self._parser.read_response(
+ disable_decoding=disable_decoding, push_request=push_request
+ )
+ elif read_timeout is not None:
async with async_timeout(read_timeout):
response = await self._parser.read_response(
disable_decoding=disable_decoding
)
+ elif self.protocol == "3" and not HIREDIS_AVAILABLE:
+ response = await self._parser.read_response(
+ disable_decoding=disable_decoding, push_request=push_request
+ )
else:
response = await self._parser.read_response(
disable_decoding=disable_decoding