diff --git a/PushSharp.Google/GcmConfiguration.cs b/PushSharp.Google/GcmConfiguration.cs index 91f320ff..3bec09e0 100644 --- a/PushSharp.Google/GcmConfiguration.cs +++ b/PushSharp.Google/GcmConfiguration.cs @@ -1,4 +1,5 @@ using System; +using System.Net; namespace PushSharp.Google { @@ -38,6 +39,8 @@ public void OverrideUrl (string url) { GcmUrl = url; } + + public WebProxy Proxy { get; set; } } } diff --git a/PushSharp.Google/GcmServiceConnection.cs b/PushSharp.Google/GcmServiceConnection.cs index b3b539c5..944ac98c 100644 --- a/PushSharp.Google/GcmServiceConnection.cs +++ b/PushSharp.Google/GcmServiceConnection.cs @@ -38,7 +38,17 @@ public class GcmServiceConnection : IServiceConnection public GcmServiceConnection (GcmConfiguration configuration) { Configuration = configuration; - http = new HttpClient (); + if (null != configuration.Proxy) + { + var httpHandler = new HttpClientHandler + { + Proxy = configuration.Proxy + }; + http = new HttpClient(httpHandler, true); + } else + { + http = new HttpClient(); + } http.DefaultRequestHeaders.UserAgent.Clear (); http.DefaultRequestHeaders.UserAgent.Add (new ProductInfoHeaderValue ("PushSharp", "3.0"));