github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/app/controller/parse.go (about) 1 package controller 2 3 import ( 4 "net/http" 5 6 "github.com/kyleu/dbaudit/app" 7 "github.com/kyleu/dbaudit/app/controller/cutil" 8 "github.com/kyleu/dbaudit/views/vparse" 9 ) 10 11 func ParseForm(w http.ResponseWriter, r *http.Request) { 12 Act("parse.form", w, r, func(as *app.State, ps *cutil.PageState) (string, error) { 13 return Render(w, r, as, &vparse.SQLServer{Path: "/tmp/*.sqlaudit", Task: "testbed", Limit: 10}, ps) 14 }) 15 } 16 17 func Parse(w http.ResponseWriter, r *http.Request) { 18 Act("parse", w, r, func(as *app.State, ps *cutil.PageState) (string, error) { 19 frm, err := cutil.ParseForm(r, ps.RequestBody) 20 if err != nil { 21 return "", err 22 } 23 24 path := frm.GetStringOpt("path") 25 task := frm.GetStringOpt("task") 26 limit := frm.GetIntOpt("limit") 27 28 res, err := as.Services.Parse.Testbed(ps.Context, path, limit, ps.Logger) 29 if err != nil { 30 return "", err 31 } 32 33 return Render(w, r, as, &vparse.SQLServer{Path: path, Task: task, Limit: limit, Result: res}, ps) 34 }) 35 }