func testHandler(nm *nodemanager.NodeManager) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { wh.Error400(w, fmt.Sprint("Works!")) if addr := r.FormValue("addr"); addr == "" { wh.Error404(w) } else { //wh.SendOr404(w, nm.GetConnection(addr)) wh.Error404(w) } } }
func getTransactionByID(gate *daemon.Gateway) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Method != "GET" { wh.Error405(w, "") return } txid := r.FormValue("txid") if txid == "" { wh.Error400(w, "txid is empty") return } h, err := cipher.SHA256FromHex(txid) if err != nil { wh.Error400(w, err.Error()) return } tx, err := gate.V.GetTransaction(h) if err != nil { wh.Error400(w, err.Error()) return } if tx == nil { wh.Error404(w, "not found") return } resTx := visor.TransactionResult{ Transaction: visor.NewReadableTransaction(tx), Status: tx.Status, } wh.SendOr404(w, &resTx) } }
func getUxOutByID(gateway *daemon.Gateway) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Method != "GET" { wh.Error405(w, "") return } uxid := r.FormValue("uxid") if uxid == "" { wh.Error400(w, "uxid is empty") return } id, err := cipher.SHA256FromHex(uxid) if err != nil { wh.Error400(w, err.Error()) return } uxout, err := gateway.GetUxOutByID(id) if err != nil { wh.Error400(w, err.Error()) return } if uxout == nil { wh.Error404(w, "not found") return } wh.SendOr404(w, uxout) } }
// Update wallet label func walletUpdateHandler(gateway *daemon.Gateway) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { // Update wallet id := r.FormValue("id") if id == "" { wh.Error400(w, "wallet id is empty") return } label := r.FormValue("label") if label == "" { wh.Error400(w, "label is empty") return } wlt := Wg.GetWallet(id) if wlt == nil { wh.Error404(w, fmt.Sprintf("wallet of id: %v does not exist", id)) return } wlt.SetLabel(label) if err := Wg.SaveWallet(wlt.GetID()); err != nil { m := "Failed to save wallet: %v" logger.Critical(m, "Failed to update label of wallet %v", id) wh.Error500(w, "Update wallet failed") return } wh.SendOr404(w, "success") } }
func connectionHandler(gateway *daemon.Gateway) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if addr := r.FormValue("addr"); addr == "" { wh.Error404(w) } else { wh.SendOr404(w, gateway.GetConnection(addr)) } } }
// Returns a http.HandlerFunc for index.html, where index.html is in appLoc func newIndexHandler(appLoc string) http.HandlerFunc { // Serves the main page return func(w http.ResponseWriter, r *http.Request) { page := filepath.Join(appLoc, indexPage) logger.Debug("Serving index page: %s", page) if r.URL.Path == "/" { http.ServeFile(w, r, page) } else { wh.Error404(w) } } }