Skip to content

Commit

Permalink
refactor: simplify protobuf related code
Browse files Browse the repository at this point in the history
  • Loading branch information
yin1999 committed Jan 9, 2024
1 parent 8c2d3b3 commit 4470b51
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 16 deletions.
21 changes: 7 additions & 14 deletions infra/conf/jsonpb/jsonpb.go
@@ -1,7 +1,6 @@
package jsonpb

import (
"bytes"
"io"

"google.golang.org/protobuf/encoding/protojson"
Expand All @@ -16,24 +15,18 @@ import (

//go:generate go run github.com/v2fly/v2ray-core/v5/common/errors/errorgen

func loadJSONPB(reader io.Reader) (*core.Config, error) {
func loadJSONPB(data []byte) (*core.Config, error) {
coreconf := &core.Config{}
jsonpbloader := &protojson.UnmarshalOptions{Resolver: serial.GetResolver()}
data := buf.New()
defer data.Release()
_, err := data.ReadFrom(reader)
if err != nil {
return nil, err
}
err = jsonpbloader.Unmarshal(data.Bytes(), coreconf)
jsonpbloader := protojson.UnmarshalOptions{Resolver: serial.GetResolver()}
err := jsonpbloader.Unmarshal(data, coreconf)
if err != nil {
return nil, err
}
return coreconf, nil
}

func dumpJSONPb(config proto.Message, w io.Writer) error {
jsonpbdumper := &protojson.MarshalOptions{Resolver: serial.GetResolver()}
jsonpbdumper := protojson.MarshalOptions{Resolver: serial.GetResolver()}
data, err := jsonpbdumper.Marshal(config)
if err != nil {
return err
Expand Down Expand Up @@ -63,15 +56,15 @@ func init() {
if err != nil {
return nil, err
}
return loadJSONPB(bytes.NewReader(data))
return loadJSONPB(data)
case []byte:
return loadJSONPB(bytes.NewReader(v))
return loadJSONPB(v)
case io.Reader:
data, err := buf.ReadAllToBytes(v)
if err != nil {
return nil, err
}
return loadJSONPB(bytes.NewReader(data))
return loadJSONPB(data)
default:
return nil, newError("unknown type")
}
Expand Down
4 changes: 2 additions & 2 deletions infra/conf/v2jsonpb/v2jsonpb.go
Expand Up @@ -17,7 +17,7 @@ import (

func loadV2JsonPb(data []byte) (*core.Config, error) {
coreconf := &core.Config{}
jsonpbloader := &protojson.UnmarshalOptions{Resolver: serial.GetResolver(), AllowPartial: true}
jsonpbloader := protojson.UnmarshalOptions{Resolver: serial.GetResolver(), AllowPartial: true}
err := jsonpbloader.Unmarshal(data, &V2JsonProtobufFollower{coreconf.ProtoReflect()})
if err != nil {
return nil, err
Expand All @@ -26,7 +26,7 @@ func loadV2JsonPb(data []byte) (*core.Config, error) {
}

func dumpV2JsonPb(config proto.Message) ([]byte, error) {
jsonpbdumper := &protojson.MarshalOptions{Resolver: serial.GetResolver(), AllowPartial: true}
jsonpbdumper := protojson.MarshalOptions{Resolver: serial.GetResolver(), AllowPartial: true}
bytew, err := jsonpbdumper.Marshal(&V2JsonProtobufFollower{config.ProtoReflect()})
if err != nil {
return nil, err
Expand Down

0 comments on commit 4470b51

Please sign in to comment.