2024-06-02 11:57:14 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
_ "embed"
|
2024-06-02 13:07:09 +00:00
|
|
|
"net/http"
|
|
|
|
"time"
|
2024-06-02 11:57:14 +00:00
|
|
|
|
|
|
|
"git.supernets.org/perp/gopay/internal/config"
|
2024-06-02 12:04:45 +00:00
|
|
|
"git.supernets.org/perp/gopay/internal/context"
|
|
|
|
"git.supernets.org/perp/gopay/internal/router"
|
2024-06-02 13:07:09 +00:00
|
|
|
"github.com/rs/zerolog/log"
|
2024-06-02 11:57:14 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
//go:embed config.toml
|
|
|
|
var content []byte
|
|
|
|
|
|
|
|
// Current version
|
|
|
|
const version = "0.0.0"
|
|
|
|
|
|
|
|
func main() {
|
2024-06-02 13:07:09 +00:00
|
|
|
// Parse config
|
2024-06-02 11:57:14 +00:00
|
|
|
cfg := config.Parse(content)
|
|
|
|
config.SetupLogger(cfg)
|
|
|
|
|
2024-06-02 13:07:09 +00:00
|
|
|
// Create context & router
|
2024-06-02 12:04:45 +00:00
|
|
|
ctx := context.New(cfg)
|
|
|
|
router.New(ctx)
|
2024-06-02 13:07:09 +00:00
|
|
|
|
|
|
|
// Create server
|
|
|
|
server := &http.Server{
|
|
|
|
Handler: ctx.Engine,
|
|
|
|
Addr: cfg.Server.Address,
|
|
|
|
ReadTimeout: time.Second * time.Duration(cfg.Server.ReadTimeout),
|
|
|
|
WriteTimeout: time.Second * time.Duration(cfg.Server.WriteTimeout),
|
|
|
|
}
|
|
|
|
|
|
|
|
// Start server
|
|
|
|
err := server.ListenAndServe()
|
|
|
|
if err != nil {
|
|
|
|
log.Panic().Msg(err.Error())
|
|
|
|
}
|
2024-06-02 11:57:14 +00:00
|
|
|
}
|