mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2025-04-28 22:25:07 +03:00
parent
1c9fd32533
commit
12c3103039
1 changed files with 23 additions and 32 deletions
|
@ -5,17 +5,14 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
|
||||||
"net/url"
|
"net/url"
|
||||||
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"sort"
|
"sort"
|
||||||
|
|
||||||
"archive/zip"
|
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/remyoudompheng/go-misc/zipfs"
|
|
||||||
|
|
||||||
"github.com/RiV-chain/RiV-mesh/src/config"
|
"github.com/RiV-chain/RiV-mesh/src/config"
|
||||||
"github.com/RiV-chain/RiV-mesh/src/core"
|
"github.com/RiV-chain/RiV-mesh/src/core"
|
||||||
)
|
)
|
||||||
|
@ -206,26 +203,26 @@ func (a *AdminSocket) SetupAdminHandlers() {
|
||||||
return res, nil
|
return res, nil
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
_ = a.AddHandler("addPeers", "Add peers to this node", []string{"uri", "[interface]"}, func(in json.RawMessage) (interface{}, error) {
|
_ = a.AddHandler("addPeers", "Add peers to this node", []string{"uri", "[interface]"}, func(in json.RawMessage) (interface{}, error) {
|
||||||
req := &AddPeersRequest{}
|
req := &AddPeersRequest{}
|
||||||
res := &AddPeersResponse{}
|
res := &AddPeersResponse{}
|
||||||
|
|
||||||
fmt.Println("json addpeers request %s", string(in[:]))
|
fmt.Println("json addpeers request %s", string(in[:]))
|
||||||
|
|
||||||
if err := json.Unmarshal(in, &req); err != nil {
|
if err := json.Unmarshal(in, &req); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := a.addPeersHandler(req, res); err != nil {
|
if err := a.addPeersHandler(req, res); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return res, nil
|
return res, nil
|
||||||
})
|
})
|
||||||
_ = a.AddHandler("removePeers", "Remove all peers from this node", []string{}, func(in json.RawMessage) (interface{}, error) {
|
_ = a.AddHandler("removePeers", "Remove all peers from this node", []string{}, func(in json.RawMessage) (interface{}, error) {
|
||||||
a.core.RemovePeers()
|
a.core.RemovePeers()
|
||||||
res := &AddPeersResponse{}
|
res := &AddPeersResponse{}
|
||||||
return res, nil
|
return res, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
//_ = a.AddHandler("getNodeInfo", []string{"key"}, t.proto.nodeinfo.nodeInfoAdminHandler)
|
//_ = a.AddHandler("getNodeInfo", []string{"key"}, t.proto.nodeinfo.nodeInfoAdminHandler)
|
||||||
//_ = a.AddHandler("debug_remoteGetSelf", []string{"key"}, t.proto.getSelfHandler)
|
//_ = a.AddHandler("debug_remoteGetSelf", []string{"key"}, t.proto.getSelfHandler)
|
||||||
|
@ -235,16 +232,16 @@ func (a *AdminSocket) SetupAdminHandlers() {
|
||||||
|
|
||||||
// Start runs http server
|
// Start runs http server
|
||||||
func (a *AdminSocket) StartHttpServer(nc *config.NodeConfig) {
|
func (a *AdminSocket) StartHttpServer(nc *config.NodeConfig) {
|
||||||
if nc.HttpAddress != "none" && nc.HttpAddress != "" && nc.WwwRoot != "none" && nc.WwwRoot != "" {
|
if nc.HttpAddress != "none" && nc.HttpAddress != "" && nc.WwwRoot != "none" && nc.WwwRoot != ""{
|
||||||
u, err := url.Parse(nc.HttpAddress)
|
u, err := url.Parse(nc.HttpAddress)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
a.log.Errorln("An error occurred parsing http address:", err)
|
a.log.Errorln("An error occurred parsing http address:", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
http.HandleFunc("/api", func(w http.ResponseWriter, r *http.Request) {
|
http.HandleFunc("/api", func(w http.ResponseWriter, r *http.Request){
|
||||||
fmt.Fprintf(w, "Following methods are allowed: getself, getpeers. litening"+u.Host)
|
fmt.Fprintf(w, "Following methods are allowed: getself, getpeers. litening"+u.Host)
|
||||||
})
|
})
|
||||||
http.HandleFunc("/api/getself", func(w http.ResponseWriter, r *http.Request) {
|
http.HandleFunc("/api/getself", func(w http.ResponseWriter, r *http.Request){
|
||||||
w.Header().Add("Content-Type", "application/json")
|
w.Header().Add("Content-Type", "application/json")
|
||||||
req := &GetSelfRequest{}
|
req := &GetSelfRequest{}
|
||||||
res := &GetSelfResponse{}
|
res := &GetSelfResponse{}
|
||||||
|
@ -257,7 +254,7 @@ func (a *AdminSocket) StartHttpServer(nc *config.NodeConfig) {
|
||||||
}
|
}
|
||||||
fmt.Fprintf(w, string(b[:]))
|
fmt.Fprintf(w, string(b[:]))
|
||||||
})
|
})
|
||||||
http.HandleFunc("/api/getpeers", func(w http.ResponseWriter, r *http.Request) {
|
http.HandleFunc("/api/getpeers", func(w http.ResponseWriter, r *http.Request){
|
||||||
w.Header().Add("Content-Type", "application/json")
|
w.Header().Add("Content-Type", "application/json")
|
||||||
req := &GetPeersRequest{}
|
req := &GetPeersRequest{}
|
||||||
res := &GetPeersResponse{}
|
res := &GetPeersResponse{}
|
||||||
|
@ -271,13 +268,7 @@ func (a *AdminSocket) StartHttpServer(nc *config.NodeConfig) {
|
||||||
}
|
}
|
||||||
fmt.Fprintf(w, string(b[:]))
|
fmt.Fprintf(w, string(b[:]))
|
||||||
})
|
})
|
||||||
fs := http.Dir(nc.WwwRoot)
|
http.Handle("/", http.FileServer(http.Dir(nc.WwwRoot)))
|
||||||
pak, err := zip.OpenReader(nc.WwwRoot)
|
|
||||||
if err == nil {
|
|
||||||
fs = zipfs.NewZipFS(&pak.Reader)
|
|
||||||
defer pak.Close()
|
|
||||||
}
|
|
||||||
http.Handle("/", http.FileServer(fs))
|
|
||||||
l, e := net.Listen("tcp4", u.Host)
|
l, e := net.Listen("tcp4", u.Host)
|
||||||
if e != nil {
|
if e != nil {
|
||||||
a.log.Errorln("%s\n", e)
|
a.log.Errorln("%s\n", e)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue