MessageContent type which represents a message containing a content type and data.ClientOptions are now able to create sub class implementations of DiagnosticsOptions and set it as the implementation for the Diagnostics property of ClientOptions via a new constructor overload.TelemetryDetails type which enables customization of UserAgent header values on a per-request basis based on a specified Assembly and an optional application Id string.AddClassifier methods to RequestContext. These methods allow callers to change the response classification behavior for a given method invocation.StatusCodeClassifier type that will be used as the default ResponseClassifier for some libraries.BinaryData called ToObjectFromJson which converts the json value represented by BinaryData to an object of a specific type.AzureLocation.WaitUntil enum to allow callers to set whether a method invoking a long running operation should return when the operation starts or once it has completed.HttpClientTransport by either setting an AppContext switch named "Azure.Core.Pipeline.HttpClientTransport.EnableCookies" to true or by setting the environment variable, "AZURE_CORE_HTTPCLIENT_ENABLE_COOKIES" to "true". Note: AppContext switches can also be configured via configuration like below:
xml
<ItemGroup>
<RuntimeHostConfigurationOption Include="Azure.Core.Pipeline.HttpClientTransport.EnableCookies" Value="true" />
</ItemGroup>
AddPolicies method to RequestContext. This allows policies to be added to the pipeline when calling protocol methods.IsError property to Response. This will indicate whether the message's ResponseClassifier considers the response to be an error.RequestFailedException constructor that takes a Response.AzureLocation. This class gives static references to known Azure regions.ResourceIdentifier. This class allows users to load an Azure resource identifier string and parse out the pieces of that string such as which SubscriptionId does the resource belong to.ResourceType. This class represents the ARM provider information for a given resource and is used by the ResourceIdentifier class.HttpPipelineTransportOptions type. This type contains a ServerCertificateCustomValidationCallback property that allows callers to set a Func<ServerCertificateCustomValidationArgs, bool> delegate. If set, the delegate will be called to validate the server side TLS certificate.HttpPipelineBuilder.Build that takes an HttpPipelineTransportOptions instance. This overload creates an HttpPipeline with the default transport configuration and the HttpPipelineTransportOptions applied. It returns a DisposableHttpPipeline that implements IDisposable. Note: The HttpPipelineTransportOptions will not be applied if a custom Transport has been set in the ClientOptions. In the case that transport options were provided but not applied, an event is logged (PipelineTransportOptionsNotApplied).api-version query parameter by default. In order to redact this, you can do the following:
c#
options.Diagnostics.LoggedQueryParameters.Remove("api-version");
NotImplementedException on Unity with .NET Framework scripting.RequestContext and ErrorOptions types to aid in configuring requests.ContentType strongly-typed string to allow operation callers to specify the content type of a request.DelegatedTokenCredential type with a Create method, which returns an instance of TokenCredential that uses the supplied delgates to produce an AccessToken. This would most typically be used when an token has previously been obtained from some other source and that token needs to be returned by a TokenCredential instance.ResponseError type to represent an Azure error type.ActivitySource support.HttpAuthorization to represent authentication information in Authorization, ProxyAuthorization, WWW-Authenticate, and Proxy-Authenticate header values.ClientOptions.Default to configure defaults process-wide.HttpPipelinePosition.BeforeTransport to be able to add policies at the end of the pipeline before the transport.NotSupportedException when running in Unity.TenantId to the properties on TokenRequestContext to enable multi-tenant support in Azure.Identity.GeoJson primitives.Response.Content no longer throws InvalidOperationException when the response is backed by a MemoryStream with a non publicly visible buffer.BearerTokenAuthenticationPolicy, which enables creation of authentication policies that can handle challenges.NotSupportedException when running using Blazor in the browser.HttpPipeline.CreateHttpMessagePropertiesScope that can be used to inject scoped properties into HttpMessage.Operation base class for operations that do not return a value.Content property to Response which returns the body of the response as a BinaryData if the body is buffered.AzureNamedKeyCredential has been implemented to cover scenarios where services require that a shared key name and the key value be used as a component of the algorithm to form the authorization token.JsonIgnoreAttribute.Condition property added in .NET 5 when discovering members with JsonObjectSerializer.ETag now returns string.Empty if it is constructed with a null value.CloudEvent type based on the CloudEvent spec.ObjectSerializer that serialize to BinaryData.BinaryData that allow deserializing with an ObjectSerializer.ObjectDisposedException when the request is cancelled during content upload over HTTPS.If-Modified-Since header on .NET Framework.Microsoft.Bcl.AsyncInterfaces dependency on .NET 5 to avoid build issues in applications targeting .NET 5.AzureSasCredential and its respective policy.System.Text.Json.JsonConverter implementation for the ETagHttpClient support on .NET 5.HttpClientTransport(HttpMessageHandler) constructor overload.JsonPatchDocument type.AzureEventSourceListener class that sometimes resulted in a NullReferenceException in the EventSource.int.MaxValue.ServicePointManager Connection limit is automatically increased to 50 for Azure endpoints.ETag now supports weak ETags and implements an overload for ToString that accepts a format string.AZURE_CORE_DISABLE_HTTPWEBREQUESTTRANSPORT environment variable or Azure.Core.Pipeline.DisableHttpWebRequestTransport AppContext switch. To use the app context switch add the following snippet to your .csproj: <ItemGroup>
<RuntimeHostConfigurationOption Include="Azure.Core.Pipeline.DisableHttpWebRequestTransport" Value="true" />
</ItemGroup>
When the environment variable or the switch are set the HttpClientTransport would be used by default instead.
ObjectSerializer base class for serialization.IMemberNameConverter for converting member names to serialized property names.JsonObjectSerializer that implements ObjectSerializer for System.Text.Json.HttpPipeline.CreateClientRequestIdScope method to allow setting client request id on outgoing requests.AzureKeyCredential and its respective policy.NetworkTimeout property to RetryOptions and apply it to network operations like sending request or reading from the response stream.AZURE_TRACING_DISABLED environment variable support.