Add Unix socket listener

Closes: https://todo.sr.ht/~emersion/soju/51

git-svn-id: file:///srv/svn/repo/suika/trunk@466 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This commit is contained in:
contact 2021-03-16 08:27:40 +00:00
parent 81f4195dd9
commit 8ad8706f79
2 changed files with 12 additions and 0 deletions

View File

@ -114,6 +114,17 @@ func main() {
log.Printf("serving %q: %v", listen, err)
}
}()
case "unix":
ln, err := net.Listen("unix", u.Path)
if err != nil {
log.Fatalf("failed to start listener on %q: %v", listen, err)
}
ln = proxyProtoListener(ln, srv)
go func() {
if err := srv.Serve(ln); err != nil {
log.Printf("serving %q: %v", listen, err)
}
}()
case "wss":
addr := u.Host
if _, _, err := net.SplitHostPort(addr); err != nil {

View File

@ -82,6 +82,7 @@ The following directives are supported:
omitted: 6697)
- _irc+insecure://[host][:port]_ listens with plain-text over TCP (default
port if omitted: 6667)
- _unix:///<path>_ listens on a Unix domain socket
- _wss://[host][:port]_ listens for WebSocket connections over TLS (default
port: 443)
- _ws+insecure://[host][:port]_ listens for plain-text WebSocket