in code/app/main.go [31:64]
func main() {
port := os.Getenv("PORT")
bucket := os.Getenv("BUCKET")
if port == "" {
port = "8080"
}
fmt.Printf("Port: %s\n", port)
var err error
cs, err = NewCloudStorage(bucket)
if err != nil {
log.Printf("failed to create client: %v", err)
return
}
defer cs.Close()
router := mux.NewRouter().StrictSlash(true)
router.HandleFunc("/api/v1/image", listHandler).Methods(http.MethodGet, http.MethodOptions)
router.HandleFunc("/api/v1/image", createHandler).Methods(http.MethodPost)
router.HandleFunc("/api/v1/image/{id}", readHandler).Methods(http.MethodGet)
router.HandleFunc("/api/v1/image/{id}", deleteHandler).Methods(http.MethodDelete)
router.HandleFunc("/api/v1/image/{id}", updateHandler).Methods(http.MethodPost, http.MethodPut)
router.PathPrefix("/").Handler(http.FileServer(http.Dir("./static/")))
headersOk := handlers.AllowedHeaders([]string{"X-Requested-With"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS", "DELETE"})
log.Fatal(http.ListenAndServe(":"+port, handlers.CORS(originsOk, headersOk, methodsOk)(router)))
}