Skip to content

Commit 7ceffc3

Browse files
tpellissierclaude
andcommitted
Prevent hook headers from overwriting SDK-managed headers
Hook-provided headers now only set headers that aren't already present, preventing hooks from silently overwriting Authorization, OData, or correlation headers. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 1f5f936 commit 7ceffc3

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

src/PowerPlatform/Dataverse/data/_odata.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,10 +235,12 @@ def _request(self, method: str, url: str, *, expected: tuple[int, ...] = _DEFAUL
235235
operation = _OPERATION_NAME.get() or "http.request"
236236
table_name = _OPERATION_TABLE.get()
237237

238-
# Merge any hook-provided headers
238+
# Merge hook-provided headers without overwriting SDK-managed headers
239239
hook_headers = self._telemetry.get_additional_headers()
240240
if hook_headers:
241-
request_context.headers.update(hook_headers)
241+
for name, value in hook_headers.items():
242+
if name not in request_context.headers:
243+
request_context.headers[name] = value
242244
request_context.kwargs["headers"] = request_context.headers
243245

244246
with self._telemetry.trace_request(

0 commit comments

Comments
 (0)