44
55using System ;
66using System . Collections . Generic ;
7+ using System . ComponentModel ;
78using System . Diagnostics ;
89#if NET5_0_OR_GREATER
910using System . Diagnostics . CodeAnalysis ;
@@ -48,7 +49,6 @@ public class HttpClientRequestAdapter : IRequestAdapter, IDisposable
4849#elif NETSTANDARD2_0 || NETFRAMEWORK
4950 private static readonly Version defaultHttpVersion = HttpVersion . Version11 ;
5051#endif
51- #if NET5_0_OR_GREATER
5252 /// <summary>
5353 /// Initializes a new instance of the <see cref="HttpClientRequestAdapter"/> class.
5454 /// <param name="authenticationProvider">The authentication provider.</param>
@@ -57,8 +57,18 @@ public class HttpClientRequestAdapter : IRequestAdapter, IDisposable
5757 /// <param name="httpClient">The native HTTP client.</param>
5858 /// <param name="observabilityOptions">The observability options.</param>
5959 /// </summary>
60+ #if NET5_0_OR_GREATER
6061 public HttpClientRequestAdapter ( IAuthenticationProvider authenticationProvider , IParseNodeFactory ? parseNodeFactory = null , ISerializationWriterFactory ? serializationWriterFactory = null , HttpClient ? httpClient = null , ObservabilityOptions ? observabilityOptions = null )
6162#else
63+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
64+ public HttpClientRequestAdapter ( IAuthenticationProvider authenticationProvider , IParseNodeFactory ? parseNodeFactory , ISerializationWriterFactory ? serializationWriterFactory , HttpClient ? httpClient , ObservabilityOptions ? observabilityOptions )
65+ : this ( authenticationProvider , parseNodeFactory , serializationWriterFactory , httpClient , observabilityOptions , httpVersion : null )
66+ {
67+ // Constructor without HttpVersion for runtime backwards compatibility. Adding a new
68+ // optional parameter provides *compile-time* backwards compatibility but throws a
69+ // MissingMethodException at runtime.
70+ }
71+
6272 /// <summary>
6373 /// Initializes a new instance of the <see cref="HttpClientRequestAdapter"/> class.
6474 /// <param name="authenticationProvider">The authentication provider.</param>
0 commit comments