示例#1
0
文件: pkgs.go 项目: groob/ape
func handlePkgsCreate(db datastore.Datastore) httprouter.Handle {
	return func(rw http.ResponseWriter, r *http.Request, _ httprouter.Params) {
		accept := acceptHeader(r)

		// process the multipart form
		filename, file, err := processFileUpload(r)
		if err != nil {
			respondError(rw, http.StatusBadRequest, accept, err)
			return
		}

		// save to datastore
		if err = db.AddPkg(filename, file); err != nil {
			respondError(rw, errStatus(err), accept,
				fmt.Errorf("Failed to save file: %v", err))
			return
		}
	}
}