Skip to content

Commit 0dd5b54

Browse files
committed
Bump version to v5
1 parent c840bf7 commit 0dd5b54

4 files changed

Lines changed: 64 additions & 174 deletions

File tree

src/Signhost.APIClient.Tests/Signhost.APIClient.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<PropertyGroup Label="Build">
33
<TargetFramework>net10.0</TargetFramework>
44
<IsPackable>false</IsPackable>
5+
<Nullable>enable</Nullable>
56
</PropertyGroup>
67

78
<ItemGroup Label="Package References">

src/Signhost.APIClient.Tests/SignhostApiRetryClientTests.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#nullable enable
21
using System;
32
using System.IO;
43
using System.Net;
@@ -109,8 +108,8 @@ public void When_First_Call_Succeeds_AddOrReplaceFileToTransactionAsync_Should_N
109108
[Fact]
110109
public void When_First_Call_Succeeds_CreateTransactionAsync_Should_Not_Throw_Exception()
111110
{
112-
Func<Task> apiCall = () =>
113-
firstCallSucceedsClient.CreateTransactionAsync(new Transaction());
111+
Func<Task> apiCall = () => firstCallSucceedsClient
112+
.CreateTransactionAsync(new CreateTransactionRequest());
114113
apiCall.Should().NotThrowAsync<SignhostRestApiClientException>();
115114
}
116115

@@ -216,8 +215,8 @@ public void When_Third_Call_Succeeds_AddOrReplaceFileToTransactionAsync_Should_N
216215
[Fact]
217216
public void When_Third_Call_Succeeds_CreateTransactionAsync_Should_Not_Throw_Exception()
218217
{
219-
Func<Task> apiCall = () =>
220-
thirdCallSucceedsClient.CreateTransactionAsync(new Transaction());
218+
Func<Task> apiCall = () => thirdCallSucceedsClient
219+
.CreateTransactionAsync(new CreateTransactionRequest());
221220
apiCall.Should().NotThrowAsync<SignhostRestApiClientException>();
222221
}
223222

@@ -323,8 +322,8 @@ public void When_All_Calls_Fail_AddOrReplaceFileToTransactionAsync_Should_Throw_
323322
[Fact]
324323
public void When_All_Calls_Fail_CreateTransactionAsync_Should_Throw_Exception()
325324
{
326-
Func<Task> apiCall = () =>
327-
allCallsFailClient.CreateTransactionAsync(new Transaction());
325+
Func<Task> apiCall = () => allCallsFailClient
326+
.CreateTransactionAsync(new CreateTransactionRequest());
328327
apiCall.Should().ThrowAsync<SignhostRestApiClientException>();
329328
}
330329

src/Signhost.APIClient/Rest/Polly/SignHostAPIRetryClient.cs

Lines changed: 55 additions & 166 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
#nullable enable
2-
using System;
1+
using System;
32
using System.IO;
43
using System.Net.Http;
54
using System.Threading;
@@ -59,15 +58,14 @@ public SignhostApiRetryClient(
5958
}
6059

6160
/// <inheritdoc />
62-
public async Task AddOrReplaceFileMetaToTransactionAsync(
63-
FileMeta fileMeta,
64-
string transactionId,
65-
string fileId)
66-
=> await AddOrReplaceFileMetaToTransactionAsync(
67-
fileMeta,
68-
transactionId,
69-
fileId,
70-
default);
61+
public async Task<Transaction> CreateTransactionAsync(
62+
CreateTransactionRequest request,
63+
CancellationToken cancellationToken = default)
64+
{
65+
return await retryPolicy.ExecuteAsync(
66+
ct => client.CreateTransactionAsync(request, ct),
67+
cancellationToken);
68+
}
7169

