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)
}
}