bovarys.me/fudge@v0.4.0/main.go (about) 1 package main 2 3 //go:generate go run generate.go 4 5 import ( 6 "flag" 7 "log" 8 "net/http" 9 "os" 10 "time" 11 12 "bovarys.me/fudge/config" 13 "bovarys.me/fudge/handler" 14 ) 15 16 var configPath string 17 18 func init() { 19 flag.StringVar(&configPath, "config", "config.yml", "path to the config file") 20 flag.Parse() 21 } 22 23 func main() { 24 cfg, err := config.NewConfig(configPath) 25 if err != nil { 26 log.Fatal(err) 27 } 28 29 h, err := handler.NewHandler(cfg) 30 if err != nil { 31 log.Fatal(err) 32 } 33 34 logger := log.New(os.Stdout, "", log.LstdFlags) 35 36 server := &http.Server{ 37 Addr: "localhost:8080", 38 Handler: h.Router, 39 ReadTimeout: 10 * time.Second, 40 WriteTimeout: 10 * time.Second, 41 ErrorLog: logger, 42 } 43 44 logger.Println("Starting server on", server.Addr) 45 log.Fatal(server.ListenAndServe()) 46 }