func statusJsonHandler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") // Obtain the status info. Only display error messages if the user // is a logged-in Googler. status := arb.GetStatus(login.IsAGoogler(r)) if err := json.NewEncoder(w).Encode(&status); err != nil { glog.Error(err) } }
func modeJsonHandler(w http.ResponseWriter, r *http.Request) { if !login.IsAGoogler(r) { util.ReportError(w, r, fmt.Errorf("User does not have edit rights."), "You must be logged in with an @google.com account to do that.") return } var mode struct { Mode string `json:"mode"` } defer util.Close(r.Body) if err := json.NewDecoder(r.Body).Decode(&mode); err != nil { util.ReportError(w, r, err, "Failed to decode request body.") return } if err := arb.SetMode(mode.Mode, login.LoggedInAs(r), "[Placeholder Message]"); err != nil { util.ReportError(w, r, err, "Failed to set AutoRoll mode.") return } // Return the ARB status. statusJsonHandler(w, r) }