Improve APNs http2 connection health check (#568)
This commit is contained in:
		
							parent
							
								
									9c51cbc989
								
							
						
					
					
						commit
						01aba27bc0
					
				| 
						 | 
				
			
			@ -117,6 +117,10 @@ func InitAPNSClient() error {
 | 
			
		|||
			ApnsClient, err = newApnsClient(certificateKey)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if h2Transport, ok := ApnsClient.HTTPClient.Transport.(*http2.Transport); ok {
 | 
			
		||||
			configureHTTP2ConnHealthCheck(h2Transport)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			LogError.Error("Transport Error:", err.Error())
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -155,11 +159,11 @@ func newApnsClient(certificate tls.Certificate) (*apns2.Client, error) {
 | 
			
		|||
		IdleConnTimeout: idleConnTimeout,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	transportErr := http2.ConfigureTransport(transport)
 | 
			
		||||
	if transportErr != nil {
 | 
			
		||||
		return nil, transportErr
 | 
			
		||||
	if h2Transport, err := http2.ConfigureTransports(transport); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	} else {
 | 
			
		||||
		configureHTTP2ConnHealthCheck(h2Transport)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	client.HTTPClient.Transport = transport
 | 
			
		||||
 | 
			
		||||
	return client, nil
 | 
			
		||||
| 
						 | 
				
			
			@ -184,9 +188,10 @@ func newApnsTokenClient(token *token.Token) (*apns2.Client, error) {
 | 
			
		|||
		IdleConnTimeout: idleConnTimeout,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	transportErr := http2.ConfigureTransport(transport)
 | 
			
		||||
	if transportErr != nil {
 | 
			
		||||
		return nil, transportErr
 | 
			
		||||
	if h2Transport, err := http2.ConfigureTransports(transport); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	} else {
 | 
			
		||||
		configureHTTP2ConnHealthCheck(h2Transport)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	client.HTTPClient.Transport = transport
 | 
			
		||||
| 
						 | 
				
			
			@ -194,6 +199,11 @@ func newApnsTokenClient(token *token.Token) (*apns2.Client, error) {
 | 
			
		|||
	return client, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func configureHTTP2ConnHealthCheck(h2Transport *http2.Transport) {
 | 
			
		||||
	h2Transport.ReadIdleTimeout = 1 * time.Second
 | 
			
		||||
	h2Transport.PingTimeout = 1 * time.Second
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func iosAlertDictionary(payload *payload.Payload, req PushNotification) *payload.Payload {
 | 
			
		||||
	// Alert dictionary
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue