|
@@ -2,6 +2,8 @@ package net
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"bytes"
|
|
"bytes"
|
|
|
|
|
+ "encoding/json"
|
|
|
|
|
+ "github.com/golang/protobuf/jsonpb"
|
|
|
"net"
|
|
"net"
|
|
|
"strings"
|
|
"strings"
|
|
|
)
|
|
)
|
|
@@ -209,3 +211,12 @@ func NewIPOrDomain(addr Address) *IPOrDomain {
|
|
|
panic("Unknown Address type.")
|
|
panic("Unknown Address type.")
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+func (d *IPOrDomain) UnmarshalJSONPB(unmarshaler *jsonpb.Unmarshaler, bytes []byte) error {
|
|
|
|
|
+ var ipOrDomain string
|
|
|
|
|
+ if err := json.Unmarshal(bytes, &ipOrDomain); err != nil {
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+ d = NewIPOrDomain(ParseAddress(ipOrDomain))
|
|
|
|
|
+ return nil
|
|
|
|
|
+}
|