From 6571dc20c03f98475b1c1b3b79fea9f1005bf2d5 Mon Sep 17 00:00:00 2001 From: qowevisa Date: Fri, 23 Feb 2024 19:02:43 +0200 Subject: [PATCH] changes --- cmd/server/main.go | 34 +++++++++++----------------------- env/env.go | 24 ++++++++++++++++++++++++ errors/env.go | 7 +++++++ 3 files changed, 42 insertions(+), 23 deletions(-) create mode 100644 errors/env.go diff --git a/cmd/server/main.go b/cmd/server/main.go index 83d1851..9f58057 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -2,7 +2,6 @@ package main import ( "bufio" - // "crypto/rand" "crypto/tls" "fmt" "log" @@ -27,39 +26,28 @@ func main() { log.Fatalf("server: loadkeys: %s", err) } config := tls.Config{Certificates: []tls.Certificate{cert}} + host, err := env.GetHost() + if err != nil { + panic(err) + } + port, err := env.GetPort() + if err != nil { + panic(err) + } srv := http.Server{ - Addr: fmt.Sprintf("127.0.0.1:%d", env.Port), + Addr: fmt.Sprintf("%s:%d", host, port), TLSConfig: &config, ReadTimeout: time.Minute, WriteTimeout: time.Minute, + Handler: http.HandlerFunc(handle), } - srv.Handler = http.HandlerFunc(handle) + log.Printf("Start http server on %s:%d\n", host, port) err = srv.ListenAndServe() if err != nil { log.Fatalf("Failed to start server: %v", err) os.Exit(1) } defer srv.Close() - // listener, err := tls.Listen("tcp", url, &config) - // if err != nil { - // log.Fatal(err) - // } - // defer listener.Close() - - // fmt.Println("Server is listening on port 8080") - // - // for { - // // Wait for a connection. - // conn, err := srv.Accept() - // if err != nil { - // log.Print(err) - // continue - // } - // // Handle the connection in a new goroutine. - // // The loop then returns to accepting, so that - // // multiple connections may be served concurrently. - // go handleConnection(conn) - // } } func handleConnection(conn net.Conn) { diff --git a/env/env.go b/env/env.go index c92e72a..9ea4772 100644 --- a/env/env.go +++ b/env/env.go @@ -1,6 +1,30 @@ package env +import ( + "os" + "strconv" + + "git.qowevisa.me/Qowevisa/gotell/errors" +) + const ( Port = 2993 ConnectPort = 443 ) + +func GetHost() (string, error) { + host := os.Getenv("GOTELL_HOST") + if host == "" { + return host, errors.ENV_EMPTY + } + return host, nil +} + +func GetPort() (int, error) { + portStr := os.Getenv("GOTELL_PORT") + if portStr == "" { + return 0, errors.ENV_EMPTY + } + port, err := strconv.ParseInt(portStr, 10, 32) + return int(port), err +} diff --git a/errors/env.go b/errors/env.go new file mode 100644 index 0000000..52a8e49 --- /dev/null +++ b/errors/env.go @@ -0,0 +1,7 @@ +package errors + +import "errors" + +var ( + ENV_EMPTY = errors.New("Environment variable was empty") +)