mirror of
https://github.com/waku-org/go-multiaddr.git
synced 2025-02-23 11:38:20 +00:00
net: added InterfaceMultiaddrs
This commit is contained in:
parent
76ea093a04
commit
29a9c6f145
30
multiaddr.go
30
multiaddr.go
@ -7,17 +7,15 @@ import (
|
||||
"os"
|
||||
|
||||
ma "github.com/jbenet/go-multiaddr"
|
||||
manet "github.com/jbenet/go-multiaddr/net"
|
||||
)
|
||||
|
||||
var usage = `multiaddr conversion
|
||||
usage: multiaddr [fmt] <>`
|
||||
|
||||
var formats = []string{"string", "bytes", "hex", "raw"}
|
||||
var formats = []string{"string", "bytes", "hex", "slice"}
|
||||
var format string
|
||||
|
||||
func init() {
|
||||
flag.Usage = func() {
|
||||
fmt.Fprintf(os.Stderr, "usage: %s <multiaddr>\n\nFlags:\n", os.Args[0])
|
||||
fmt.Fprintf(os.Stderr, "usage: %s [<multiaddr>]\n\nFlags:\n", os.Args[0])
|
||||
flag.PrintDefaults()
|
||||
}
|
||||
|
||||
@ -29,8 +27,14 @@ func init() {
|
||||
func main() {
|
||||
flag.Parse()
|
||||
args := flag.Args()
|
||||
if len(args) != 1 {
|
||||
die("error: can only take one argument")
|
||||
if len(args) == 0 {
|
||||
maddrs, err := manet.InterfaceMultiaddrs()
|
||||
if err != nil {
|
||||
die(err)
|
||||
}
|
||||
|
||||
output(maddrs...)
|
||||
return
|
||||
}
|
||||
|
||||
m, err := ma.NewMultiaddr(args[0])
|
||||
@ -38,16 +42,22 @@ func main() {
|
||||
die(err)
|
||||
}
|
||||
|
||||
fmt.Println(outfmt(m))
|
||||
output(m)
|
||||
}
|
||||
|
||||
func output(ms ...ma.Multiaddr) {
|
||||
for _, m := range ms {
|
||||
fmt.Println(outfmt(m))
|
||||
}
|
||||
}
|
||||
|
||||
func outfmt(m ma.Multiaddr) string {
|
||||
switch format {
|
||||
case "string":
|
||||
return m.String()
|
||||
case "bytes":
|
||||
case "slice":
|
||||
return fmt.Sprintf("%v", m.Bytes())
|
||||
case "raw":
|
||||
case "bytes":
|
||||
return string(m.Bytes())
|
||||
case "hex":
|
||||
return "0x" + hex.EncodeToString(m.Bytes())
|
||||
|
Loading…
x
Reference in New Issue
Block a user