Skip to content

Commit c2d6cd6

Browse files
authored
fix: allow auth token getter override over client header (#283)
* fix: allow auth token getter override over client header * Update README.md * lint
1 parent 65c8b10 commit c2d6cd6

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

packages/toolbox-core/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,11 @@ async with ToolboxClient("http://127.0.0.1:5000") as toolbox:
463463
print(result)
464464
```
465465

466+
> [!NOTE]
467+
> An auth token getter for a specific name (e.g., "GOOGLE_ID") will replace any
468+
> client header with the same name followed by "_token" (e.g.,
469+
> "GOOGLE_ID_token").
470+
466471
## Binding Parameter Values
467472

468473
The SDK allows you to pre-set, or "bind", values for specific tool parameters

packages/toolbox-core/src/toolbox_core/tool.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,12 +276,14 @@ async def __call__(self, *args: Any, **kwargs: Any) -> str:
276276

277277
# create headers for auth services
278278
headers = {}
279+
for client_header_name, client_header_val in self.__client_headers.items():
280+
headers[client_header_name] = await resolve_value(client_header_val)
281+
282+
# In case of conflict, override the client header by the auth token getter
279283
for auth_service, token_getter in self.__auth_service_token_getters.items():
280284
headers[self.__get_auth_header(auth_service)] = await resolve_value(
281285
token_getter
282286
)
283-
for client_header_name, client_header_val in self.__client_headers.items():
284-
headers[client_header_name] = await resolve_value(client_header_val)
285287

286288
async with self.__session.post(
287289
self.__url,

0 commit comments

Comments
 (0)