Skip to content

Commit

Permalink
Merge pull request #68 from tghamm/feature/4.4.4
Browse files Browse the repository at this point in the history
Bug Fix for HttpClient Reuse
tghamm authored Jan 23, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
2 parents 64a565c + c29a5ad commit 170bbbc
Showing 4 changed files with 45 additions and 15 deletions.
13 changes: 13 additions & 0 deletions Anthropic.SDK.BatchTester/Program.cs
Original file line number Diff line number Diff line change
@@ -71,6 +71,19 @@ static async Task Main(string[] args)
await foreach (var result in client.Batches.RetrieveBatchResultsAsync(response.Id))
{
Console.WriteLine("Result: " + result);
messages.Add(new Message(RoleType.Assistant, result.Result.Message.FirstMessage.Text));
messages.Add(new Message(RoleType.User, "Who created the Statue of Liberty?"));
parameters = new MessageParameters()
{
Messages = messages,
MaxTokens = 512,
Model = AnthropicModels.Claude35Sonnet,
Stream = false,
Temperature = 1.0m,
};

var clientResponse = await client.Messages.GetClaudeMessageAsync(parameters);
Console.WriteLine(clientResponse.FirstMessage.Text);
}

await foreach (var result in client.Batches.RetrieveBatchResultsJsonlAsync(response.Id))
8 changes: 4 additions & 4 deletions Anthropic.SDK.Tests/Anthropic.SDK.Tests.csproj
Original file line number Diff line number Diff line change
@@ -24,10 +24,10 @@
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.AI" Version="9.1.0-preview.1.25064.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="Microsoft.SemanticKernel" Version="1.33.0" />
<PackageReference Include="Microsoft.SemanticKernel.Abstractions" Version="1.33.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.7.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.7.1" />
<PackageReference Include="Microsoft.SemanticKernel" Version="1.34.0" />
<PackageReference Include="Microsoft.SemanticKernel.Abstractions" Version="1.34.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.7.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.7.2" />
<PackageReference Include="coverlet.collector" Version="3.1.2" />
</ItemGroup>

8 changes: 4 additions & 4 deletions Anthropic.SDK/Anthropic.SDK.csproj
Original file line number Diff line number Diff line change
@@ -14,12 +14,12 @@
<PackageTags>Claude, AI, ML, API, Anthropic</PackageTags>
<Title>Claude API</Title>
<PackageReleaseNotes>
Updates Microsoft.Extensions.AI.Abstractions
Bug Fix for HttpClient Reuse
</PackageReleaseNotes>
<PackageId>Anthropic.SDK</PackageId>
<Version>4.4.3</Version>
<AssemblyVersion>4.4.3.0</AssemblyVersion>
<FileVersion>4.4.3.0</FileVersion>
<Version>4.4.4</Version>
<AssemblyVersion>4.4.4.0</AssemblyVersion>
<FileVersion>4.4.4.0</FileVersion>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageIcon>icon.png</PackageIcon>
31 changes: 24 additions & 7 deletions Anthropic.SDK/EndpointBase.cs
Original file line number Diff line number Diff line change
@@ -72,18 +72,35 @@ protected HttpClient GetClient()

var client = customClient ?? new HttpClient();

client.DefaultRequestHeaders.Add("x-api-key", Client.Auth.ApiKey);
client.DefaultRequestHeaders.Add("anthropic-version", Client.AnthropicVersion);
if (!string.IsNullOrWhiteSpace(Client.AnthropicBetaVersion))
if (!client.DefaultRequestHeaders.Contains("x-api-key"))
{
client.DefaultRequestHeaders.Add("x-api-key", Client.Auth.ApiKey);
}

if (!client.DefaultRequestHeaders.Contains("anthropic-version"))
{
client.DefaultRequestHeaders.Add("anthropic-version", Client.AnthropicVersion);
}

if (!string.IsNullOrWhiteSpace(Client.AnthropicBetaVersion) &&
!client.DefaultRequestHeaders.Contains("anthropic-beta"))
{
client.DefaultRequestHeaders.Add("anthropic-beta", Client.AnthropicBetaVersion);
}

client.DefaultRequestHeaders.Add("User-Agent", UserAgent);
client.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/json"));
if (!client.DefaultRequestHeaders.Contains("User-Agent"))
{
client.DefaultRequestHeaders.Add("User-Agent", UserAgent);
}

if (!client.DefaultRequestHeaders.Accept.Contains(new MediaTypeWithQualityHeaderValue("application/json")))
{

client.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/json"));

}

return client;
}

0 comments on commit 170bbbc

Please sign in to comment.