瀏覽代碼

fix(api): fix incorrect path handling in Langfuse integration (#22766)

Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
tags/1.7.1
chenguowei 3 月之前
父節點
當前提交
fce126b206
沒有連結到貢獻者的電子郵件帳戶。

+ 1
- 1
api/core/ops/entities/config_entity.py 查看文件

@@ -102,7 +102,7 @@ class LangfuseConfig(BaseTracingConfig):
@field_validator("host")
@classmethod
def host_validator(cls, v, info: ValidationInfo):
return cls.validate_endpoint_url(v, "https://api.langfuse.com")
return validate_url_with_path(v, "https://api.langfuse.com")


class LangSmithConfig(BaseTracingConfig):

+ 7
- 1
api/core/ops/utils.py 查看文件

@@ -67,7 +67,13 @@ def generate_dotted_order(

def validate_url(url: str, default_url: str, allowed_schemes: tuple = ("https", "http")) -> str:
"""
Validate and normalize URL with proper error handling
Validate and normalize URL with proper error handling.

NOTE: This function does not retain the `path` component of the provided URL.
In most cases, it is recommended to use `validate_url_with_path` instead.

This function is deprecated and retained only for compatibility purposes.
New implementations should use `validate_url_with_path`.

Args:
url: The URL to validate

+ 7
- 0
api/tests/unit_tests/core/ops/test_config_entity.py 查看文件

@@ -117,6 +117,13 @@ class TestLangfuseConfig:
assert config.secret_key == "secret_key"
assert config.host == "https://custom.langfuse.com"

def test_valid_config_with_path(self):
host = host = "https://custom.langfuse.com/api/v1"
config = LangfuseConfig(public_key="public_key", secret_key="secret_key", host=host)
assert config.public_key == "public_key"
assert config.secret_key == "secret_key"
assert config.host == host

def test_default_values(self):
"""Test default values are set correctly"""
config = LangfuseConfig(public_key="public", secret_key="secret")

Loading…
取消
儲存