Skip to content

Commit dcb3706

Browse files
committed
Allow running the web server on a Unix domain socket.
Thanks to Martin Pépin.
1 parent b821cd7 commit dcb3706

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

webserver/webserver.go

+13-3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"html"
1010
"io"
1111
"log"
12+
"net"
1213
"net/http"
1314
"net/url"
1415
"os"
@@ -72,12 +73,21 @@ func Serve(address string, dataDir string) error {
7273

7374
server.Store(s)
7475

75-
var err error
76+
proto := "tcp"
77+
if strings.HasPrefix(address, "/") {
78+
proto = "unix"
79+
}
80+
81+
listener, err := net.Listen(proto, address)
82+
if err != nil {
83+
return err
84+
}
85+
defer listener.Close()
7686

7787
if !Insecure {
78-
err = s.ListenAndServeTLS("", "")
88+
err = s.ServeTLS(listener, "", "")
7989
} else {
80-
err = s.ListenAndServe()
90+
err = s.Serve(listener)
8191
}
8292

8393
if err == http.ErrServerClosed {

0 commit comments

Comments
 (0)