mirror of
https://github.com/akyaiy/GoSally-mvp.git
synced 2026-01-03 08:12:25 +00:00
46 lines
1.0 KiB
Go
46 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"log/slog"
|
|
"net/http"
|
|
"regexp"
|
|
|
|
"github.com/akyaiy/GoSally-mvp/internal/config"
|
|
"github.com/akyaiy/GoSally-mvp/internal/logs"
|
|
"github.com/akyaiy/GoSally-mvp/internal/server/v1"
|
|
|
|
"github.com/go-chi/chi/v5"
|
|
)
|
|
|
|
var allowedCmd = regexp.MustCompile(`^[a-zA-Z0-9]+$`)
|
|
var log *slog.Logger
|
|
var cfg *config.ConfigConf
|
|
var listAllowedCmd = regexp.MustCompile(`^[a-zA-Z0-9_-]+$`) // allowed symbols after first symbol
|
|
|
|
func init() {
|
|
cfg = config.MustLoadConfig()
|
|
|
|
log = logs.SetupLogger(cfg.Mode)
|
|
log = log.With("mode", cfg.Mode)
|
|
|
|
log.Info("Initializing server", slog.String("address", cfg.HTTPServer.Address))
|
|
log.Debug("Server running in debug mode")
|
|
}
|
|
|
|
func main() {
|
|
|
|
r := chi.NewRouter()
|
|
r.Route("/v1/com", func(r chi.Router) {
|
|
r.Get("/", handleV1ComList)
|
|
r.Get("/{cmd}", handleV1)
|
|
})
|
|
// r.Route("/v2/com", func(r chi.Router) {
|
|
// r.Get("/", handleV1ComList)
|
|
// r.Get("/{cmd}", handleV1)
|
|
// })
|
|
r.NotFound(notFound)
|
|
log.Info("Server started", slog.String("address", cfg.Address))
|
|
http.ListenAndServe(cfg.Address, r)
|
|
|
|
}
|