kaspad/server/rpc/handle_add_manual_node.go
Ori Newman 707a728656
[NOD-552] Add NormalizeRPCServerAddress and use it where needed (#643)
* [NOD-552] Add NormalizeRPCServerAddress and use it where needed

* [NOD-552] Make NormalizeAddress return an error for an invalid address

* [NOD-552] Use longer lines for a comment
2020-03-01 16:37:26 +02:00

38 lines
849 B
Go

package rpc
import (
"github.com/kaspanet/kaspad/rpcmodel"
"github.com/kaspanet/kaspad/util/network"
)
// handleAddManualNode handles addManualNode commands.
func handleAddManualNode(s *Server, cmd interface{}, closeChan <-chan struct{}) (interface{}, error) {
c := cmd.(*rpcmodel.AddManualNodeCmd)
oneTry := c.OneTry != nil && *c.OneTry
addr, err := network.NormalizeAddress(c.Addr, s.cfg.DAGParams.DefaultPort)
if err != nil {
return nil, &rpcmodel.RPCError{
Code: rpcmodel.ErrRPCInvalidParameter,
Message: err.Error(),
}
}
if oneTry {
err = s.cfg.ConnMgr.Connect(addr, false)
} else {
err = s.cfg.ConnMgr.Connect(addr, true)
}
if err != nil {
return nil, &rpcmodel.RPCError{
Code: rpcmodel.ErrRPCInvalidParameter,
Message: err.Error(),
}
}
// no data returned unless an error.
return nil, nil
}