in main.go [37:77]
func main() {
var app MyHttpApp
configPathPtr := flag.String("config", "config/serverconfig.yaml", "path to the yaml config file")
flag.Parse()
/*
read in config and establish connection to persistence layer
*/
log.Printf("Reading config from %s", *configPathPtr)
config, configReadErr := helpers.ReadConfig(*configPathPtr)
log.Print("Done.")
if configReadErr != nil {
log.Fatal("No configuration, can't continue")
}
redisClient, redisErr := SetupRedis(config)
if redisErr != nil {
log.Fatal("Could not connect to redis")
}
app.healthcheck.redisClient = redisClient
app.uploadFile.redisClient = redisClient
app.uploadFile.config = config
app.initiate.redisClient = redisClient
app.initiate.config = config
app.validateChecksum.redisClient = redisClient
app.validateChecksum.config = config
http.Handle("/", app.index)
http.Handle("/healthcheck", app.healthcheck)
http.Handle("/initiate", app.initiate)
http.Handle("/upload", app.uploadFile)
http.Handle("/validate", app.validateChecksum)
log.Printf("Starting server on port 9000")
startServerErr := http.ListenAndServe(":9000", nil)
if startServerErr != nil {
log.Fatal(startServerErr)
}
}