From 1876fbd6cd829a5b7cdeb650816c7a756790b1eb Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Sat, 4 Sep 2021 20:30:39 +0100 Subject: [PATCH] added custom ip or domain unmarshal logic --- common/net/address.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/common/net/address.go b/common/net/address.go index 9ba8c4734..c9bf5e4fa 100644 --- a/common/net/address.go +++ b/common/net/address.go @@ -2,6 +2,8 @@ package net import ( "bytes" + "encoding/json" + "github.com/golang/protobuf/jsonpb" "net" "strings" ) @@ -209,3 +211,12 @@ func NewIPOrDomain(addr Address) *IPOrDomain { 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 +}