DynamicData
property types to included heterogeneous arrays of allowed types.NullableResponse<T>.Value
to indicate that it is a nullable type.IsCaeEnabled
property to TokenRequestContext
to enabled per-request support for Continuous Access EvaluationContentLengthLong
property to ResponseHeaders
BinaryData.ToDynamicFromJson()
extension method to enable dynamic access to JSON. See the aka.ms/azsdk/net/dynamiccontent for further details.ClientOptions'. Client Authors can also enable redirects by setting
HttpPipelineTransportOptions.IsClientRedirectEnabledto
trueon the transport options passed to
HttpPipelineBuilder.Build`.GetRawResponse
method to RequestFailedException
.Operation<T>.WaitForCompletion
and Operation.WaitForCompletionResponse
that take a DelayStrategy
.RetryPolicy
type which can be used to create a custom retry policy.DelayStrategy
type which can be used to customize delays.Error
on failed activity source activities.Azure.Core.Http.Request
span as failed if the request fails with an exception thrown in the pipeline.string
to a ContentType
instance.RetryMode
of Fixed
.ArrayBackedPropertyBag
keeping reference to the array after returning it to array pool in Dispose
method.ActivitySource
activities that are used when using the experimental OpenTelemetry support will include the az.schema_url
tag indicating the OpenTelemetry schema version. They will also include the attribute names specified here.Azure.Core.AzureLocation
Azure.Core.ArrayBackedPropertyBag
is used to store request headers before HttpRequestMessage
is created instead of System.Net.Http.Headers.HttpContentHeaders
Azure.HttpRange.ToString
uses string.Create
instead of FormattableString.Invariant
in .NET 6.0+Azure.Core.Diagnostics.AzureCoreEventSource
checks EventLevel
before formatting data for the eventsAzure.Core.Pipeline.HttpClientTransport.JoinHeaderValues
uses System.Runtime.CompilerServices.DefaultInterpolatedStringHandler
to join header string values in .NET 6.0+ActivitySource
activities will no longer be stamped with the kind
attribute as this is redundant with the OpenTelemetry SpanKind
attribute.AzureSasCredential
which resulted in messages to fail authentication if the SAS signature was updated while a message was in a retry cycle.RedirectPolicy
public to provide SetAllowAutoRedirect()
method to library authors.RetryPolicy
property to ClientOptions
to allow library authors to set a custom retry policy.MessageProcessingContext
type and ProcessingContext
property to HttpMessage
which contains information about the message as it traverses through the pipeline.SetProperty
and TryGetProperty
overloads to HttpMessage
to allow setting property values using a Type
as the key.NullableResponse<T>
type for scenarios where a service method may or may not return a value. One common example is Get*IfExists
methods. Response<T>
also now inherits from NullableResponse<T>
.TryParse
method to the ResourceIdentifier
type.AppendQuery
and AppendPath
overloads to RequestUriBuilder
.RetryMode
was set to Exponential
when retrying a request that resulted in an exception.RequestFailedDetailsParser
abstract class, which client libraries can implement to control customization of exception messages for failed responses.HttpPipelineOptions
type which is accepted in a new overload to HttpPipelineBuilder.Build
. This type contains all the properties from other overloads and adds a property to specify a RequestFailedDetailsParser
.HttpPipelineTransportOptions
called ClientCertificates
which is a collection of X509Certificate2
. If populated, the certificates in the collection will be used by the client for TLS client certificate authentication.MultipartResponse
type, which can be used by clients to parse the sub-responses for multi-part responses.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.Cookies are no longer set on requests by default. Cookies can be re-enabled for 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:
<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 ETag
HttpClient
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.