fiuai-sdk-python 0.4.2__tar.gz → 0.4.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/PKG-INFO +1 -1
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/pyproject.toml +1 -1
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/auth/header.py +3 -1
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/auth/helper.py +18 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/auth/type.py +2 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/client.py +2 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/context.py +2 -2
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/.gitignore +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/CHANGELOG.md +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/LICENSE +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/README.md +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/__init__.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/auth/__init__.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/bank.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/company.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/const.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/error.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/examples/fastapi_integration.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/item.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/perm.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/profile.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/resp.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/setup.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/type.py +0 -0
- {fiuai_sdk_python-0.4.2 → fiuai_sdk_python-0.4.3}/src/fiuai_sdk_python/util.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fiuai_sdk_python
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.3
|
|
4
4
|
Summary: FiuAI Python SDK - 企业级AI服务集成开发工具包
|
|
5
5
|
Project-URL: Homepage, https://github.com/fiuai/fiuai-sdk-python
|
|
6
6
|
Project-URL: Documentation, https://github.com/fiuai/fiuai-sdk-python#readme
|
|
@@ -31,6 +31,7 @@ def parse_auth_headers(headers: Dict[str, str]) -> Optional[AuthData]:
|
|
|
31
31
|
impersonation = headers.get("x-fiuai-impersonation", "")
|
|
32
32
|
unique_no = headers.get("x-fiuai-unique-no", "")
|
|
33
33
|
trace_id = headers.get("x-fiuai-trace-id", "")
|
|
34
|
+
client = headers.get("x-fiuai-client", "unknown")
|
|
34
35
|
|
|
35
36
|
# 验证必需字段
|
|
36
37
|
if not user_id:
|
|
@@ -57,7 +58,8 @@ def parse_auth_headers(headers: Dict[str, str]) -> Optional[AuthData]:
|
|
|
57
58
|
current_company=current_company[0],
|
|
58
59
|
impersonation=impersonation,
|
|
59
60
|
company_unique_no=unique_no,
|
|
60
|
-
trace_id=trace_id
|
|
61
|
+
trace_id=trace_id,
|
|
62
|
+
client=client
|
|
61
63
|
)
|
|
62
64
|
|
|
63
65
|
except Exception as e:
|
|
@@ -143,6 +143,24 @@ def get_impersonation(
|
|
|
143
143
|
return auth_data.impersonation
|
|
144
144
|
|
|
145
145
|
|
|
146
|
+
def get_current_client(
|
|
147
|
+
request: Union[Request, Dict[str, str]],
|
|
148
|
+
engine: Literal["fastapi", "dict"] = "fastapi"
|
|
149
|
+
) -> str:
|
|
150
|
+
"""
|
|
151
|
+
获取当前客户端标识
|
|
152
|
+
|
|
153
|
+
Args:
|
|
154
|
+
request: FastAPI Request 对象或包含认证数据的字典
|
|
155
|
+
engine: 请求引擎类型,默认为 "fastapi"
|
|
156
|
+
|
|
157
|
+
Returns:
|
|
158
|
+
str: 客户端标识
|
|
159
|
+
"""
|
|
160
|
+
auth_data = get_auth_data(request, engine)
|
|
161
|
+
return auth_data.client
|
|
162
|
+
|
|
163
|
+
|
|
146
164
|
def is_impersonating(
|
|
147
165
|
request: Union[Request, Dict[str, str]],
|
|
148
166
|
engine: Literal["fastapi", "dict"] = "fastapi"
|
|
@@ -16,6 +16,7 @@ class AuthData(BaseModel):
|
|
|
16
16
|
impersonation: str = Field(description="当前代表的租户ID", default="")
|
|
17
17
|
company_unique_no: str = Field(description="当前公司唯一编号,正常情况等于current_company")
|
|
18
18
|
trace_id: str = Field(description="追踪ID", default="")
|
|
19
|
+
client: str = Field(description="客户端标识", default="unknown")
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
|
|
@@ -30,6 +31,7 @@ class AuthHeader(BaseModel):
|
|
|
30
31
|
x_fiuai_impersonation: str = Field(alias="x-fiuai-impersonation", default="", description="当前代表的租户ID")
|
|
31
32
|
x_fiuai_lang: str = Field(alias="x-fiuai-lang", default="zh", description="用户当前语言")
|
|
32
33
|
x_fiuai_trace_id: str = Field(alias="x-fiuai-trace-id", default="", description="追踪ID")
|
|
34
|
+
x_fiuai_client: str = Field(alias="x-fiuai-client", default="unknown", description="客户端标识")
|
|
33
35
|
accept_language: str = Field(alias="accept-language", default="zh", description="语言")
|
|
34
36
|
|
|
35
37
|
class Config:
|
|
@@ -94,6 +94,7 @@ class FiuaiSDK(object):
|
|
|
94
94
|
"x-fiuai-impersonation": context_headers.get("x-fiuai-impersonation", self.headers.x_fiuai_impersonation),
|
|
95
95
|
"x-fiuai-unique-no": company_unique_no_value,
|
|
96
96
|
"x-fiuai-trace-id": context_headers.get("x-fiuai-trace-id", self.headers.x_fiuai_trace_id),
|
|
97
|
+
"x-fiuai-client": context_headers.get("x-fiuai-client", self.headers.x_fiuai_client),
|
|
97
98
|
"x-fiuai-lang": context_headers.get("x-fiuai-lang", self.headers.x_fiuai_lang),
|
|
98
99
|
"accept-language": context_headers.get("accept-language", self.headers.accept_language),
|
|
99
100
|
})
|
|
@@ -112,6 +113,7 @@ class FiuaiSDK(object):
|
|
|
112
113
|
"x-fiuai-impersonation": self.headers.x_fiuai_impersonation,
|
|
113
114
|
"x-fiuai-unique-no": company_unique_no_value,
|
|
114
115
|
"x-fiuai-trace-id": self.headers.x_fiuai_trace_id,
|
|
116
|
+
"x-fiuai-client": self.headers.x_fiuai_client,
|
|
115
117
|
"x-fiuai-lang": self.headers.x_fiuai_lang,
|
|
116
118
|
"accept-language": self.headers.accept_language,
|
|
117
119
|
}
|
|
@@ -100,9 +100,9 @@ class RequestContext:
|
|
|
100
100
|
# 生成新的 trace id
|
|
101
101
|
processed_headers["x-fiuai-trace-id"] = str(uuid.uuid4())
|
|
102
102
|
|
|
103
|
-
# 确保 X-Fiuai-Client
|
|
103
|
+
# 确保 X-Fiuai-Client 字段存在(如果不存在则设为 "unknown")
|
|
104
104
|
if "x-fiuai-client" not in processed_headers:
|
|
105
|
-
processed_headers["x-fiuai-client"] = ""
|
|
105
|
+
processed_headers["x-fiuai-client"] = "unknown"
|
|
106
106
|
|
|
107
107
|
return processed_headers
|
|
108
108
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|