code: func (ui *webInterface) makeReport(w http.ResponseWriter, req *http.Request,
  	cmd []string, vars ...string) (*report.Report, []string) {
  	v := varsFromURL(req.URL)
  	for i := 0; i+1 < len(vars); i += 2 {
  		v[vars[i]].value = vars[i+1]
  	}
  	catcher := &errorCatcher{UI: ui.options.UI}
  	options := *ui.options
  	options.UI = catcher
  	_, rpt, err := generateRawReport(ui.prof, cmd, v, &options)
  	if err != nil {
  		http.Error(w, err.Error(), http.StatusBadRequest)
  		ui.options.UI.PrintErr(err)
  		return nil, nil
  	}
  	return rpt, catcher.errors
  }
docs: // makeReport generates a report for the specified command.