Exemplo n.º 1
0
func nuttyPut(c context.Context) error {
	sessionid := c.PathValue("sessionid")
	tindex := c.PathValue("tindex")

	log.Println("PUT ", sessionid, " ", tindex)

	data, dataErr := c.RequestBody()
	if dataErr != nil {
		log.Println(dataErr)
		return goweb.API.RespondWithError(c, http.StatusInternalServerError, dataErr.Error())
	}
	dataErr = os.MkdirAll(basedir+sessionid, 0700)
	if dataErr != nil {
		log.Println(dataErr)
		return goweb.API.RespondWithError(c, http.StatusInternalServerError, "Unable to create directory")
	}
	dataErr = ioutil.WriteFile(basedir+sessionid+"/"+tindex, data, 0600)
	if dataErr != nil {
		log.Println(dataErr)
		return goweb.API.RespondWithError(c, http.StatusInternalServerError, "Unable to WriteFile")
	}
	rjsonBytes, err := json.Marshal(struct {
		tindex string `json:"end"`
	}{
		tindex: tindex,
	})
	if err != nil {
		log.Fatalln(err)
	}
	dataErr = ioutil.WriteFile(basedir+sessionid+"/rec.json", rjsonBytes, 0600)
	if dataErr != nil {
		log.Println(dataErr)
		return goweb.API.RespondWithError(c, http.StatusInternalServerError, "Unable to WriteFile")
	}
	return goweb.API.Respond(c, 200, nil, nil)
}