From 4efe06e4409133f9450b18ec23a4a6cffec8e050 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 22 Aug 2023 15:32:00 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(PostRequest.py):=20remove=20?= =?UTF-8?q?redundant=20session=20creation=20and=20move=20it=20to=20the=20c?= =?UTF-8?q?alling=20function=20to=20improve=20efficiency=20and=20reusabili?= =?UTF-8?q?ty=20=E2=9C=A8=20feat(PostRequest.py):=20add=20support=20for=20?= =?UTF-8?q?processing=20multiple=20documents=20in=20a=20single=20request?= =?UTF-8?q?=20to=20improve=20performance=20and=20reduce=20network=20overhe?= =?UTF-8?q?ad?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/utilities/PostRequest.py | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/backend/langflow/components/utilities/PostRequest.py b/src/backend/langflow/components/utilities/PostRequest.py index 2f0ab2053..b32c12488 100644 --- a/src/backend/langflow/components/utilities/PostRequest.py +++ b/src/backend/langflow/components/utilities/PostRequest.py @@ -23,29 +23,27 @@ class PostRequest(CustomComponent): def post_document( self, + session: requests.Session, document: Document, url: str, headers: Optional[dict] = None, ) -> Document: try: - with requests.Session() as session: - response = session.post( - url, headers=headers, data=document.page_content - ) - try: - response_json = response.json() - result = orjson_dumps(response_json, indent_2=False) - except Exception: - result = response.text - self.repr_value = result - return Document( - page_content=result, - metadata={ - "source": url, - "headers": headers, - "status_code": response, - }, - ) + response = session.post(url, headers=headers, data=document.page_content) + try: + response_json = response.json() + result = orjson_dumps(response_json, indent_2=False) + except Exception: + result = response.text + self.repr_value = result + return Document( + page_content=result, + metadata={ + "source": url, + "headers": headers, + "status_code": response, + }, + ) except Exception as exc: return Document( page_content=str(exc), @@ -67,6 +65,10 @@ class PostRequest(CustomComponent): if not isinstance(document, list): document = [document] - documents = [self.post_document(doc, url, headers) for doc in document] - self.repr_value = documents + + with requests.Session() as session: + documents = [ + self.post_document(session, doc, url, headers) for doc in document + ] + self.repr_value = documents return documents