in server/table_handler.go [245:277]
func tableCmd(w http.ResponseWriter, r *http.Request) {
var err error
t := parseTableForm(w, r)
if t == nil {
return
}
if t.Cmd == "list" {
err = handleListCmd(w, t)
} else if len(t.Service) == 0 || len(t.Cluster) == 0 || len(t.DB) == 0 || len(t.Table) == 0 {
err = errors.New("invalid command, parameters(service,cluster,db,table) must not be empty")
} else if t.Cmd == "add" && len(t.OutputFormat) == 0 && !outputSQL(t.Output) {
err = errors.New("invalid add command. outputFormat must not be empty")
} else if (t.Cmd == "del" || t.Cmd == "add") && (len(t.Input) == 0 || len(t.Output) == 0) {
err = fmt.Errorf("parameters(input,output) must not be empty for '%v' command", t.Cmd)
} else if t.Cmd == "del" {
err = handleDelCmd(w, t)
} else if t.Cmd == "add" {
err = handleAddCmd(w, t)
} else {
err = errors.New("unknown command (possible commands add/del/list)")
}
if err != nil {
log.Errorf("Table http: cmd=%v, service=%v, cluster=%v, db=%v, table=%v, input=%v, output=%v, version=%v, outputFormat=%v, error=%v", t.Cmd, t.Service, t.Cluster, t.DB, t.Table, t.Input, t.Output, t.Version, t.OutputFormat, err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
}