Skip to content

Commit 86d2ae9

Browse files
committed
fix: merge default headers
1 parent 6aa1688 commit 86d2ae9

2 files changed

Lines changed: 26 additions & 11 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "uipath"
3-
version = "2.0.77"
3+
version = "2.0.78"
44
description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools."
55
readme = { file = "README.md", content-type = "text/markdown" }
66
requires-python = ">=3.10"

src/uipath/_services/_base_service.py

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,22 @@ def __init__(self, config: Config, execution_context: ExecutionContext) -> None:
5959

6060
super().__init__()
6161

62+
def _prepare_request_headers(
63+
self, specific_component: str, extra_headers: dict = None
64+
) -> dict:
65+
"""Prepare headers for a request by merging default headers with any additional headers."""
66+
# Start with client's default headers
67+
merged_headers = dict(self._client.headers)
68+
69+
# Add/override with any headers passed in
70+
if extra_headers:
71+
merged_headers.update(extra_headers)
72+
73+
# Always set the user agent
74+
merged_headers[HEADER_USER_AGENT] = user_agent_value(specific_component)
75+
76+
return merged_headers
77+
6278
@retry(
6379
retry=(
6480
retry_if_exception(is_retryable_exception)
@@ -75,11 +91,9 @@ def request(
7591
**kwargs: Any,
7692
) -> Response:
7793
self._logger.debug(f"Request: {method} {url}")
78-
self._logger.debug(f"HEADERS: {kwargs.get('headers', self._client.headers)}")
7994

8095
try:
8196
stack = inspect.stack()
82-
8397
# use the third frame because of the retry decorator
8498
caller_frame = stack[3].frame
8599
function_name = caller_frame.f_code.co_name
@@ -98,8 +112,11 @@ def request(
98112
f"{module_name}.{function_name}" if module_name and function_name else ""
99113
)
100114

101-
kwargs.setdefault("headers", {})
102-
kwargs["headers"][HEADER_USER_AGENT] = user_agent_value(specific_component)
115+
kwargs["headers"] = self._prepare_request_headers(
116+
specific_component, kwargs.get("headers")
117+
)
118+
119+
self._logger.debug(f"HEADERS: {kwargs['headers']}")
103120

104121
scoped_url = self._url.scope_url(str(url), scoped)
105122

@@ -124,15 +141,13 @@ async def request_async(
124141
**kwargs: Any,
125142
) -> Response:
126143
self._logger.debug(f"Request: {method} {url}")
127-
self._logger.debug(
128-
f"HEADERS: {kwargs.get('headers', self._client_async.headers)}"
129-
)
130144

131-
kwargs.setdefault("headers", {})
132-
kwargs["headers"][HEADER_USER_AGENT] = user_agent_value(
133-
self._specific_component
145+
kwargs["headers"] = self._prepare_request_headers(
146+
self._specific_component, kwargs.get("headers")
134147
)
135148

149+
self._logger.debug(f"HEADERS: {kwargs['headers']}")
150+
136151
scoped_url = self._url.scope_url(str(url), scoped)
137152

138153
response = await self._client_async.request(method, scoped_url, **kwargs)

0 commit comments

Comments
 (0)