github.com/netdata/go.d.plugin@v0.58.1/pkg/socket/utils.go (about)

     1  // SPDX-License-Identifier: GPL-3.0-or-later
     2  
     3  package socket
     4  
     5  import "strings"
     6  
     7  func IsUnixSocket(address string) bool {
     8  	return strings.HasPrefix(address, "/") || strings.HasPrefix(address, "unix://")
     9  }
    10  
    11  func IsUdpSocket(address string) bool {
    12  	return strings.HasPrefix(address, "udp://")
    13  }
    14  
    15  func networkType(address string) (string, string) {
    16  	switch {
    17  	case IsUnixSocket(address):
    18  		address = strings.TrimPrefix(address, "unix://")
    19  		return "unix", address
    20  	case IsUdpSocket(address):
    21  		return "udp", strings.TrimPrefix(address, "udp://")
    22  	default:
    23  		return "tcp", strings.TrimPrefix(address, "tcp://")
    24  	}
    25  }