2023-03-19 22:03:12 +01:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"flag"
|
2023-03-22 22:13:23 +01:00
|
|
|
"net/http"
|
2023-03-19 22:03:12 +01:00
|
|
|
|
2023-03-22 22:13:23 +01:00
|
|
|
"git.dotya.ml/mirre-mt/pcmt/app"
|
2023-03-19 22:03:12 +01:00
|
|
|
"git.dotya.ml/mirre-mt/pcmt/config"
|
2023-03-22 22:13:23 +01:00
|
|
|
"github.com/labstack/echo/v4"
|
2023-03-19 22:03:12 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
addr = flag.String("addr", ":3000", "TCP address:port to listen at")
|
|
|
|
configFlag = flag.String("config", "config.dhall", "Default path of the config file")
|
|
|
|
)
|
|
|
|
|
|
|
|
func run() error {
|
2023-03-22 22:13:23 +01:00
|
|
|
a := &app.App{}
|
|
|
|
|
|
|
|
err := a.Init()
|
2023-03-19 22:03:12 +01:00
|
|
|
if err != nil {
|
2023-03-22 22:13:23 +01:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
e := a.E()
|
|
|
|
logger := a.Logger()
|
|
|
|
|
|
|
|
app.StartupSettings(e)
|
|
|
|
|
|
|
|
_, err = config.LoadConfig(*configFlag)
|
|
|
|
if err != nil {
|
|
|
|
logger.Println("error loading config file", *configFlag)
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
e.GET("/", func(c echo.Context) error {
|
|
|
|
return c.String(http.StatusOK, "Hello there.")
|
|
|
|
})
|
|
|
|
|
|
|
|
if err = e.Start(*addr); err != nil {
|
2023-03-19 22:03:12 +01:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|