package cmd import ( "database/sql" "fmt" "net/http" conf2 "pink_fox/internal/app/config" "pink_fox/internal/app/db" "pink_fox/internal/app/log" ) type Server struct { } func NewServer() *Server { return &Server{} } func (it *Server) Execute(defaultConfig string, defaultPort int) error { conf, err := conf2.LoadConfig(defaultConfig, defaultPort) if err != nil { exit(err) } conn, err := db.CreateConnection(&conf.Db) if err != nil { exit(err) } defer func(conn *sql.DB) { _ = conn.Close() }(conn) logger, err := log.NewLogger(conf.LogFile) if err != nil { exit(err) } defer func(logger *log.Logger) { _ = logger.Close() }(logger) // TODO доделать http.HandleFunc("/ping", func(w http.ResponseWriter, r *http.Request) { _, _ = fmt.Fprintf(w, "ok") }) http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { _, _ = fmt.Fprintf(w, "Hello world!") }) fmt.Printf("Starting server at port %d...", conf.Port) if err = http.ListenAndServe(fmt.Sprintf(":%d", conf.Port), nil); err != nil { return err } return nil }