package main import ( "db_service/controllers" helper "db_service/pkg" "github.com/gorilla/mux" "github.com/joho/godotenv" "github.com/leesper/couchdb-golang" "log" "net/http" "os" ) func init() { // logging setup helper.Setup() log.Println("init function") // init .env err := godotenv.Load() if err != nil { log.Fatal(err.Error()) } // initialize couch db err = InitCouchDbServer() } func InitCouchDbServer() error { var err error helper.CdbServer, err = couchdb.NewServer(os.Getenv("couch_db_source")) if err != nil { helper.Error(err.Error()) return err } version, err := helper.CdbServer.Version() if err != nil { helper.Error("couchdb not initialized. ", err.Error()) return err } helper.Info("couchdb running with version " + version) return nil } func main() { route := mux.NewRouter() //route.HandleFunc("/init-importer", controller.StartImport) route.HandleFunc("/init-importer", controller.StartProductImport) route.HandleFunc("/parse-link", controller.ParseLink) route.HandleFunc("/import-link", controller.ImportLink).Methods("POST", "GET") err := http.ListenAndServe(os.Getenv("port"), route) if err != nil { log.Fatal("error: ", err) } }