You've already forked DataMate
feature: add external pdf extract operator by using mineru (#36)
* feature: add UnstructuredFormatter * feature: add UnstructuredFormatter in db * feature: add unstructured[docx]==0.18.15 * feature: support doc * feature: add mineru * feature: add external pdf extract operator by using mineru * feature: mineru docker install bugfix --------- Co-authored-by: Startalker <438747480@qq.com>
This commit is contained in:
53
runtime/python-executor/datamate/common/utils/rest_client.py
Normal file
53
runtime/python-executor/datamate/common/utils/rest_client.py
Normal file
@@ -0,0 +1,53 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import requests
|
||||
from typing import Optional, Dict, Any
|
||||
|
||||
from starlette.responses import JSONResponse
|
||||
|
||||
|
||||
def http_request(method: str, url: str, data: Optional[Dict[str, Any]] = None):
|
||||
"""
|
||||
通用HTTP请求方法
|
||||
|
||||
Args:
|
||||
method: 请求方法 ('GET', 'POST', 'PUT', 'DELETE', 'PATCH')
|
||||
url: 请求URL
|
||||
data: 请求数据(JSON格式)
|
||||
|
||||
Returns: 格式化响应体
|
||||
|
||||
Raises:
|
||||
requests.exceptions.RequestException: 请求异常
|
||||
ValueError: 响应状态码错误
|
||||
"""
|
||||
success_codes = [200, 201, 202, 204]
|
||||
|
||||
# 设置默认请求头
|
||||
headers = {"Content-Type": "application/json"}
|
||||
|
||||
method = method.upper()
|
||||
|
||||
try:
|
||||
# 准备请求参数
|
||||
request_kwargs = {"url": url, "headers": headers}
|
||||
|
||||
# 根据请求方法添加数据
|
||||
if data is not None:
|
||||
if method in ["POST", "PUT", "DELETE"]:
|
||||
request_kwargs["json"] = data
|
||||
elif method == "GET":
|
||||
request_kwargs["params"] = data
|
||||
|
||||
# 发送请求
|
||||
response = requests.request(method, **request_kwargs)
|
||||
|
||||
# 检查响应状态码
|
||||
if response.status_code not in success_codes:
|
||||
raise ValueError(
|
||||
f"Request failed! Status code: {response.status_code}, "
|
||||
f"content: {response.text}, "
|
||||
f"URL: {url}"
|
||||
)
|
||||
return response
|
||||
except requests.exceptions.RequestException as e:
|
||||
raise requests.exceptions.RequestException(f"Request exception: {str(e)}")
|
||||
Reference in New Issue
Block a user