Simplify main.go

This commit is contained in:
Quentin McGaw
2020-09-12 19:17:19 +00:00
parent 464c7074d0
commit 1fc1776dbf
4 changed files with 84 additions and 95 deletions

View File

@@ -8,7 +8,9 @@ import (
"sync"
"time"
"github.com/qdm12/gluetun/internal/settings"
"github.com/qdm12/gluetun/internal/dns"
"github.com/qdm12/gluetun/internal/openvpn"
"github.com/qdm12/gluetun/internal/updater"
"github.com/qdm12/golibs/logging"
)
@@ -17,27 +19,22 @@ type Server interface {
}
type server struct {
address string
logger logging.Logger
restartOpenvpn func()
restartUnbound func()
restartUpdater func()
getOpenvpnSettings func() settings.OpenVPN
getPortForwarded func() uint16
lookupIP func(host string) ([]net.IP, error)
address string
logger logging.Logger
openvpnLooper openvpn.Looper
unboundLooper dns.Looper
updaterLooper updater.Looper
lookupIP func(host string) ([]net.IP, error)
}
func New(address string, logger logging.Logger, restartOpenvpn, restartUnbound, restartUpdater func(),
getOpenvpnSettings func() settings.OpenVPN, getPortForwarded func() uint16) Server {
func New(address string, logger logging.Logger, openvpnLooper openvpn.Looper, unboundLooper dns.Looper, updaterLooper updater.Looper) Server {
return &server{
address: address,
logger: logger.WithPrefix("http server: "),
restartOpenvpn: restartOpenvpn,
restartUnbound: restartUnbound,
restartUpdater: restartUpdater,
getOpenvpnSettings: getOpenvpnSettings,
getPortForwarded: getPortForwarded,
lookupIP: net.LookupIP,
address: address,
logger: logger.WithPrefix("http server: "),
openvpnLooper: openvpnLooper,
unboundLooper: unboundLooper,
updaterLooper: updaterLooper,
lookupIP: net.LookupIP,
}
}
@@ -68,10 +65,10 @@ func (s *server) makeHandler() http.HandlerFunc {
case http.MethodGet:
switch r.RequestURI {
case "/openvpn/actions/restart":
s.restartOpenvpn()
s.openvpnLooper.Restart()
w.WriteHeader(http.StatusOK)
case "/unbound/actions/restart":
s.restartUnbound()
s.unboundLooper.Restart()
w.WriteHeader(http.StatusOK)
case "/openvpn/portforwarded":
s.handleGetPortForwarded(w)
@@ -80,7 +77,7 @@ func (s *server) makeHandler() http.HandlerFunc {
case "/health":
s.handleHealth(w)
case "/updater/restart":
s.restartUpdater()
s.updaterLooper.Restart()
w.WriteHeader(http.StatusOK)
default:
routeDoesNotExist(s.logger, w, r)