aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrégoire Duchêne <gduchene@awhk.org>2023-08-13 14:16:21 +0100
committerGrégoire Duchêne <gduchene@awhk.org>2023-08-13 14:16:21 +0100
commit2b033548e31826382fc3f8974f1091d83a6217df (patch)
tree55e2bc56fcac2dea9a96d1b2134d51e00fc346ce
parent8b3b5c23b098d9f3cf2737ddad4f7c1d26aad23d (diff)
Use core.Listen to set up listener
-rw-r--r--go.mod1
-rw-r--r--go.sum2
-rw-r--r--main.go43
3 files changed, 1 insertions, 45 deletions
diff --git a/go.mod b/go.mod
index 23e5821..a65926c 100644
--- a/go.mod
+++ b/go.mod
@@ -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
)
diff --git a/go.sum b/go.sum
index 684586c..16d6e37 100644
--- a/go.sum
+++ b/go.sum
@@ -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=
diff --git a/main.go b/main.go
index 9876d6d..d9e4107 100644
--- a/main.go
+++ b/main.go
@@ -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])
-}