@@ -12,6 +12,22 @@ namespace Orb.Core;
1212
1313public abstract record class ParamsBase
1414{
15+ static readonly IReadOnlyDictionary < string , string > s_defaultHeaders ;
16+
17+ static ParamsBase ( )
18+ {
19+ var runtime = GetRuntime ( ) ;
20+ s_defaultHeaders = new Dictionary < string , string >
21+ {
22+ [ "X-Stainless-Arch" ] = GetOSArch ( ) ,
23+ [ "X-Stainless-Lang" ] = "csharp" ,
24+ [ "X-Stainless-OS" ] = GetOS ( ) ,
25+ [ "X-Stainless-Package-Version" ] = GetPackageVersion ( ) ,
26+ [ "X-Stainless-Runtime" ] = runtime . Name ,
27+ [ "X-Stainless-Runtime-Version" ] = runtime . Version ,
28+ } ;
29+ }
30+
1531 private protected FreezableDictionary < string , JsonElement > _queryProperties = [ ] ;
1632
1733 public IReadOnlyDictionary < string , JsonElement > QueryProperties
@@ -163,13 +179,10 @@ protected string QueryString(ClientOptions options)
163179
164180 protected static void AddDefaultHeaders ( HttpRequestMessage request , ClientOptions options )
165181 {
166- request . Headers . Add ( "X-Stainless-Arch" , GetOSArch ( ) ) ;
167- request . Headers . Add ( "X-Stainless-Lang" , "csharp" ) ;
168- request . Headers . Add ( "X-Stainless-OS" , GetOS ( ) ) ;
169- request . Headers . Add ( "X-Stainless-Package-Version" , GetPackageVersion ( ) ) ;
170- var ( runtimeName , runtimeVersion ) = GetRuntime ( ) ;
171- request . Headers . Add ( "X-Stainless-Runtime" , runtimeName ) ;
172- request . Headers . Add ( "X-Stainless-Runtime-Version" , runtimeVersion ) ;
182+ foreach ( var header in s_defaultHeaders )
183+ {
184+ request . Headers . Add ( header . Key , header . Value ) ;
185+ }
173186
174187 if ( options . APIKey != null )
175188 {
0 commit comments