public ApnsHttp2Connection(ApnsHttp2Configuration configuration) { id = ++ID; if (id >= int.MaxValue) { ID = 0; } Configuration = configuration; certificate = Configuration.Certificate; certificates = new X509CertificateCollection(); // Add local/machine certificate stores to our collection if requested if (Configuration.AddLocalAndMachineCertificateStores) { var store = new X509Store(StoreLocation.LocalMachine); certificates.AddRange(store.Certificates); store = new X509Store(StoreLocation.CurrentUser); certificates.AddRange(store.Certificates); } // Add optionally specified additional certs into our collection if (Configuration.AdditionalCertificates != null) { foreach (var addlCert in Configuration.AdditionalCertificates) { certificates.Add(addlCert); } } // Finally, add the main private cert for authenticating to our collection if (certificate != null) { certificates.Add(certificate); } #if NET45 var httpHandler = new WebRequestHandler { ClientCertificateOptions = ClientCertificateOption.Manual }; httpHandler.ClientCertificates.AddRange(certificates); #else var httpHandler = new HttpClientHandler { ClientCertificateOptions = ClientCertificateOption.Manual }; httpHandler.ClientCertificates.AddRange(certificates); #endif httpClient = new HttpClient(httpHandler) { BaseAddress = new Uri(string.Format("https://{0}:{1}", Configuration.Host, Configuration.Port)) }; }
public void APNSHTTP2_Send_Single() { var succeeded = 0; var failed = 0; var attempted = 0; var config = new ApnsHttp2Configuration(ApnsHttp2Configuration.ApnsServerEnvironment.Sandbox, Settings.Instance.ApnsCertificateFile, Settings.Instance.ApnsCertificatePassword); var broker = new ApnsHttp2ServiceBroker(config); broker.OnNotificationFailed += (notification, exception) => { failed++; }; broker.OnNotificationSucceeded += (notification) => { succeeded++; }; broker.Start(); foreach (var dt in Settings.Instance.ApnsDeviceTokens) { attempted++; broker.QueueNotification(new ApnsHttp2Notification { DeviceToken = dt, Topic = "com.pushsharp.sample", Payload = JObject.Parse("{ \"aps\" : { \"alert\" : \"Hello PushSharp!\", \"badge\" : 5, \"sound\" : \"blank.aiff\" } }") }); } broker.Stop(); Assert.AreEqual(attempted, succeeded); Assert.AreEqual(0, failed); }
public ApnsHttp2Connection(ApnsHttp2Configuration configuration) { id = ++ID; if (id >= int.MaxValue) { ID = 0; } Configuration = configuration; certificate = Configuration.Certificate; certificates = new X509CertificateCollection(); // Add local/machine certificate stores to our collection if requested if (Configuration.AddLocalAndMachineCertificateStores) { var store = new X509Store(StoreLocation.LocalMachine); certificates.AddRange(store.Certificates); store = new X509Store(StoreLocation.CurrentUser); certificates.AddRange(store.Certificates); } // Add optionally specified additional certs into our collection if (Configuration.AdditionalCertificates != null) { foreach (var addlCert in Configuration.AdditionalCertificates) { certificates.Add(addlCert); } } // Finally, add the main private cert for authenticating to our collection if (certificate != null) { certificates.Add(certificate); } var http2Settings = new HttpTwo.Http2ConnectionSettings( Configuration.Host, (uint)Configuration.Port, true, certificates); http2 = new HttpTwo.Http2Client(http2Settings); }
public ApnsHttp2Connection (ApnsHttp2Configuration configuration) { id = ++ID; if (id >= int.MaxValue) ID = 0; Configuration = configuration; certificate = Configuration.Certificate; certificates = new X509CertificateCollection (); // Add local/machine certificate stores to our collection if requested if (Configuration.AddLocalAndMachineCertificateStores) { var store = new X509Store (StoreLocation.LocalMachine); certificates.AddRange (store.Certificates); store = new X509Store (StoreLocation.CurrentUser); certificates.AddRange (store.Certificates); } // Add optionally specified additional certs into our collection if (Configuration.AdditionalCertificates != null) { foreach (var addlCert in Configuration.AdditionalCertificates) certificates.Add (addlCert); } // Finally, add the main private cert for authenticating to our collection if (certificate != null) certificates.Add (certificate); var http2Settings = new HttpTwo.Http2ConnectionSettings ( Configuration.Host, (uint)Configuration.Port, true, certificates); http2 = new HttpTwo.Http2Client (http2Settings); }
public ApnsHttp2ServiceConnectionFactory(ApnsHttp2Configuration configuration) { Configuration = configuration; }
public ApnsHttp2ServiceConnection(ApnsHttp2Configuration configuration) { connection = new ApnsHttp2Connection(configuration); }
public ApnsHttp2ServiceBroker(ApnsHttp2Configuration configuration) : base(new ApnsHttp2ServiceConnectionFactory(configuration)) { }