Skip to content

Commit

Permalink
fix: prevent connection overwrite (#275)
Browse files Browse the repository at this point in the history
---------

Co-authored-by: David Leek <[email protected]>
  • Loading branch information
kwasniew and daveleek authored Feb 6, 2025
1 parent 6972875 commit 4d99d52
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/Unleash/Communication/UnleashApiClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -283,12 +283,13 @@ private static void SetRequestHeaders(HttpRequestMessage requestMessage, Unleash
requestMessage.Headers.TryAddWithoutValidation(instanceIdHeader, headers.InstanceTag);
requestMessage.Headers.TryAddWithoutValidation(supportedSpecVersionHeader, headers.SupportedSpecVersion);

requestMessage.Headers.TryAddWithoutValidation(identifyConnectionHeader, headers.ConnectionId);
requestMessage.Headers.TryAddWithoutValidation(identifyAppNameHeader, headers.AppName);
requestMessage.Headers.TryAddWithoutValidation(identifySdkHeader, headers.SdkVersion);

SetCustomHeaders(requestMessage, headers.CustomHttpHeaders);
SetCustomHeaders(requestMessage, headers.CustomHttpHeaderProvider?.CustomHeaders);

requestMessage.Headers.TryAddWithoutValidation(identifyConnectionHeader, headers.ConnectionId);
}

private static void SetCustomHeaders(HttpRequestMessage requestMessage, Dictionary<string, string> headers)
Expand Down
19 changes: 19 additions & 0 deletions tests/Unleash.Tests/Communication/RequestMessageHeadersTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using NUnit.Framework;

namespace Unleash.Tests.Communication
{
public class RequestMessageHeadersTest
{
[Test]
public void RequestMessageHeaders_Should_Contain_Headers()
{
var requestMessage = new HttpRequestMessage();
requestMessage.Headers.TryAddWithoutValidation("header1", "value1");
requestMessage.Headers.TryAddWithoutValidation("header1", "value2");

Assert.That(requestMessage.Headers.Count, Is.EqualTo(1));
Assert.That(requestMessage.Headers.First().Key, Is.EqualTo("header1"));
Assert.That(requestMessage.Headers.First().Value.Last(), Is.EqualTo("value2"));
}
}
}

0 comments on commit 4d99d52

Please sign in to comment.