package server import ( "fmt" "io" "monkey" "net/http" "go.mills.io/router" ) func (s *Server) runHandler() router.Handle { return func(w http.ResponseWriter, r *http.Request, p router.Params) { opts := &monkey.Options{ Stdout: w, Stderr: w, Exit: func(status int) { io.WriteString(w, fmt.Sprintf("

Program exited with %d.

", status)) }, } err := monkey.ExecString(r.FormValue("code"), opts) if err != nil { http.Error(w, err.Error(), 400) return } } } func (s *Server) formatHandler() router.Handle { return func(w http.ResponseWriter, r *http.Request, p router.Params) { http.Error(w, "Not Implemented", http.StatusNotImplemented) } }