-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserver.go
38 lines (30 loc) · 845 Bytes
/
server.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main
import (
"github.com/BenchmarkManager/core/internal"
"github.com/gorilla/mux"
"log"
"net/http"
"time"
)
// Route declaration
func router(handler *internal.RequestHandler) *mux.Router {
r := mux.NewRouter()
r.HandleFunc("/cluster/create", handler.CreateCluster)
r.HandleFunc("/cluster/test/start", handler.StartTest)
r.HandleFunc("/cluster/download/result", handler.DownloadResults)
r.HandleFunc("/cluster/prometheus/memory", handler.GetSystemPerformanceReport)
r.HandleFunc("/cluster/clear", handler.ClearCluster)
return r
}
func main() {
handler := internal.NewRequestHandler()
handler.CleanupScheduler()
router := router(handler)
srv := &http.Server{
Handler: router,
Addr: ":9080",
WriteTimeout: 10 * time.Minute,
ReadTimeout: 10 * time.Minute,
}
log.Fatal(srv.ListenAndServe())
}