Skip to content

Commit 19f0d4f

Browse files
committed
Merge branch 'google-adk-enhanced-support' of github.com:AgentOps-AI/agentops into google-adk-enhanced-support
2 parents 53ccbd2 + cc7ae49 commit 19f0d4f

File tree

4 files changed

+41
-1
lines changed

4 files changed

+41
-1
lines changed

agentops/client/api/base.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import requests
1010

1111
from agentops.client.http.http_client import HttpClient
12+
from agentops.helpers.version import get_agentops_version
1213

1314

1415
class TokenFetcher(Protocol):
@@ -51,6 +52,7 @@ def prepare_headers(self, custom_headers: Optional[Dict[str, str]] = None) -> Di
5152
"Content-Type": "application/json",
5253
"Connection": "keep-alive",
5354
"Keep-Alive": "timeout=10, max=1000",
55+
"User-Agent": f"agentops-python/{get_agentops_version() or 'unknown'}",
5456
}
5557

5658
if custom_headers:

agentops/client/api/versions/v4.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from agentops.client.api.base import BaseApiClient
1010
from agentops.exceptions import ApiServerException
1111
from agentops.client.api.types import UploadedObjectResponse
12+
from agentops.helpers.version import get_agentops_version
1213

1314

1415
class V4Client(BaseApiClient):
@@ -36,6 +37,7 @@ def prepare_headers(self, custom_headers: Optional[Dict[str, str]] = None) -> Di
3637
"""
3738
headers = {
3839
"Authorization": f"Bearer {self.auth_token}",
40+
"User-Agent": f"agentops-python/{get_agentops_version() or 'unknown'}",
3941
}
4042
if custom_headers:
4143
headers.update(custom_headers)

agentops/client/http/http_client.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from agentops.client.http.http_adapter import BaseHTTPAdapter
66
from agentops.logging import logger
7+
from agentops.helpers.version import get_agentops_version
78

89

910
class HttpClient:
@@ -36,9 +37,10 @@ def get_session(cls) -> requests.Session:
3637
"Connection": "keep-alive",
3738
"Keep-Alive": "timeout=10, max=1000",
3839
"Content-Type": "application/json",
40+
"User-Agent": f"agentops-python/{get_agentops_version() or 'unknown'}",
3941
}
4042
)
41-
43+
logger.debug(f"Agentops version: agentops-python/{get_agentops_version() or 'unknown'}")
4244
return cls._session
4345

4446
# @classmethod

tests/unit/test_user_agent.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import pytest
2+
import requests
3+
from unittest.mock import patch
4+
from agentops.client.http.http_client import HttpClient
5+
from agentops.helpers.version import get_agentops_version
6+
7+
8+
@pytest.fixture(autouse=True)
9+
def reset_http_client_session():
10+
# Reset the cached session before each test
11+
HttpClient._session = None
12+
13+
14+
def test_user_agent_header():
15+
with patch("requests.Session", wraps=requests.Session):
16+
session = HttpClient.get_session()
17+
expected_version = get_agentops_version() or "unknown"
18+
expected_user_agent = f"agentops-python/{expected_version}"
19+
# Check the session's headers directly
20+
assert "User-Agent" in session.headers
21+
assert session.headers["User-Agent"] == expected_user_agent
22+
23+
24+
def test_user_agent_header_content():
25+
with patch("requests.Session", wraps=requests.Session):
26+
session = HttpClient.get_session()
27+
# Check the session's headers directly
28+
assert "User-Agent" in session.headers
29+
assert "Connection" in session.headers
30+
assert "Keep-Alive" in session.headers
31+
assert "Content-Type" in session.headers
32+
assert session.headers["Connection"] == "keep-alive"
33+
assert session.headers["Keep-Alive"] == "timeout=10, max=1000"
34+
assert session.headers["Content-Type"] == "application/json"

0 commit comments

Comments
 (0)