migration to chi
This commit is contained in:
@@ -1,52 +1,61 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
v1 "backend/v1"
|
||||
"backend/database"
|
||||
"backend/routes"
|
||||
"backend/utils"
|
||||
"fmt"
|
||||
"github.com/getsentry/sentry-go"
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/go-chi/chi/v5/middleware"
|
||||
"github.com/joho/godotenv"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/getsentry/sentry-go"
|
||||
"github.com/gorilla/mux"
|
||||
)
|
||||
|
||||
var router *mux.Router
|
||||
var config *v1.Config
|
||||
var router chi.Router
|
||||
|
||||
func init() {
|
||||
v1.LoadPrivateConfig()
|
||||
log.Println("Private config was loaded")
|
||||
err := godotenv.Load(".env", ".private.env", ".db.env", ".email.env")
|
||||
if err != nil {
|
||||
log.Fatal("Error loading .env file")
|
||||
}
|
||||
|
||||
config = v1.LoadConfig()
|
||||
log.Println("Config was loaded")
|
||||
log.Println(fmt.Sprintf("Initizalized CDN path at %v", config.CDNPath))
|
||||
log.Println(fmt.Sprintf("Initizalized CDN URL at %v", config.CDNUrl))
|
||||
log.Println(".env files loaded")
|
||||
|
||||
err := sentry.Init(sentry.ClientOptions{
|
||||
Dsn: "https://b4bdbdbf01b344178b6fd69920ab898c@sentry.io/1817643",
|
||||
log.Println(fmt.Sprintf("Initizalized CDN path at %v", os.Getenv("CDN_PATH")))
|
||||
log.Println(fmt.Sprintf("Initizalized CDN URL at %v", os.Getenv("CDN_URL")))
|
||||
|
||||
err = sentry.Init(sentry.ClientOptions{
|
||||
Dsn: os.Getenv("SENTRY_DSN"),
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("Sentry initialization failed: %v\n", err)
|
||||
}
|
||||
|
||||
router = mux.NewRouter().StrictSlash(true)
|
||||
v1.RegisterRouters(router)
|
||||
router = chi.NewRouter()
|
||||
|
||||
v1.ConnectToDB()
|
||||
router.Use(middleware.RequestID)
|
||||
router.Use(middleware.RealIP)
|
||||
router.Use(middleware.Logger)
|
||||
router.Use(middleware.Recoverer)
|
||||
router.Route("/v1", routes.RegisterRouters)
|
||||
|
||||
database.ConnectToDB()
|
||||
}
|
||||
|
||||
func main() {
|
||||
server := http.Server{
|
||||
Addr: fmt.Sprintf("%v:%v", config.Address, config.Port),
|
||||
Addr: fmt.Sprintf("%v:%v", os.Getenv("ADDRESS"), os.Getenv("PORT")),
|
||||
Handler: router,
|
||||
IdleTimeout: 120 * time.Second,
|
||||
ReadTimeout: 30 * time.Second,
|
||||
WriteTimeout: 30 * time.Second,
|
||||
}
|
||||
|
||||
log.Println(fmt.Sprintf("Staring on %v:%v", config.Address, config.Port))
|
||||
log.Println(fmt.Sprintf("Staring on %v:%v", os.Getenv("ADDRESS"), utils.Getenv("PORT", "8080")))
|
||||
err := server.ListenAndServe()
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
|
||||
Reference in New Issue
Block a user