Skip to content

Commit

Permalink
community[patch]: Fix GenericRequestsWrapper _aget_resp_content must …
Browse files Browse the repository at this point in the history
…be async (langchain-ai#18065)

There are existing tests in
`libs/community/tests/unit_tests/tools/requests/test_tool.py`
  • Loading branch information
cbornet authored and gkorland committed Mar 30, 2024
1 parent 97b3d73 commit d60de0f
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions libs/community/langchain_community/utilities/requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,13 +137,13 @@ def _get_resp_content(self, response: Response) -> Union[str, Dict[str, Any]]:
else:
raise ValueError(f"Invalid return type: {self.response_content_type}")

def _aget_resp_content(
async def _aget_resp_content(
self, response: aiohttp.ClientResponse
) -> Union[str, Dict[str, Any]]:
if self.response_content_type == "text":
return response.text() # type: ignore[return-value]
return await response.text()
elif self.response_content_type == "json":
return response.json() # type: ignore[return-value]
return await response.json()
else:
raise ValueError(f"Invalid return type: {self.response_content_type}")

Expand Down Expand Up @@ -176,33 +176,33 @@ def delete(self, url: str, **kwargs: Any) -> Union[str, Dict[str, Any]]:
async def aget(self, url: str, **kwargs: Any) -> Union[str, Dict[str, Any]]:
"""GET the URL and return the text asynchronously."""
async with self.requests.aget(url, **kwargs) as response:
return await self._aget_resp_content(response) # type: ignore[misc]
return await self._aget_resp_content(response)

async def apost(
self, url: str, data: Dict[str, Any], **kwargs: Any
) -> Union[str, Dict[str, Any]]:
"""POST to the URL and return the text asynchronously."""
async with self.requests.apost(url, data, **kwargs) as response:
return await self._aget_resp_content(response) # type: ignore[misc]
return await self._aget_resp_content(response)

async def apatch(
self, url: str, data: Dict[str, Any], **kwargs: Any
) -> Union[str, Dict[str, Any]]:
"""PATCH the URL and return the text asynchronously."""
async with self.requests.apatch(url, data, **kwargs) as response:
return await self._aget_resp_content(response) # type: ignore[misc]
return await self._aget_resp_content(response)

async def aput(
self, url: str, data: Dict[str, Any], **kwargs: Any
) -> Union[str, Dict[str, Any]]:
"""PUT the URL and return the text asynchronously."""
async with self.requests.aput(url, data, **kwargs) as response:
return await self._aget_resp_content(response) # type: ignore[misc]
return await self._aget_resp_content(response)

async def adelete(self, url: str, **kwargs: Any) -> Union[str, Dict[str, Any]]:
"""DELETE the URL and return the text asynchronously."""
async with self.requests.adelete(url, **kwargs) as response:
return await self._aget_resp_content(response) # type: ignore[misc]
return await self._aget_resp_content(response)


class JsonRequestsWrapper(GenericRequestsWrapper):
Expand Down

0 comments on commit d60de0f

Please sign in to comment.