func CentralPostStats(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") store := context.Get(r, "store").(*storage.Storage) payloadJson, err := ioutil.ReadAll(r.Body) if err != nil { libhttp.HandleErrorJson(w, err) return } payload := make(map[string]interface{}) err = json.Unmarshal(payloadJson, &payload) if err != nil { libhttp.HandleErrorJson(w, err) return } hostname := "" hostnameInterface := payload["hostname"] if hostnameInterface != nil { hostname = hostnameInterface.(string) } store.Set("stats:"+hostname, payload) libhttp.HandleSuccessJson(w, "Stats on host: "+hostname+" is saved successfully") }
func AgentPostConfig(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") mcRouterConfigFile := context.Get(r, "mcRouterConfigFile").(string) if mcRouterConfigFile == "" { err := errors.New("McRouter config file is missing") libhttp.HandleErrorJson(w, err) return } configManager, err := models.NewMcRouterConfigManager(mcRouterConfigFile) if err != nil { libhttp.HandleErrorJson(w, err) return } mcRouterConfigJson, err := ioutil.ReadAll(r.Body) if err != nil { libhttp.HandleErrorJson(w, err) return } err = configManager.UpdateConfigJson(mcRouterConfigJson) if err != nil { libhttp.HandleErrorJson(w, err) return } libhttp.HandleSuccessJson(w, "New config is saved successfully") }
func CentralPostConfigs(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") store := context.Get(r, "store").(*storage.Storage) payloadJson, err := ioutil.ReadAll(r.Body) if err != nil { libhttp.HandleErrorJson(w, err) return } var payload payloads.ReportConfigToCentralPayload err = json.Unmarshal(payloadJson, &payload) if err != nil { libhttp.HandleErrorJson(w, err) return } store.Set("config:"+payload.Hostname, payload.Config) libhttp.HandleSuccessJson(w, "Config on host: "+payload.Hostname+" is saved successfully") }