func main() {
	m := martini.Classic()

	db := initDB()

	m.Use(DB(db))
	m.Use(render.Renderer())

	m.Get("/get", func(r render.Render, db *sql.DB) {
		languages, err := fetchLanguages(db)

		if err != nil {
			r.HTML(500, "error", err)
		} else {
			r.HTML(200, "languages", languages)
		}
	})

	m.Get("/ver", func(r render.Render) {
		appEnv := cfenv.Current()
		r.HTML(200, "version", appEnv)
	})

	m.Get("/wipe", func(r render.Render, db *sql.DB) {

		wipeData(db)

		r.JSON(200, "OK")
	})

	m.Get("/set/:data", func(params martini.Params, r render.Render, db *sql.DB) {
		mydata := params["data"]

		insertData(db, mydata)

		r.JSON(200, "OK")
	})

	//    m.Post("/data/:resource", binding.Json( attribute{} ), func(attr attribute, params martini.Params, writer http.ResponseWriter)
	//		resource :=  ( params["resource"] )
	//    	writer.Header().Set("Content-Type", "application/json")
	//
	//  		return http.StatusOK, "POST placeholder " + resource
	//    })

	m.Run()
}
func dsn() string {
	services := cfenv.Current().Services
	var mysqlService cfenv.Service

	for _, instances := range services {
		for _, instance := range instances {
			if contains(instance.Tags, "mysql") {
				mysqlService = instance
				fmt.Println("Found DB service broker ==> mysql\n")
			}
		}
	}

	credentials := mysqlService.Credentials
	return fmt.Sprintf("%v:%v@tcp(%v:3306)/%v",
		credentials["username"],
		credentials["password"],
		credentials["hostname"],
		credentials["name"])
}