func main()

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)
	}
}