Skip to content

Commit

Permalink
Core request id not override (#19759)
Browse files Browse the repository at this point in the history
* not override request id if it already exists in header

* update

* changelog
  • Loading branch information
xiangyan99 authored Jul 13, 2021
1 parent f609786 commit 2c1299b
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
1 change: 1 addition & 0 deletions sdk/core/azure-core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

### Fixed

- Not override "x-ms-client-request-id" if it already exists in the header. #17757

## 1.16.0 (2021-07-01)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,8 +154,12 @@ def on_request(self, request):
elif self._request_id is None:
return
elif self._request_id is not _Unset:
if "x-ms-client-request-id" in request.http_request.headers:
return
request_id = self._request_id
elif self._auto_request_id:
if "x-ms-client-request-id" in request.http_request.headers:
return
request_id = str(uuid.uuid1())
if request_id is not unset:
header = {"x-ms-client-request-id": request_id}
Expand Down
9 changes: 9 additions & 0 deletions sdk/core/azure-core/tests/test_request_id_policy.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,12 @@ def test_request_id_policy(auto_request_id, request_id_init, request_id_set, req
assert request.headers["x-ms-client-request-id"] == "VALUE"
else:
assert not "x-ms-client-request-id" in request.headers

def test_request_id_already_exists():
"""Test policy with no other policy and happy path"""
request_id_policy = RequestIdPolicy()
request = HttpRequest('GET', 'http://127.0.0.1/')
request.headers["x-ms-client-request-id"] = "VALUE"
pipeline_request = PipelineRequest(request, PipelineContext(None))
request_id_policy.on_request(pipeline_request)
assert request.headers["x-ms-client-request-id"] == "VALUE"

0 comments on commit 2c1299b

Please sign in to comment.