Move web and ui configurations in their own packages

This commit is contained in:
TwinProduction
2021-09-22 00:47:51 -04:00
parent dda83761b5
commit df3a2016ff
14 changed files with 191 additions and 128 deletions

View File

@ -8,7 +8,8 @@ import (
"os"
"time"
"github.com/TwinProduction/gatus/config"
"github.com/TwinProduction/gatus/config/ui"
"github.com/TwinProduction/gatus/config/web"
"github.com/TwinProduction/gatus/controller/handler"
"github.com/TwinProduction/gatus/security"
)
@ -20,8 +21,8 @@ var (
)
// Handle creates the router and starts the server
func Handle(securityConfig *security.Config, webConfig *config.WebConfig, uiConfig *config.UIConfig, enableMetrics bool) {
var router http.Handler = handler.CreateRouter(config.StaticFolder, securityConfig, uiConfig, enableMetrics)
func Handle(securityConfig *security.Config, webConfig *web.Config, uiConfig *ui.Config, enableMetrics bool) {
var router http.Handler = handler.CreateRouter(ui.StaticFolder, securityConfig, uiConfig, enableMetrics)
if os.Getenv("ENVIRONMENT") == "dev" {
router = handler.DevelopmentCORS(router)
}

View File

@ -8,12 +8,13 @@ import (
"testing"
"github.com/TwinProduction/gatus/config"
"github.com/TwinProduction/gatus/config/web"
"github.com/TwinProduction/gatus/core"
)
func TestHandle(t *testing.T) {
cfg := &config.Config{
Web: &config.WebConfig{
Web: &web.Config{
Address: "0.0.0.0",
Port: rand.Intn(65534),
},

View File

@ -3,14 +3,14 @@ package handler
import (
"net/http"
"github.com/TwinProduction/gatus/config"
"github.com/TwinProduction/gatus/config/ui"
"github.com/TwinProduction/gatus/security"
"github.com/TwinProduction/health"
"github.com/gorilla/mux"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
func CreateRouter(staticFolder string, securityConfig *security.Config, uiConfig *config.UIConfig, enabledMetrics bool) *mux.Router {
func CreateRouter(staticFolder string, securityConfig *security.Config, uiConfig *ui.Config, enabledMetrics bool) *mux.Router {
router := mux.NewRouter()
if enabledMetrics {
router.Handle("/metrics", promhttp.Handler()).Methods("GET")

View File

@ -5,10 +5,10 @@ import (
"log"
"net/http"
"github.com/TwinProduction/gatus/config"
"github.com/TwinProduction/gatus/config/ui"
)
func SinglePageApplication(staticFolder string, ui *config.UIConfig) http.HandlerFunc {
func SinglePageApplication(staticFolder string, ui *ui.Config) http.HandlerFunc {
return func(writer http.ResponseWriter, request *http.Request) {
t, err := template.ParseFiles(staticFolder + "/index.html")
if err != nil {