func GetUpdateGlobalConfigHandler()

in alertmanager/handlers/handlers.go [293:312]


func GetUpdateGlobalConfigHandler(client client.AlertmanagerClient) func(c echo.Context) error {
	return func(c echo.Context) error {
		defer glog.Flush()
		glog.Infof("Update Global Config")
		newGlobalConfig, err := decodeGlobalConfigPostRequest(c)
		if err != nil {
			return echo.NewHTTPError(http.StatusBadRequest, err.Error())
		}
		err = client.SetGlobalConfig(newGlobalConfig)
		if err != nil {
			return echo.NewHTTPError(http.StatusBadRequest, err.Error())
		}

		err = client.ReloadAlertmanager()
		if err != nil {
			return echo.NewHTTPError(http.StatusInternalServerError, err.Error())
		}
		return c.NoContent(http.StatusOK)
	}
}