From c6f5cf08563fed28c3cdcf79b0136a4038a02242 Mon Sep 17 00:00:00 2001 From: xengineering Date: Sat, 23 May 2026 21:22:35 +0200 Subject: Make run fully configurable This makes the run() function compared to main() useful at all since all parameters can be changed to test e.g. with unit tests. --- main.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index d9c4580..2b29286 100644 --- a/main.go +++ b/main.go @@ -23,24 +23,24 @@ var versionTxt string var router *mux.Router = mux.NewRouter() func main() { - run() + run(router, Addr, WriteTimeout, ReadTimeout, []syscall.Signal{syscall.SIGTERM, syscall.SIGINT}) } -func run() { +func run(handler http.Handler, addr string, wTimeout time.Duration, rTimeout time.Duration, signals []syscall.Signal) { log.Println("finserv finance server was started.") defer log.Println("finserv finance server was stopped.") server := &http.Server{ - Handler: router, - Addr: Addr, - WriteTimeout: WriteTimeout, - ReadTimeout: ReadTimeout, + Handler: handler, + Addr: addr, + WriteTimeout: wTimeout, + ReadTimeout: rTimeout, } go server.ListenAndServe() log.Printf("Serving at http://%s\n", Addr) - await(syscall.SIGTERM, syscall.SIGINT) + await(signals...) } func await(signals ...syscall.Signal) { -- cgit v1.3