diff options
| author | Grégoire Duchêne <gduchene@awhk.org> | 2023-08-13 14:16:21 +0100 |
|---|---|---|
| committer | Grégoire Duchêne <gduchene@awhk.org> | 2023-08-13 14:16:21 +0100 |
| commit | 2b033548e31826382fc3f8974f1091d83a6217df (patch) | |
| tree | 55e2bc56fcac2dea9a96d1b2134d51e00fc346ce | |
| parent | 8b3b5c23b098d9f3cf2737ddad4f7c1d26aad23d (diff) | |
Use core.Listen to set up listener
| -rw-r--r-- | go.mod | 1 | ||||
| -rw-r--r-- | go.sum | 2 | ||||
| -rw-r--r-- | main.go | 43 |
3 files changed, 1 insertions, 45 deletions
@@ -5,6 +5,5 @@ go 1.19 require ( github.com/google/go-cmp v0.5.9 go.awhk.org/core v0.6.1 - go.awhk.org/gosdd v0.2.1 gopkg.in/yaml.v3 v3.0.1 ) @@ -2,8 +2,6 @@ github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= go.awhk.org/core v0.6.1 h1:lKkmAH/p/kSR7WAUbLzWIWU11wZNmFsrXDJWe8bfsH0= go.awhk.org/core v0.6.1/go.mod h1:lOs71woKF5QCNNEFjaACmhEj7U6IEGAFHw0Zo1Fyh50= -go.awhk.org/gosdd v0.2.1 h1:6vgCRmRfQpHSBgAGsceu4nxArd0hXSw5lv3TZZjKn34= -go.awhk.org/gosdd v0.2.1/go.mod h1:9LeQ9cX4ZghIWv6kF9ljk83NzsZJqQR3/R61DbsU3YI= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= @@ -7,7 +7,6 @@ import ( "context" "flag" "log" - "net" "net/http" "os" "os/signal" @@ -16,7 +15,6 @@ import ( "go.awhk.org/core" "go.awhk.org/fwdsms/pkg/twilio" - "go.awhk.org/gosdd" ) var cfgFilename = flag.String("c", "/etc/fwdsms.yaml", "configuration file") @@ -53,14 +51,7 @@ func main() { srv := http.Server{Handler: m} go func() { - ln, err := listenSD() - if err != nil { - log.Fatalf("Failed to listen on systemd socket: %s.", err) - } - if ln == nil { - ln = listenEnv(cfg) - } - if err = srv.Serve(ln); err != nil && err != http.ErrServerClosed { + if err = srv.Serve(core.Must(core.Listen(cfg.Twilio.Address))); err != nil && err != http.ErrServerClosed { log.Fatalf("Failed to serve HTTP: %s.", err) } }() @@ -77,35 +68,3 @@ func main() { log.Fatalf("Failed to properly shut down the HTTP server: %v.", err) } } - -func listenEnv(cfg *Config) net.Listener { - if cfg.Twilio.Address != "" && cfg.Twilio.Address[0] == '/' { - ln, err := net.Listen("unix", cfg.Twilio.Address) - if err != nil { - log.Fatalf("Could not set up UNIX listener: %s.", err) - } - if err := os.Chmod(cfg.Twilio.Address, 0666); err != nil { - log.Fatalf("Could not set up permissions on UNIX socket: %s.", err) - } - return ln - } - ln, err := net.Listen("tcp", cfg.Twilio.Address) - if err != nil { - log.Fatalf("Could not set up TCP listener: %s.", err) - } - return ln -} - -func listenSD() (net.Listener, error) { - fds, err := gosdd.SDListenFDs(true) - if err != nil { - if err == gosdd.ErrNoSDSupport { - return nil, nil - } - return nil, err - } - if len(fds) == 0 { - return nil, nil - } - return net.FileListener(fds[0]) -} |
