From b106844c2269dde3deecee4001dcbd5600559193 Mon Sep 17 00:00:00 2001 From: Nikita Tokarchuk Date: Fri, 3 Dec 2021 02:26:58 +0100 Subject: [PATCH] Listen http server in main thread --- frontend/main.go | 29 +++++++++++++++++++++++++++++ go.mod | 1 + 2 files changed, 30 insertions(+) diff --git a/frontend/main.go b/frontend/main.go index f83d613..9fe69f2 100644 --- a/frontend/main.go +++ b/frontend/main.go @@ -2,9 +2,11 @@ package main import ( "fmt" + "net" "github.com/sirupsen/logrus" "github.com/spf13/viper" + "github.com/valyala/fasthttp" "code.tokarch.uk/mainnika/nikita-tokarch-uk/frontend/config" ) @@ -28,6 +30,33 @@ func main() { logrus.Warnf("Cannot unmarshal config, %v", err) } + var netw, addr string + switch { + case config.Addr != "": + netw = "tcp" + addr = config.Addr + case config.Unix != "": + netw = "unix" + addr = config.Unix + default: + panic("no address given") + } + netListener, err := net.Listen(netw, addr) + if err != nil { + logrus.Fatal(err) + } + + httpServer := fasthttp.Server{ + Logger: logrus.StandardLogger(), + GetOnly: true, + } + logrus.Infof("Version: %s", Version) + logrus.Debugf("Addr: %s+%s", netw, addr) logrus.Debugf("Conf: %#v", config) + + err = httpServer.Serve(netListener) + if err != nil { + logrus.Fatal(err) + } } diff --git a/go.mod b/go.mod index 4730479..84f71cf 100644 --- a/go.mod +++ b/go.mod @@ -6,4 +6,5 @@ require ( github.com/sirupsen/logrus v1.8.1 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.9.0 + github.com/valyala/fasthttp v1.31.0 )