Skip to content

Commit 5e702c5

Browse files
committed
Push messages topics
1 parent 65f7990 commit 5e702c5

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

Lib.Net.Http.WebPush/PushMessage.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ public class PushMessage
1212
#endregion
1313

1414
#region Properties
15+
/// <summary>
16+
/// Gets or sets the topic (used to correlate messages sent to the same subscription).
17+
/// </summary>
18+
public string Topic { get; set; }
19+
1520
/// <summary>
1621
/// Gets or sets the content.
1722
/// </summary>

Lib.Net.Http.WebPush/PushServiceClient.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class PushServiceClient
2626
{
2727
#region Fields
2828
private const string TTL_HEADER_NAME = "TTL";
29+
private const string TOPIC_HEADER_NAME = "Topic";
2930
private const string URGENCY_HEADER_NAME = "Urgency";
3031
private const string CRYPTO_KEY_HEADER_NAME = "Crypto-Key";
3132
private const string WEBPUSH_AUTHENTICATION_SCHEME = "WebPush";
@@ -172,6 +173,7 @@ private HttpRequestMessage PreparePushMessageDeliveryRequest(PushSubscription su
172173
}
173174
};
174175
pushMessageDeliveryRequest = SetAuthentication(pushMessageDeliveryRequest, subscription, authentication, authenticationScheme);
176+
pushMessageDeliveryRequest = SetTopic(pushMessageDeliveryRequest, message);
175177
pushMessageDeliveryRequest = SetContent(pushMessageDeliveryRequest, subscription, message);
176178

177179
return pushMessageDeliveryRequest;
@@ -197,6 +199,16 @@ private static HttpRequestMessage SetAuthentication(HttpRequestMessage pushMessa
197199
return pushMessageDeliveryRequest;
198200
}
199201

202+
private static HttpRequestMessage SetTopic(HttpRequestMessage pushMessageDeliveryRequest, PushMessage message)
203+
{
204+
if (!String.IsNullOrWhiteSpace(message.Topic))
205+
{
206+
pushMessageDeliveryRequest.Headers.Add(TOPIC_HEADER_NAME, message.Topic);
207+
}
208+
209+
return pushMessageDeliveryRequest;
210+
}
211+
200212
private static HttpRequestMessage SetContent(HttpRequestMessage pushMessageDeliveryRequest, PushSubscription subscription, PushMessage message)
201213
{
202214
if (String.IsNullOrEmpty(message.Content))

0 commit comments

Comments
 (0)