master
go 25 lines 612 Bytes
Raw
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 parseAddress(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 }