123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package main
- import (
- "context"
- "github.com/vladimirok5959/golang-ctrlc/ctrlc"
- "github.com/vladimirok5959/golang-ip2location/internal/client"
- "github.com/vladimirok5959/golang-ip2location/internal/consts"
- "github.com/vladimirok5959/golang-ip2location/internal/server"
- "github.com/vladimirok5959/golang-utils/utils/http/logger"
- "github.com/vladimirok5959/golang-utils/utils/penv"
- )
- func init() {
- if err := penv.ProcessConfig(&consts.Config); err != nil {
- panic(err)
- }
- var err error
- if consts.Config.DataDir == "" {
- consts.Config.DataDir, err = consts.DataPath()
- if err != nil {
- panic(err)
- }
- }
- }
- func main() {
- logger.AccessLogFile = consts.Config.AccessLogFile
- logger.ErrorLogFile = consts.Config.ErrorLogFile
- ctrlc.App(func(ctx context.Context, shutdown context.CancelFunc) *[]ctrlc.Iface {
- cl, err := client.New(ctx, shutdown)
- if err != nil {
- return ctrlc.MakeError(shutdown, ctrlc.AppError(err))
- }
- sv, err := server.New(ctx, shutdown, cl)
- if err != nil {
- return ctrlc.MakeError(shutdown, ctrlc.AppError(err), cl)
- }
- return &[]ctrlc.Iface{
- sv,
- cl,
- }
- })
- }
|