Server handling refactor (#27)

This commit is contained in:
2024-03-23 17:41:34 +01:00
committed by GitHub
parent db111642d2
commit 0c14419e7e
9 changed files with 77 additions and 85 deletions

View File

@ -4,6 +4,7 @@ import (
"context"
"flag"
"fmt"
"net/http"
"os"
"github.com/dcarrillo/whatismyip/internal/httputils"
@ -30,8 +31,9 @@ func main() {
engine := setupEngine()
router.SetupTemplate(engine)
router.Setup(engine)
servers := setupHTTPServers(context.Background(), engine.Handler())
whatismyip := server.Setup(context.Background(), engine.Handler())
whatismyip := server.Setup(servers)
whatismyip.Run()
}
@ -55,3 +57,23 @@ func setupEngine() *gin.Engine {
return engine
}
func setupHTTPServers(ctx context.Context, handler http.Handler) []server.Server {
var servers []server.Server
if setting.App.BindAddress != "" {
tcpServer := server.NewTCPServer(ctx, &handler)
servers = append(servers, tcpServer)
}
if setting.App.TLSAddress != "" {
tlsServer := server.NewTLSServer(ctx, &handler)
servers = append(servers, tlsServer)
if setting.App.EnableHTTP3 {
quicServer := server.NewQuicServer(ctx, tlsServer)
servers = append(servers, quicServer)
}
}
return servers
}