started writing a new endpoint for server peer info
This commit is contained in:
parent
fb465133b9
commit
cb18a44cfa
@ -69,6 +69,10 @@ type server_ctl_server_conns_id_routes_id struct {
|
|||||||
server_ctl
|
server_ctl
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type server_ctl_server_conns_id_routes_id_peers struct {
|
||||||
|
server_ctl
|
||||||
|
}
|
||||||
|
|
||||||
type server_ctl_stats struct {
|
type server_ctl_stats struct {
|
||||||
server_ctl
|
server_ctl
|
||||||
}
|
}
|
||||||
@ -414,6 +418,57 @@ oops:
|
|||||||
|
|
||||||
// ------------------------------------
|
// ------------------------------------
|
||||||
|
|
||||||
|
func (ctl *server_ctl_server_conns_id_routes_id_peers) ServeHTTP(w http.ResponseWriter, req *http.Request) (int, error) {
|
||||||
|
var s *Server
|
||||||
|
var status_code int
|
||||||
|
var conn_id string
|
||||||
|
var route_id string
|
||||||
|
var je *json.Encoder
|
||||||
|
var r *ServerRoute
|
||||||
|
var err error
|
||||||
|
|
||||||
|
s = ctl.s
|
||||||
|
je = json.NewEncoder(w)
|
||||||
|
|
||||||
|
conn_id = req.PathValue("conn_id")
|
||||||
|
route_id = req.PathValue("route_id")
|
||||||
|
r, err = s.FindServerRouteByIdStr(conn_id, route_id)
|
||||||
|
if err != nil {
|
||||||
|
status_code = WriteJsonRespHeader(w, http.StatusNotFound)
|
||||||
|
je.Encode(JsonErrmsg{Text: err.Error()})
|
||||||
|
goto oops
|
||||||
|
}
|
||||||
|
|
||||||
|
switch req.Method {
|
||||||
|
case http.MethodGet:
|
||||||
|
status_code = WriteJsonRespHeader(w, http.StatusOK)
|
||||||
|
err = je.Encode(json_out_server_route{
|
||||||
|
Id: r.Id,
|
||||||
|
ClientPeerAddr: r.PtcAddr,
|
||||||
|
ClientPeerName: r.PtcName,
|
||||||
|
ServerPeerServiceAddr: r.SvcAddr.String(),
|
||||||
|
ServerPeerServiceNet: r.SvcPermNet.String(),
|
||||||
|
ServerPeerOption: r.SvcOption.String(),
|
||||||
|
})
|
||||||
|
if err != nil { goto oops }
|
||||||
|
|
||||||
|
case http.MethodDelete:
|
||||||
|
//r.ReqStopAllServerPeerConns()
|
||||||
|
status_code = WriteEmptyRespHeader(w, http.StatusNoContent)
|
||||||
|
|
||||||
|
default:
|
||||||
|
status_code = WriteEmptyRespHeader(w, http.StatusMethodNotAllowed)
|
||||||
|
}
|
||||||
|
|
||||||
|
//done:
|
||||||
|
return status_code, nil
|
||||||
|
|
||||||
|
oops:
|
||||||
|
return status_code, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------------------------
|
||||||
|
|
||||||
func (ctl *server_ctl_stats) ServeHTTP(w http.ResponseWriter, req *http.Request) (int, error) {
|
func (ctl *server_ctl_stats) ServeHTTP(w http.ResponseWriter, req *http.Request) (int, error) {
|
||||||
var s *Server
|
var s *Server
|
||||||
var status_code int
|
var status_code int
|
||||||
|
@ -1074,6 +1074,8 @@ func NewServer(ctx context.Context, name string, logger Logger, cfg *ServerConfi
|
|||||||
s.wrap_http_handler(&server_ctl_server_conns_id_routes{server_ctl{s: &s, id: HS_ID_CTL}}))
|
s.wrap_http_handler(&server_ctl_server_conns_id_routes{server_ctl{s: &s, id: HS_ID_CTL}}))
|
||||||
s.ctl_mux.Handle(s.cfg.CtlPrefix + "/_ctl/server-conns/{conn_id}/routes/{route_id}",
|
s.ctl_mux.Handle(s.cfg.CtlPrefix + "/_ctl/server-conns/{conn_id}/routes/{route_id}",
|
||||||
s.wrap_http_handler(&server_ctl_server_conns_id_routes_id{server_ctl{s: &s, id: HS_ID_CTL}}))
|
s.wrap_http_handler(&server_ctl_server_conns_id_routes_id{server_ctl{s: &s, id: HS_ID_CTL}}))
|
||||||
|
s.ctl_mux.Handle(s.cfg.CtlPrefix + "/_ctl/server-conns/{conn_id}/routes/{route_id}/peers",
|
||||||
|
s.wrap_http_handler(&server_ctl_server_conns_id_routes_id_peers{server_ctl{s: &s, id: HS_ID_CTL}}))
|
||||||
s.ctl_mux.Handle(s.cfg.CtlPrefix + "/_ctl/stats",
|
s.ctl_mux.Handle(s.cfg.CtlPrefix + "/_ctl/stats",
|
||||||
s.wrap_http_handler(&server_ctl_stats{server_ctl{s: &s, id: HS_ID_CTL}}))
|
s.wrap_http_handler(&server_ctl_stats{server_ctl{s: &s, id: HS_ID_CTL}}))
|
||||||
s.ctl_mux.Handle(s.cfg.CtlPrefix + "/_ctl/token",
|
s.ctl_mux.Handle(s.cfg.CtlPrefix + "/_ctl/token",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user