✨ 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