summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2026-05-23 21:22:35 +0200
committerxengineering <me@xengineering.eu>2026-05-23 21:22:35 +0200
commitc6f5cf08563fed28c3cdcf79b0136a4038a02242 (patch)
tree88da98af90d95717038050c4f716306722d0ce88
parent1307addddf61c7f811e8f4d360e2368ec7b4b2da (diff)
downloadfinserv-c6f5cf08563fed28c3cdcf79b0136a4038a02242.tar
finserv-c6f5cf08563fed28c3cdcf79b0136a4038a02242.tar.zst
finserv-c6f5cf08563fed28c3cdcf79b0136a4038a02242.zip
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.
-rw-r--r--main.go14
1 files 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) {