in server/schema_handler.go [206:239]
func parseSchemaForm(w http.ResponseWriter, r *http.Request) *schemaReq {
var err error
s := schemaReq{}
ct, _, _ := mime.ParseMediaType(r.Header.Get("Content-Type"))
switch {
case ct == "application/x-www-form-urlencoded", ct == "multipart/form-data", ct == "":
s.Cmd = r.FormValue("cmd")
s.Name = r.FormValue("name")
s.Body = r.FormValue("body")
s.Service = r.FormValue("service")
s.Cluster = r.FormValue("cluster")
s.DB = r.FormValue("db")
s.Table = r.FormValue("table")
s.InputType = strings.ToLower(r.FormValue("inputType"))
s.Type = r.FormValue("type")
s.Dst = r.FormValue("dst")
s.Alter = r.FormValue("alter")
s.Filter = r.FormValue("filter")
if s.Offset, s.Limit, err = parsePagination(r); log.E(err) {
http.Error(w, err.Error(), http.StatusInternalServerError)
return nil
}
case ct == "application/json":
if err := json.NewDecoder(r.Body).Decode(&s); log.E(err) {
http.Error(w, err.Error(), http.StatusInternalServerError)
return nil
}
default:
code := http.StatusUnsupportedMediaType
http.Error(w, http.StatusText(code), code)
return nil
}
return &s
}