mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-01-18 23:36:23 -05:00
29 lines
556 B
Go
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()}
|
|
}
|