diff --git a/core/watch.go b/core/watch.go index e052363..bf225a6 100644 --- a/core/watch.go +++ b/core/watch.go @@ -316,17 +316,19 @@ func (mg *Maingate) watchServiceCollection(parentctx context.Context, serveMux * old.Divisions = data.Service.Divisions for _, div := range old.Divisions { var req *http.Request - if div.State == DivisionState_Maintenance { + if div.State == DivisionState_FullOpen { + req, _ = http.NewRequest("POST", div.Url+"/maingate", nil) + } else if div.Maintenance != nil { bt, _ := json.Marshal(div.Maintenance) req, _ = http.NewRequest("POST", div.Url+"/maingate", bytes.NewBuffer(bt)) - } else { - req, _ = http.NewRequest("POST", div.Url+"/maingate", nil) } - // MG-X-API-TOKEN - req.Header.Add("MG-X-API-TOKEN", old.ServerApiTokens[0].Hex()) - if resp, err := http.DefaultClient.Do(req); err == nil { - resp.Body.Close() + if req != nil { + // MG-X-API-TOKEN + req.Header.Add("MG-X-API-TOKEN", old.ServerApiTokens[0].Hex()) + if resp, err := http.DefaultClient.Do(req); err == nil { + resp.Body.Close() + } } } } else if !data.Service.Closed {