package main import ( "log" "net/http" "queues-go/app/routers" client "queues-go/app/storage/mongo" "time" ) func handlerWrapper(f func(http.ResponseWriter, *http.Request)) func(http.ResponseWriter, *http.Request) { return func(w http.ResponseWriter, r *http.Request) { start := time.Now() f(w, r) log.Printf("%s %s", r.URL, time.Since(start)) } } func main() { client.Connect() http.HandleFunc("/api/v1/take", handlerWrapper(routers.Take)) http.HandleFunc("/api/v1/finish", handlerWrapper(routers.Finish)) http.HandleFunc("/api/v1/put", handlerWrapper(routers.Put)) log.Printf("Server started") http.ListenAndServe(":1239", nil) }