✨ feat(GetRequest.py): add GetRequest component to make a GET request to a given URL
✨ feat(PostRequest.py): add PostRequest component to make a POST request to a given URL
This commit is contained in:
parent
22072084f8
commit
fb028e55b8
2 changed files with 60 additions and 0 deletions
29
src/backend/langflow/components/utilities/GetRequest.py
Normal file
29
src/backend/langflow/components/utilities/GetRequest.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
from langflow import CustomComponent
|
||||
from langchain.schema import Document
|
||||
from langflow.database.models.base import orjson_dumps
|
||||
import requests
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class GetRequest(CustomComponent):
|
||||
display_name: str = "Get Request"
|
||||
description: str = "Make a GET request to the given URL"
|
||||
output_types: list[str] = ["Document"]
|
||||
beta = True
|
||||
field_config = {
|
||||
"url": {"display_name": "URL"},
|
||||
"headers": {"display_name": "Headers", "field_type": "code"},
|
||||
"code": {"show": False},
|
||||
}
|
||||
|
||||
def build(
|
||||
self,
|
||||
url: str,
|
||||
headers: Optional[dict] = None,
|
||||
) -> Document:
|
||||
if headers is None:
|
||||
headers = {}
|
||||
with requests.get(url, headers=headers) as result:
|
||||
result = result.json()
|
||||
self.repr_value = result
|
||||
return Document(page_content=orjson_dumps(result))
|
||||
31
src/backend/langflow/components/utilities/PostRequest.py
Normal file
31
src/backend/langflow/components/utilities/PostRequest.py
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
from langflow import CustomComponent
|
||||
from langchain.schema import Document
|
||||
from langflow.database.models.base import orjson_dumps
|
||||
import requests
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class PostRequest(CustomComponent):
|
||||
display_name: str = "Post Request"
|
||||
description: str = "Make a POST request to the given URL"
|
||||
output_types: list[str] = ["Document"]
|
||||
beta = True
|
||||
field_config = {
|
||||
"url": {"display_name": "URL"},
|
||||
"headers": {"display_name": "Headers", "field_type": "code"},
|
||||
"code": {"show": False},
|
||||
"document": {"display_name": "Document"},
|
||||
}
|
||||
|
||||
def build(
|
||||
self,
|
||||
document: Document,
|
||||
url: str,
|
||||
headers: Optional[dict] = None,
|
||||
) -> Document:
|
||||
if headers is None:
|
||||
headers = {}
|
||||
with requests.post(url, headers=headers, json=document.page_content) as result:
|
||||
result = result.json()
|
||||
self.repr_value = result
|
||||
return Document(page_content=orjson_dumps(result))
|
||||
Loading…
Add table
Add a link
Reference in a new issue