| 12 | ) |
| 13 | |
| 14 | func (d *DosNode) startRESTServer() (err error) { |
| 15 | defer fmt.Println("[DOS] End RESTServer") |
| 16 | mux := http.NewServeMux() |
| 17 | mux.HandleFunc("/", d.status) |
| 18 | mux.HandleFunc("/balance", d.balance) |
| 19 | mux.HandleFunc("/enableAdmin", d.enableAdmin) |
| 20 | mux.HandleFunc("/disableAdmin", d.disableAdmin) |
| 21 | mux.HandleFunc("/enableGuardian", d.enableGuardian) |
| 22 | mux.HandleFunc("/disableGuardian", d.disableGuardian) |
| 23 | mux.HandleFunc("/signalGroupFormation", d.signalGroupFormation) |
| 24 | mux.HandleFunc("/signalGroupDissolve", d.signalGroupDissolve) |
| 25 | mux.HandleFunc("/signalBootstrap", d.signalBootstrap) |
| 26 | mux.HandleFunc("/signalRandom", d.signalRandom) |
| 27 | s := http.Server{Addr: ":8080", Handler: mux} |
| 28 | go func() { |
| 29 | <-d.ctx.Done() |
| 30 | s.Shutdown(context.Background()) |
| 31 | }() |
| 32 | err = s.ListenAndServe() |
| 33 | return |
| 34 | } |
| 35 | |
| 36 | func (d *DosNode) status(w http.ResponseWriter, r *http.Request) { |
| 37 | isPendingNode, err := d.chain.IsPendingNode(d.id) |