From 38cd8445dfb2916d551a4fc6ec6d5cde770854ff Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Sun, 29 Oct 2017 23:13:58 +0100 Subject: [PATCH] added configuration --- README.md | 3 --- handlers/handlers.go | 1 - main.go | 21 +++++++++++++++++++-- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 313b935..67b60c4 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,6 @@ Only execute the [docker-compose.yml](docker-compose.yml) and adjust the envirom ## TODOs -- Unit tests -- code refactoring -- enviroment or configuration file integration - github publishing - authentification - deletion diff --git a/handlers/handlers.go b/handlers/handlers.go index e4d1f0a..3103e7c 100644 --- a/handlers/handlers.go +++ b/handlers/handlers.go @@ -155,7 +155,6 @@ func (h *Handler) handleInfo(w http.ResponseWriter, r *http.Request, p httproute raw, err := h.store.GetEntryByIDRaw(req.ID) if err != nil { http.Error(w, err.Error(), http.StatusNotFound) - return } w.Header().Add("Content-Type", "application/json") diff --git a/main.go b/main.go index e834fef..3bd9ca7 100644 --- a/main.go +++ b/main.go @@ -4,19 +4,36 @@ import ( "log" "os" "os/signal" + "strconv" "github.com/maxibanki/golang-url-shorter/handlers" "github.com/maxibanki/golang-url-shorter/store" ) func main() { + dbPath := "main.db" + listenAddr := ":8080" + idLength := uint(4) + if os.Getenv("SHORTER_DB_PATH") != "" { + dbPath = os.Getenv("SHORTER_DB_PATH") + } + if os.Getenv("SHORTER_LISTEN_ADDR") != "" { + listenAddr = os.Getenv("SHORTER_LISTEN_ADDR") + } + if os.Getenv("SHORTER_ID_LENGTH") != "" { + length, err := strconv.ParseUint(os.Getenv("SHORTER_ID_LENGTH"), 10, 32) + if err != nil { + log.Fatalf("could not convert ID length into an uint: %v", err) + } + idLength = uint(length) + } stop := make(chan os.Signal, 1) signal.Notify(stop, os.Interrupt) - store, err := store.New("main.db", 4) + store, err := store.New(dbPath, idLength) if err != nil { log.Fatalf("could not create store: %v", err) } - handler := handlers.New(":8080", *store) + handler := handlers.New(listenAddr, *store) go func() { err := handler.Listen() if err != nil {