1
0
mirror of https://github.com/alice-lg/alice-lg.git synced 2024-05-11 05:55:03 +00:00
alice-lg-alice-lg/pkg/backend/api_server.go

41 lines
848 B
Go
Raw Normal View History

2021-03-22 16:50:08 +01:00
package backend
import (
"log"
"net/http"
"time"
2021-03-22 16:50:08 +01:00
"github.com/julienschmidt/httprouter"
)
// StartHTTPServer starts a HTTP server with the config
// in the global AliceConfig. TODO: refactor.
func StartHTTPServer() {
// Setup request routing
router := httprouter.New()
// Serve static content
if err := webRegisterAssets(AliceConfig.Ui, router); err != nil {
log.Fatal(err)
}
if err := apiRegisterEndpoints(router); err != nil {
log.Fatal(err)
}
httpTimeout := time.Duration(AliceConfig.Server.HttpTimeout) * time.Second
log.Println("Web server HTTP timeout set to:", httpTimeout)
server := &http.Server{
Addr: AliceConfig.Server.Listen,
Handler: router,
ReadTimeout: httpTimeout,
WriteTimeout: httpTimeout,
IdleTimeout: httpTimeout,
}
2021-03-22 16:50:08 +01:00
// Start http server
log.Fatal(server.ListenAndServe())
2021-03-22 16:50:08 +01:00
}