github.com/adoriasoft/tendermint@v0.34.0-dev1.0.20200722151356-96d84601a75a/cmd/tendermint/commands/probe_upnp.go (about)

     1  package commands
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/spf13/cobra"
     7  
     8  	tmjson "github.com/tendermint/tendermint/libs/json"
     9  	"github.com/tendermint/tendermint/p2p/upnp"
    10  )
    11  
    12  // ProbeUpnpCmd adds capabilities to test the UPnP functionality.
    13  var ProbeUpnpCmd = &cobra.Command{
    14  	Use:   "probe_upnp",
    15  	Short: "Test UPnP functionality",
    16  	RunE:  probeUpnp,
    17  }
    18  
    19  func probeUpnp(cmd *cobra.Command, args []string) error {
    20  	capabilities, err := upnp.Probe(logger)
    21  	if err != nil {
    22  		fmt.Println("Probe failed: ", err)
    23  	} else {
    24  		fmt.Println("Probe success!")
    25  		jsonBytes, err := tmjson.Marshal(capabilities)
    26  		if err != nil {
    27  			return err
    28  		}
    29  		fmt.Println(string(jsonBytes))
    30  	}
    31  	return nil
    32  }