fix: missing parameter in POST/PUT/PATCH HTTP requests (#7194)

<!-- Thank you for contributing to LangChain!

Replace this comment with:
  - Description: a description of the change, 
  - Issue: the issue # it fixes (if applicable),
  - Dependencies: any dependencies required for this change,
- Tag maintainer: for a quicker response, tag the relevant maintainer
(see below),
- Twitter handle: we announce bigger features on Twitter. If your PR
gets announced and you'd like a mention, we'll gladly shout you out!

If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
  2. an example notebook showing its use.

Maintainer responsibilities:
  - General / Misc / if you don't know who to tag: @baskaryan
  - DataLoaders / VectorStores / Retrievers: @rlancemartin, @eyurtsev
  - Models / Prompts: @hwchase17, @baskaryan
  - Memory: @hwchase17
  - Agents / Tools / Toolkits: @hinthornw
  - Tracing / Callbacks: @agola11
  - Async: @agola11

If no one reviews your PR within a few days, feel free to @-mention the
same people again.

See contribution guidelines for more information on how to write/run
tests, lint, etc:
https://github.com/hwchase17/langchain/blob/master/.github/CONTRIBUTING.md
 -->
@hinthornw

---------

Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
This commit is contained in:
Nir Gazit 2023-07-05 19:47:30 +03:00 committed by GitHub
parent 8410c6a747
commit 6666e422c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -73,7 +73,7 @@ class Requests(BaseModel):
self, url: str, data: Dict[str, Any], **kwargs: Any self, url: str, data: Dict[str, Any], **kwargs: Any
) -> AsyncGenerator[aiohttp.ClientResponse, None]: ) -> AsyncGenerator[aiohttp.ClientResponse, None]:
"""POST to the URL and return the text asynchronously.""" """POST to the URL and return the text asynchronously."""
async with self._arequest("POST", url, **kwargs) as response: async with self._arequest("POST", url, json=data, **kwargs) as response:
yield response yield response
@asynccontextmanager @asynccontextmanager
@ -81,7 +81,7 @@ class Requests(BaseModel):
self, url: str, data: Dict[str, Any], **kwargs: Any self, url: str, data: Dict[str, Any], **kwargs: Any
) -> AsyncGenerator[aiohttp.ClientResponse, None]: ) -> AsyncGenerator[aiohttp.ClientResponse, None]:
"""PATCH the URL and return the text asynchronously.""" """PATCH the URL and return the text asynchronously."""
async with self._arequest("PATCH", url, **kwargs) as response: async with self._arequest("PATCH", url, json=data, **kwargs) as response:
yield response yield response
@asynccontextmanager @asynccontextmanager
@ -89,7 +89,7 @@ class Requests(BaseModel):
self, url: str, data: Dict[str, Any], **kwargs: Any self, url: str, data: Dict[str, Any], **kwargs: Any
) -> AsyncGenerator[aiohttp.ClientResponse, None]: ) -> AsyncGenerator[aiohttp.ClientResponse, None]:
"""PUT the URL and return the text asynchronously.""" """PUT the URL and return the text asynchronously."""
async with self._arequest("PUT", url, **kwargs) as response: async with self._arequest("PUT", url, json=data, **kwargs) as response:
yield response yield response
@asynccontextmanager @asynccontextmanager
@ -147,17 +147,17 @@ class TextRequestsWrapper(BaseModel):
async def apost(self, url: str, data: Dict[str, Any], **kwargs: Any) -> str: async def apost(self, url: str, data: Dict[str, Any], **kwargs: Any) -> str:
"""POST to the URL and return the text asynchronously.""" """POST to the URL and return the text asynchronously."""
async with self.requests.apost(url, **kwargs) as response: async with self.requests.apost(url, data, **kwargs) as response:
return await response.text() return await response.text()
async def apatch(self, url: str, data: Dict[str, Any], **kwargs: Any) -> str: async def apatch(self, url: str, data: Dict[str, Any], **kwargs: Any) -> str:
"""PATCH the URL and return the text asynchronously.""" """PATCH the URL and return the text asynchronously."""
async with self.requests.apatch(url, **kwargs) as response: async with self.requests.apatch(url, data, **kwargs) as response:
return await response.text() return await response.text()
async def aput(self, url: str, data: Dict[str, Any], **kwargs: Any) -> str: async def aput(self, url: str, data: Dict[str, Any], **kwargs: Any) -> str:
"""PUT the URL and return the text asynchronously.""" """PUT the URL and return the text asynchronously."""
async with self.requests.aput(url, **kwargs) as response: async with self.requests.aput(url, data, **kwargs) as response:
return await response.text() return await response.text()
async def adelete(self, url: str, **kwargs: Any) -> str: async def adelete(self, url: str, **kwargs: Any) -> str: