Skip to content

Commit 954e9d8

Browse files
Make retrypolicy internal (Azure#33281)
* Make retrypolicy internal * Rename * Update change log * API
1 parent 2916566 commit 954e9d8

File tree

9 files changed

+49
-121
lines changed

9 files changed

+49
-121
lines changed

sdk/core/Azure.Core/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
### Features Added
66

77
- Made `RedirectPolicy` public to provide `SetAllowAutoRedirect()` method to library authors.
8+
- Added `RetryPolicy` property to `ClientOptions` to allow library authors to set a custom retry policy.
9+
- Added `MessageProcessingContext` type and `ProcessingContext` property to `HttpMessage` which contains information about the message as it traverses through the pipeline.
10+
- Added `SetProperty` and `TryGetProperty` overloads to `HttpMessage` to allow setting property values using a `Type` as the key.
811

912
### Breaking Changes
1013

sdk/core/Azure.Core/api/Azure.Core.net461.cs

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ public HttpMessage(Azure.Core.Request request, Azure.Core.ResponseClassifier res
467467
public System.Threading.CancellationToken CancellationToken { get { throw null; } }
468468
public bool HasResponse { get { throw null; } }
469469
public System.TimeSpan? NetworkTimeout { get { throw null; } set { } }
470-
public Azure.Core.ProcessingContext ProcessingContext { get { throw null; } }
470+
public Azure.Core.MessageProcessingContext ProcessingContext { get { throw null; } }
471471
public Azure.Core.Request Request { get { throw null; } }
472472
public Azure.Response Response { get { throw null; } set { } }
473473
public Azure.Core.ResponseClassifier ResponseClassifier { get { throw null; } set { } }
@@ -484,18 +484,18 @@ public enum HttpPipelinePosition
484484
PerRetry = 1,
485485
BeforeTransport = 2,
486486
}
487-
public static partial class MultipartResponse
488-
{
489-
public static Azure.Response[] Parse(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
490-
public static System.Threading.Tasks.Task<Azure.Response[]> ParseAsync(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
491-
}
492487
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
493-
public readonly partial struct ProcessingContext
488+
public readonly partial struct MessageProcessingContext
494489
{
495490
private readonly object _dummy;
496491
private readonly int _dummyPrimitive;
497492
public int RetryNumber { get { throw null; } set { } }
498-
public System.DateTimeOffset StartTime { get { throw null; } set { } }
493+
public System.DateTimeOffset StartTime { get { throw null; } }
494+
}
495+
public static partial class MultipartResponse
496+
{
497+
public static Azure.Response[] Parse(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
498+
public static System.Threading.Tasks.Task<Azure.Response[]> ParseAsync(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
499499
}
500500
public abstract partial class Request : System.IDisposable
501501
{
@@ -1024,21 +1024,6 @@ public override void Process(Azure.Core.HttpMessage message, System.ReadOnlyMemo
10241024
public override System.Threading.Tasks.ValueTask ProcessAsync(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { throw null; }
10251025
public static void SetAllowAutoRedirect(Azure.Core.HttpMessage message, bool allowAutoRedirect) { }
10261026
}
1027-
public abstract partial class RetryPolicy : Azure.Core.Pipeline.HttpPipelinePolicy
1028-
{
1029-
protected RetryPolicy(Azure.Core.RetryOptions? options = null) { }
1030-
protected internal virtual System.TimeSpan CalculateNextDelay(Azure.Core.HttpMessage message) { throw null; }
1031-
protected internal virtual System.Threading.Tasks.ValueTask<System.TimeSpan> CalculateNextDelayAsync(Azure.Core.HttpMessage message) { throw null; }
1032-
protected static System.TimeSpan GetServerDelay(Azure.Core.HttpMessage message) { throw null; }
1033-
protected internal virtual void OnRequestSent(Azure.Core.HttpMessage message) { }
1034-
protected internal virtual System.Threading.Tasks.ValueTask OnRequestSentAsync(Azure.Core.HttpMessage message) { throw null; }
1035-
protected internal virtual void OnSendingRequest(Azure.Core.HttpMessage message) { }
1036-
protected internal virtual System.Threading.Tasks.ValueTask OnSendingRequestAsync(Azure.Core.HttpMessage message) { throw null; }
1037-
public override void Process(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { }
1038-
public override System.Threading.Tasks.ValueTask ProcessAsync(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { throw null; }
1039-
protected internal virtual bool ShouldRetry(Azure.Core.HttpMessage message, System.Exception? exception) { throw null; }
1040-
protected internal virtual System.Threading.Tasks.ValueTask<bool> ShouldRetryAsync(Azure.Core.HttpMessage message, System.Exception? exception) { throw null; }
1041-
}
10421027
public partial class ServerCertificateCustomValidationArgs
10431028
{
10441029
public ServerCertificateCustomValidationArgs(System.Security.Cryptography.X509Certificates.X509Certificate2? certificate, System.Security.Cryptography.X509Certificates.X509Chain? certificateAuthorityChain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { }

sdk/core/Azure.Core/api/Azure.Core.net5.0.cs

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ public HttpMessage(Azure.Core.Request request, Azure.Core.ResponseClassifier res
467467
public System.Threading.CancellationToken CancellationToken { get { throw null; } }
468468
public bool HasResponse { get { throw null; } }
469469
public System.TimeSpan? NetworkTimeout { get { throw null; } set { } }
470-
public Azure.Core.ProcessingContext ProcessingContext { get { throw null; } }
470+
public Azure.Core.MessageProcessingContext ProcessingContext { get { throw null; } }
471471
public Azure.Core.Request Request { get { throw null; } }
472472
public Azure.Response Response { get { throw null; } set { } }
473473
public Azure.Core.ResponseClassifier ResponseClassifier { get { throw null; } set { } }
@@ -484,18 +484,18 @@ public enum HttpPipelinePosition
484484
PerRetry = 1,
485485
BeforeTransport = 2,
486486
}
487-
public static partial class MultipartResponse
488-
{
489-
public static Azure.Response[] Parse(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
490-
public static System.Threading.Tasks.Task<Azure.Response[]> ParseAsync(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
491-
}
492487
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
493-
public readonly partial struct ProcessingContext
488+
public readonly partial struct MessageProcessingContext
494489
{
495490
private readonly object _dummy;
496491
private readonly int _dummyPrimitive;
497492
public int RetryNumber { get { throw null; } set { } }
498-
public System.DateTimeOffset StartTime { get { throw null; } set { } }
493+
public System.DateTimeOffset StartTime { get { throw null; } }
494+
}
495+
public static partial class MultipartResponse
496+
{
497+
public static Azure.Response[] Parse(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
498+
public static System.Threading.Tasks.Task<Azure.Response[]> ParseAsync(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
499499
}
500500
public abstract partial class Request : System.IDisposable
501501
{
@@ -1024,21 +1024,6 @@ public override void Process(Azure.Core.HttpMessage message, System.ReadOnlyMemo
10241024
public override System.Threading.Tasks.ValueTask ProcessAsync(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { throw null; }
10251025
public static void SetAllowAutoRedirect(Azure.Core.HttpMessage message, bool allowAutoRedirect) { }
10261026
}
1027-
public abstract partial class RetryPolicy : Azure.Core.Pipeline.HttpPipelinePolicy
1028-
{
1029-
protected RetryPolicy(Azure.Core.RetryOptions? options = null) { }
1030-
protected internal virtual System.TimeSpan CalculateNextDelay(Azure.Core.HttpMessage message) { throw null; }
1031-
protected internal virtual System.Threading.Tasks.ValueTask<System.TimeSpan> CalculateNextDelayAsync(Azure.Core.HttpMessage message) { throw null; }
1032-
protected static System.TimeSpan GetServerDelay(Azure.Core.HttpMessage message) { throw null; }
1033-
protected internal virtual void OnRequestSent(Azure.Core.HttpMessage message) { }
1034-
protected internal virtual System.Threading.Tasks.ValueTask OnRequestSentAsync(Azure.Core.HttpMessage message) { throw null; }
1035-
protected internal virtual void OnSendingRequest(Azure.Core.HttpMessage message) { }
1036-
protected internal virtual System.Threading.Tasks.ValueTask OnSendingRequestAsync(Azure.Core.HttpMessage message) { throw null; }
1037-
public override void Process(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { }
1038-
public override System.Threading.Tasks.ValueTask ProcessAsync(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { throw null; }
1039-
protected internal virtual bool ShouldRetry(Azure.Core.HttpMessage message, System.Exception? exception) { throw null; }
1040-
protected internal virtual System.Threading.Tasks.ValueTask<bool> ShouldRetryAsync(Azure.Core.HttpMessage message, System.Exception? exception) { throw null; }
1041-
}
10421027
public partial class ServerCertificateCustomValidationArgs
10431028
{
10441029
public ServerCertificateCustomValidationArgs(System.Security.Cryptography.X509Certificates.X509Certificate2? certificate, System.Security.Cryptography.X509Certificates.X509Chain? certificateAuthorityChain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { }

sdk/core/Azure.Core/api/Azure.Core.net6.0.cs

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ public HttpMessage(Azure.Core.Request request, Azure.Core.ResponseClassifier res
467467
public System.Threading.CancellationToken CancellationToken { get { throw null; } }
468468
public bool HasResponse { get { throw null; } }
469469
public System.TimeSpan? NetworkTimeout { get { throw null; } set { } }
470-
public Azure.Core.ProcessingContext ProcessingContext { get { throw null; } }
470+
public Azure.Core.MessageProcessingContext ProcessingContext { get { throw null; } }
471471
public Azure.Core.Request Request { get { throw null; } }
472472
public Azure.Response Response { get { throw null; } set { } }
473473
public Azure.Core.ResponseClassifier ResponseClassifier { get { throw null; } set { } }
@@ -484,18 +484,18 @@ public enum HttpPipelinePosition
484484
PerRetry = 1,
485485
BeforeTransport = 2,
486486
}
487-
public static partial class MultipartResponse
488-
{
489-
public static Azure.Response[] Parse(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
490-
public static System.Threading.Tasks.Task<Azure.Response[]> ParseAsync(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
491-
}
492487
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
493-
public readonly partial struct ProcessingContext
488+
public readonly partial struct MessageProcessingContext
494489
{
495490
private readonly object _dummy;
496491
private readonly int _dummyPrimitive;
497492
public int RetryNumber { get { throw null; } set { } }
498-
public System.DateTimeOffset StartTime { get { throw null; } set { } }
493+
public System.DateTimeOffset StartTime { get { throw null; } }
494+
}
495+
public static partial class MultipartResponse
496+
{
497+
public static Azure.Response[] Parse(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
498+
public static System.Threading.Tasks.Task<Azure.Response[]> ParseAsync(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
499499
}
500500
public abstract partial class Request : System.IDisposable
501501
{
@@ -1024,21 +1024,6 @@ public override void Process(Azure.Core.HttpMessage message, System.ReadOnlyMemo
10241024
public override System.Threading.Tasks.ValueTask ProcessAsync(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { throw null; }
10251025
public static void SetAllowAutoRedirect(Azure.Core.HttpMessage message, bool allowAutoRedirect) { }
10261026
}
1027-
public abstract partial class RetryPolicy : Azure.Core.Pipeline.HttpPipelinePolicy
1028-
{
1029-
protected RetryPolicy(Azure.Core.RetryOptions? options = null) { }
1030-
protected internal virtual System.TimeSpan CalculateNextDelay(Azure.Core.HttpMessage message) { throw null; }
1031-
protected internal virtual System.Threading.Tasks.ValueTask<System.TimeSpan> CalculateNextDelayAsync(Azure.Core.HttpMessage message) { throw null; }
1032-
protected static System.TimeSpan GetServerDelay(Azure.Core.HttpMessage message) { throw null; }
1033-
protected internal virtual void OnRequestSent(Azure.Core.HttpMessage message) { }
1034-
protected internal virtual System.Threading.Tasks.ValueTask OnRequestSentAsync(Azure.Core.HttpMessage message) { throw null; }
1035-
protected internal virtual void OnSendingRequest(Azure.Core.HttpMessage message) { }
1036-
protected internal virtual System.Threading.Tasks.ValueTask OnSendingRequestAsync(Azure.Core.HttpMessage message) { throw null; }
1037-
public override void Process(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { }
1038-
public override System.Threading.Tasks.ValueTask ProcessAsync(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { throw null; }
1039-
protected internal virtual bool ShouldRetry(Azure.Core.HttpMessage message, System.Exception? exception) { throw null; }
1040-
protected internal virtual System.Threading.Tasks.ValueTask<bool> ShouldRetryAsync(Azure.Core.HttpMessage message, System.Exception? exception) { throw null; }
1041-
}
10421027
public partial class ServerCertificateCustomValidationArgs
10431028
{
10441029
public ServerCertificateCustomValidationArgs(System.Security.Cryptography.X509Certificates.X509Certificate2? certificate, System.Security.Cryptography.X509Certificates.X509Chain? certificateAuthorityChain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { }

sdk/core/Azure.Core/api/Azure.Core.netcoreapp2.1.cs

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ public HttpMessage(Azure.Core.Request request, Azure.Core.ResponseClassifier res
467467
public System.Threading.CancellationToken CancellationToken { get { throw null; } }
468468
public bool HasResponse { get { throw null; } }
469469
public System.TimeSpan? NetworkTimeout { get { throw null; } set { } }
470-
public Azure.Core.ProcessingContext ProcessingContext { get { throw null; } }
470+
public Azure.Core.MessageProcessingContext ProcessingContext { get { throw null; } }
471471
public Azure.Core.Request Request { get { throw null; } }
472472
public Azure.Response Response { get { throw null; } set { } }
473473
public Azure.Core.ResponseClassifier ResponseClassifier { get { throw null; } set { } }
@@ -484,18 +484,18 @@ public enum HttpPipelinePosition
484484
PerRetry = 1,
485485
BeforeTransport = 2,
486486
}
487-
public static partial class MultipartResponse
488-
{
489-
public static Azure.Response[] Parse(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
490-
public static System.Threading.Tasks.Task<Azure.Response[]> ParseAsync(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
491-
}
492487
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
493-
public readonly partial struct ProcessingContext
488+
public readonly partial struct MessageProcessingContext
494489
{
495490
private readonly object _dummy;
496491
private readonly int _dummyPrimitive;
497492
public int RetryNumber { get { throw null; } set { } }
498-
public System.DateTimeOffset StartTime { get { throw null; } set { } }
493+
public System.DateTimeOffset StartTime { get { throw null; } }
494+
}
495+
public static partial class MultipartResponse
496+
{
497+
public static Azure.Response[] Parse(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
498+
public static System.Threading.Tasks.Task<Azure.Response[]> ParseAsync(Azure.Response response, bool expectCrLf, System.Threading.CancellationToken cancellationToken) { throw null; }
499499
}
500500
public abstract partial class Request : System.IDisposable
501501
{
@@ -1024,21 +1024,6 @@ public override void Process(Azure.Core.HttpMessage message, System.ReadOnlyMemo
10241024
public override System.Threading.Tasks.ValueTask ProcessAsync(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { throw null; }
10251025
public static void SetAllowAutoRedirect(Azure.Core.HttpMessage message, bool allowAutoRedirect) { }
10261026
}
1027-
public abstract partial class RetryPolicy : Azure.Core.Pipeline.HttpPipelinePolicy
1028-
{
1029-
protected RetryPolicy(Azure.Core.RetryOptions? options = null) { }
1030-
protected internal virtual System.TimeSpan CalculateNextDelay(Azure.Core.HttpMessage message) { throw null; }
1031-
protected internal virtual System.Threading.Tasks.ValueTask<System.TimeSpan> CalculateNextDelayAsync(Azure.Core.HttpMessage message) { throw null; }
1032-
protected static System.TimeSpan GetServerDelay(Azure.Core.HttpMessage message) { throw null; }
1033-
protected internal virtual void OnRequestSent(Azure.Core.HttpMessage message) { }
1034-
protected internal virtual System.Threading.Tasks.ValueTask OnRequestSentAsync(Azure.Core.HttpMessage message) { throw null; }
1035-
protected internal virtual void OnSendingRequest(Azure.Core.HttpMessage message) { }
1036-
protected internal virtual System.Threading.Tasks.ValueTask OnSendingRequestAsync(Azure.Core.HttpMessage message) { throw null; }
1037-
public override void Process(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { }
1038-
public override System.Threading.Tasks.ValueTask ProcessAsync(Azure.Core.HttpMessage message, System.ReadOnlyMemory<Azure.Core.Pipeline.HttpPipelinePolicy> pipeline) { throw null; }
1039-
protected internal virtual bool ShouldRetry(Azure.Core.HttpMessage message, System.Exception? exception) { throw null; }
1040-
protected internal virtual System.Threading.Tasks.ValueTask<bool> ShouldRetryAsync(Azure.Core.HttpMessage message, System.Exception? exception) { throw null; }
1041-
}
10421027
public partial class ServerCertificateCustomValidationArgs
10431028
{
10441029
public ServerCertificateCustomValidationArgs(System.Security.Cryptography.X509Certificates.X509Certificate2? certificate, System.Security.Cryptography.X509Certificates.X509Chain? certificateAuthorityChain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { }

0 commit comments

Comments
 (0)