summaryrefslogtreecommitdiff
path: root/main.go
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 /main.go
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.
Diffstat (limited to 'main.go')
-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) {