-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
I have a situation where part of my code sets a URL Segment to a value, and then calls the a function that executes the request with a retry if the auth fails.
Part of refreshing the auth retrieves the correct value of the URL Segment. So, I need to call AddUrlSegment again with the new, proper value and then execute the request again, now with the proper value.
But that doesn't work. RestSharp always uses the original value of the URL Segment. Here is a code snippet that illustrates the undesirable behaviour:
RestClient client = new RestClient();
var request = new RestRequest("https://api.example.com/orgs/{segment}/something");
request.AddUrlSegment("segment", 1);
var url1 = client.BuildUri(request);
request.AddUrlSegment("segment", 2);
var url2 = client.BuildUri(request);
Expected out come:
url1 = {https://api.example.com/orgs/1/something}
url2 = {https://api.example.com/orgs/2/something}
actual out come:
url1 = {https://api.example.com/orgs/1/something}
url2 = {https://api.example.com/orgs/1/something}
- OS: Windows 11 25H2 26200.6899
- .NET version: 4.8.2
- Version 112.1.0