package main import ( "local1/logger" "local3/rssmon2/config" "local3/rssmon2/exchange" "local3/rssmon2/monitor" "local3/rssmon2/server" "local3/rssmon2/store" ) func main() { core() } func core() { var err error config := config.New() ex := exchange.New(nil, nil, nil) var mon *monitor.Monitor if mon, err = monitor.New(ex.UpdateFeed); err != nil { panic(err) } else if err = mon.Start(); err != nil { panic(err) } defer mon.Stop() ex.Mon = mon var sclient store.Client if sclient, err = store.NewBolt(config.DBPath); err != nil { panic(err) } defer sclient.Close() ex.SClient = sclient var server *server.Server if server, err = server.New(config.Port, ex.NewFeed, ex.GetFeedRSS, ex.GetFeedItem, ex.GetFeedTagRSS, ); err != nil { panic(err) } ex.Srv = server if err := ex.LoadDB(); err != nil { panic(err) } logger.Log("Starting with", config) if err := server.Serve(); err != nil { panic(err) } }