summaryrefslogtreecommitdiff
path: root/listeners.go
diff options
context:
space:
mode:
authorMatthew Holt <mholt@users.noreply.github.com>2019-12-06 11:45:50 -0700
committerMatthew Holt <mholt@users.noreply.github.com>2019-12-06 11:45:50 -0700
commit33a318d17341fcaa95551710620540e00b0bb4b0 (patch)
tree5e56b998747e32f3636a9f6a11a992009137af0c /listeners.go
parent68adfdc559e3a97f19ec85ec2e1e5d3ceae20161 (diff)
Don't append port to unix sockets
See https://caddy.community/t/caddy-v2-php-fpm-502-error/6571?u=matt
Diffstat (limited to 'listeners.go')
-rw-r--r--listeners.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/listeners.go b/listeners.go
index 4644642..e52561d 100644
--- a/listeners.go
+++ b/listeners.go
@@ -266,9 +266,18 @@ type ParsedAddress struct {
EndPort uint
}
+// IsUnixNetwork returns true if pa.Network is
+// unix, unixgram, or unixpacket.
+func (pa ParsedAddress) IsUnixNetwork() bool {
+ return isUnixNetwork(pa.Network)
+}
+
// JoinHostPort is like net.JoinHostPort, but where the port
// is StartPort + offset.
func (pa ParsedAddress) JoinHostPort(offset uint) string {
+ if pa.IsUnixNetwork() {
+ return pa.Host
+ }
return net.JoinHostPort(pa.Host, strconv.Itoa(int(pa.StartPort+offset)))
}
@@ -290,6 +299,10 @@ func (pa ParsedAddress) String() string {
return JoinNetworkAddress(pa.Network, pa.Host, port)
}
+func isUnixNetwork(netw string) bool {
+ return netw == "unix" || netw == "unixgram" || netw == "unixpacket"
+}
+
// ParseNetworkAddress parses addr into its individual
// components. The input string is expected to be of
// the form "network/host:port-range" where any part is
@@ -307,7 +320,7 @@ func ParseNetworkAddress(addr string) (ParsedAddress, error) {
if err != nil {
return ParsedAddress{}, err
}
- if network == "unix" || network == "unixgram" || network == "unixpacket" {
+ if isUnixNetwork(network) {
return ParsedAddress{
Network: network,
Host: host,