@@ -284,7 +284,7 @@ private static EncryptionResult EncryptPayload(PushSubscription subscription, st
284
284
public void SendNotification ( PushSubscription subscription , string payload = null ,
285
285
Dictionary < string , object > options = null )
286
286
{
287
- SendNotificationAsync ( subscription , payload , options ) . GetAwaiter ( ) . GetResult ( ) ;
287
+ SendNotificationAsync ( subscription , payload , options ) . ConfigureAwait ( false ) . GetAwaiter ( ) . GetResult ( ) ;
288
288
}
289
289
290
290
/// <summary>
@@ -329,9 +329,9 @@ public async Task SendNotificationAsync(PushSubscription subscription, string pa
329
329
Dictionary < string , object > options = null , CancellationToken cancellationToken = default )
330
330
{
331
331
var request = GenerateRequestDetails ( subscription , payload , options ) ;
332
- var response = await HttpClient . SendAsync ( request , cancellationToken ) ;
332
+ var response = await HttpClient . SendAsync ( request , cancellationToken ) . ConfigureAwait ( false ) ;
333
333
334
- HandleResponse ( response , subscription ) ;
334
+ await HandleResponse ( response , subscription ) . ConfigureAwait ( false ) ;
335
335
}
336
336
337
337
/// <summary>
@@ -346,7 +346,7 @@ public async Task SendNotificationAsync(PushSubscription subscription, string pa
346
346
VapidDetails vapidDetails , CancellationToken cancellationToken = default )
347
347
{
348
348
var options = new Dictionary < string , object > { [ "vapidDetails" ] = vapidDetails } ;
349
- await SendNotificationAsync ( subscription , payload , options , cancellationToken ) ;
349
+ await SendNotificationAsync ( subscription , payload , options , cancellationToken ) . ConfigureAwait ( false ) ;
350
350
}
351
351
352
352
/// <summary>
@@ -360,15 +360,15 @@ public async Task SendNotificationAsync(PushSubscription subscription, string pa
360
360
public async Task SendNotificationAsync ( PushSubscription subscription , string payload , string gcmApiKey , CancellationToken cancellationToken = default )
361
361
{
362
362
var options = new Dictionary < string , object > { [ "gcmAPIKey" ] = gcmApiKey } ;
363
- await SendNotificationAsync ( subscription , payload , options , cancellationToken ) ;
363
+ await SendNotificationAsync ( subscription , payload , options , cancellationToken ) . ConfigureAwait ( false ) ;
364
364
}
365
365
366
366
/// <summary>
367
367
/// Handle Web Push responses.
368
368
/// </summary>
369
369
/// <param name="response"></param>
370
370
/// <param name="subscription"></param>
371
- private static void HandleResponse ( HttpResponseMessage response , PushSubscription subscription )
371
+ private static async Task HandleResponse ( HttpResponseMessage response , PushSubscription subscription )
372
372
{
373
373
// Successful
374
374
if ( response . IsSuccessStatusCode )
@@ -398,7 +398,12 @@ private static void HandleResponse(HttpResponseMessage response, PushSubscriptio
398
398
break ;
399
399
}
400
400
401
- var details = response . Content ? . ReadAsStringAsync ( ) . GetAwaiter ( ) . GetResult ( ) ;
401
+ string details = null ;
402
+ if ( response . Content != null )
403
+ {
404
+ details = await response . Content . ReadAsStringAsync ( ) . ConfigureAwait ( false ) ;
405
+ }
406
+
402
407
var message = string . IsNullOrEmpty ( details )
403
408
? responseCodeMessage
404
409
: $ "{ responseCodeMessage } . Details: { details } ";
0 commit comments