| 98 | } |
| 99 | |
| 100 | func drainingHandler(w http.ResponseWriter, r *http.Request) { |
| 101 | enableStr := r.URL.Query().Get("enable") |
| 102 | |
| 103 | enable, err := strconv.ParseBool(enableStr) |
| 104 | if err != nil { |
| 105 | x.SetStatus(w, x.ErrorInvalidRequest, |
| 106 | "Found invalid value for the enable parameter") |
| 107 | return |
| 108 | } |
| 109 | |
| 110 | gqlReq := &schema.Request{ |
| 111 | Query: ` |
| 112 | mutation draining($enable: Boolean) { |
| 113 | draining(enable: $enable) { |
| 114 | response { |
| 115 | code |
| 116 | } |
| 117 | } |
| 118 | }`, |
| 119 | Variables: map[string]interface{}{"enable": enable}, |
| 120 | } |
| 121 | if resp := resolveWithAdminServer(gqlReq, r, adminServer); len(resp.Errors) != 0 { |
| 122 | x.SetStatus(w, resp.Errors[0].Message, "draining mode request failed.") |
| 123 | return |
| 124 | } |
| 125 | w.Header().Set("Content-Type", "application/json") |
| 126 | x.Check2(w.Write([]byte(fmt.Sprintf(`{"code": "Success",`+ |
| 127 | `"message": "draining mode has been set to %v"}`, enable)))) |
| 128 | } |
| 129 | |
| 130 | func shutDownHandler(w http.ResponseWriter, r *http.Request) { |
| 131 | gqlReq := &schema.Request{ |