7270
/// <inheritdoc />
7371
public async Task AddOrReplaceFileMetaToTransactionAsync(
@@ -76,220 +74,111 @@ public async Task AddOrReplaceFileMetaToTransactionAsync(
7674
string fileId,
7775
CancellationToken cancellationToken = default)
7876
{
79-
await retryPolicy
80-
.ExecuteAsync(
81-
ct => client.AddOrReplaceFileMetaToTransactionAsync(
82-
fileMeta,
83-
transactionId,
84-
fileId,
85-
ct),
86-
cancellationToken);
77+
await retryPolicy.ExecuteAsync(
78+
ct => client.AddOrReplaceFileMetaToTransactionAsync(
79+
fileMeta,
80+
transactionId,
81+
fileId,
82+
ct),
83+
cancellationToken);
8784
}
8885

8986
/// <inheritdoc />
9087
public async Task AddOrReplaceFileToTransactionAsync(
9188
Stream fileStream,
9289
string transactionId,
9390
string fileId,
94-
FileUploadOptions uploadOptions)
95-
=> await AddOrReplaceFileToTransactionAsync(
96-
fileStream,
97-
transactionId,
98-
fileId,
99-
uploadOptions,
100-
default);
101-
102-
/// <inheritdoc />
103-
public async Task AddOrReplaceFileToTransactionAsync(
104-
Stream fileStream,
105-
string transactionId,
106-
string fileId,
107-
FileUploadOptions uploadOptions,
91+
FileUploadOptions? uploadOptions,
10892
CancellationToken cancellationToken = default)
10993
{
110-
await retryPolicy
111-
.ExecuteAsync(
112-
ct => client.AddOrReplaceFileToTransactionAsync(
113-
fileStream,
114-
transactionId,
115-
fileId,
116-
uploadOptions,
117-
ct),
118-
cancellationToken);
94+
await retryPolicy.ExecuteAsync(
95+
ct => client.AddOrReplaceFileToTransactionAsync(
96+
fileStream,
97+
transactionId,
98+
fileId,
99+
uploadOptions,
100+
ct),
101+
cancellationToken);
119102
}
120103

121104
/// <inheritdoc />
122105
public async Task AddOrReplaceFileToTransactionAsync(
123106
string filePath,
124107
string transactionId,
125108
string fileId,
126-
FileUploadOptions uploadOptions)
127-
=> await AddOrReplaceFileToTransactionAsync(
128-
filePath,
129-
transactionId,
130-
fileId,
131-
uploadOptions,
132-
default);
133-
134-
/// <inheritdoc />
135-
public async Task AddOrReplaceFileToTransactionAsync(
136-
string filePath,
137-
string transactionId,
138-
string fileId,
139-
FileUploadOptions uploadOptions,
140-
CancellationToken cancellationToken = default)
141-
{
142-
await retryPolicy
143-
.ExecuteAsync(
144-
ct => client.AddOrReplaceFileToTransactionAsync(
145-
filePath,
146-
transactionId,
147-
fileId,
148-
uploadOptions,
149-
ct),
150-
cancellationToken);
151-
}
152-
153-
/// <inheritdoc />
154-
public async Task<Transaction> CreateTransactionAsync(
155-
Transaction transaction)
156-
=> await CreateTransactionAsync(transaction, default);
157-
158-
/// <inheritdoc />
159-
public async Task<Transaction> CreateTransactionAsync(
160-
Transaction transaction,
109+
FileUploadOptions? uploadOptions,
161110
CancellationToken cancellationToken = default)
162111
{
163-
return await retryPolicy
164-
.ExecuteAsync(
165-
ct => client.CreateTransactionAsync(
166-
transaction,
167-
ct),
168-
cancellationToken);
169-
}
170-
171-
/// <inheritdoc />
172-
public async Task DeleteTransactionAsync(
173-
string transactionId,
174-
CancellationToken cancellationToken = default)
175-
=> await DeleteTransactionAsync(
176-
transactionId,
177-
default,
112+
await retryPolicy.ExecuteAsync(
113+
ct => client.AddOrReplaceFileToTransactionAsync(
114+
filePath,
115+
transactionId,
116+
fileId,
117+
uploadOptions,
118+
ct),
178119
cancellationToken);
179-
180-
/// <inheritdoc />
181-
public async Task DeleteTransactionAsync(
182-
string transactionId,
183-
DeleteTransactionOptions options)
184-
=> await DeleteTransactionAsync(
185-
transactionId,
186-
options,
187-
default);
120+
}
188121

189122
/// <inheritdoc />
190123
public async Task DeleteTransactionAsync(
191124
string transactionId,
192125
DeleteTransactionOptions? options = null,
193126
CancellationToken cancellationToken = default)
194127
{
195-
await retryPolicy
196-
.ExecuteAsync(
197-
ct => client.DeleteTransactionAsync(
198-
transactionId,
199-
options,
200-
ct),
201-
cancellationToken);
128+
await retryPolicy.ExecuteAsync(
129+
ct => client.DeleteTransactionAsync(transactionId, options, ct),
130+
cancellationToken);
202131
}
203132

204-
/// <inheritdoc />
205-
public async Task<Stream> GetDocumentAsync(
206-
string transactionId,
207-
string fileId)
208-
=> await GetDocumentAsync(transactionId, fileId, default);
209-
210133
/// <inheritdoc />
211134
public async Task<Stream> GetDocumentAsync(
212135
string transactionId,
213136
string fileId,
214137
CancellationToken cancellationToken = default)
215138
{
216-
return await retryPolicy
217-
.ExecuteAsync(
218-
ct => client.GetDocumentAsync(
219-
transactionId,
220-
fileId,
221-
ct),
222-
cancellationToken);
139+
return await retryPolicy.ExecuteAsync(
140+
ct => client.GetDocumentAsync(transactionId, fileId, ct),
141+
cancellationToken);
223142
}
224143

225-
/// <inheritdoc />
226-
public async Task<Stream> GetReceiptAsync(string transactionId)
227-
=> await GetReceiptAsync(transactionId, default);
228-
229144
/// <inheritdoc />
230145
public async Task<Stream> GetReceiptAsync(
231146
string transactionId,
232147
CancellationToken cancellationToken = default)
233148
{
234-
return await retryPolicy
235-
.ExecuteAsync(
236-
ct => client.GetReceiptAsync(
237-
transactionId,
238-
ct),
239-
cancellationToken);
149+
return await retryPolicy.ExecuteAsync(
150+
ct => client.GetReceiptAsync(transactionId, ct),
151+
cancellationToken);
240152
}
241153

242-
/// <inheritdoc />
243-
public async Task<Transaction> GetTransactionAsync(string transactionId)
244-
=> await GetTransactionAsync(transactionId, default);
245-
246154
/// <inheritdoc />
247155
public async Task<Transaction> GetTransactionAsync(
248156
string transactionId,
249157
CancellationToken cancellationToken = default)
250158
{
251-
return await retryPolicy
252-
.ExecuteAsync(
253-
ct => client.GetTransactionAsync(
254-
transactionId,
255-
ct),
256-
cancellationToken);
159+
return await retryPolicy.ExecuteAsync(
160+
ct => client.GetTransactionAsync(transactionId, ct),
161+
cancellationToken);
257162
}
258163

259-
/// <inheritdoc />
260-
public async Task<ApiResponse<Transaction>> GetTransactionResponseAsync(
261-
string transactionId)
262-
=> await GetTransactionResponseAsync(transactionId, default);
263-
264164
/// <inheritdoc />
265165
public async Task<ApiResponse<Transaction>> GetTransactionResponseAsync(
266166
string transactionId,
267167
CancellationToken cancellationToken = default)
268168
{
269-
return await retryPolicy
270-
.ExecuteAsync(
271-
ct => client.GetTransactionResponseAsync(
272-
transactionId,
273-
ct),
274-
cancellationToken);
169+
return await retryPolicy.ExecuteAsync(
170+
ct => client.GetTransactionResponseAsync(transactionId, ct),
171+
cancellationToken);
275172
}
276173

277-
/// <inheritdoc />
278-
public async Task StartTransactionAsync(
279-
string transactionId)
280-
=> await StartTransactionAsync(transactionId, default);
281-
282174
/// <inheritdoc />
283175
public async Task StartTransactionAsync(
284176
string transactionId,
285177
CancellationToken cancellationToken = default)
286178
{
287-
await retryPolicy
288-
.ExecuteAsync(
289-
ct => client.StartTransactionAsync(
290-
transactionId,
291-
ct),
292-
cancellationToken);
179+
await retryPolicy.ExecuteAsync(
180+
ct => client.StartTransactionAsync(transactionId, ct),
181+
cancellationToken);
293182
}
294183

295184
/// <inheritdoc/>
@@ -314,9 +203,9 @@ private static AsyncPolicy GetDefaultPolicy()
314203
{
315204
return Policy
316205
.Handle<SignhostRestApiClientException>(ex =>
317-
!(ex is BadAuthorizationException) &&
318-
!(ex is BadRequestException) &&
319-
!(ex is NotFoundException))
206+
ex is not BadAuthorizationException &&
207+
ex is not BadRequestException &&
208+
ex is not NotFoundException)
320209

321210
// When an HttpClient times out it doesn't throw a TimeoutException like you'd expect.
322211
// Instead it throws a TaskCanceledException, that's why we check the cancellation token.

src/Signhost.APIClient/Signhost.APIClient.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<TargetFrameworks>net10.0;net9.0;net8.0;netstandard2.0;net462</TargetFrameworks>
44
<LangVersion>10</LangVersion>
55
<RootNamespace>Signhost.APIClient</RootNamespace>
6+
<Nullable>enable</Nullable>
67
</PropertyGroup>
78

89
<PropertyGroup>
@@ -45,6 +46,6 @@
4546
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4647
</PackageReference>
4748
<PackageReference Include="Polly" Version="8.6.5" />
48-
<PackageReference Include="EntrustSignhostClientLibrary" Version="4.3.0" />
49+
<PackageReference Include="EntrustSignhostClientLibrary" Version="5.0.0" />
4950
</ItemGroup>
5051
</Project>

0 commit comments

Comments
 (0)