1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-10 09:50:43 +00:00
v2fly/infra/conf/v2jsonpb/any.go
2021-09-04 11:13:30 +01:00

29 lines
556 B
Go

package v2jsonpb
import (
"github.com/golang/protobuf/jsonpb"
"github.com/golang/protobuf/proto"
"github.com/v2fly/v2ray-core/v4/common/serial"
)
type AnyHolder struct {
proto.Message
}
type resolver struct {
backgroundResolver jsonpb.AnyResolver
}
func (r resolver) Resolve(typeURL string) (proto.Message, error) {
obj, err := r.backgroundResolver.Resolve(typeURL)
if err != nil {
return nil, err
}
return AnyHolder{obj}, nil
}
func NewV2JsonPBResolver() jsonpb.AnyResolver {
return &resolver{backgroundResolver: serial.GetResolver()}
}