diff options
| author | Joseph Richey <joerichey@google.com> | 2022-04-09 01:44:51 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-09 01:44:51 -0700 |
| commit | 53dc5f37339f40e78cd0e91b358322cc9e589185 (patch) | |
| tree | 68eb53440456ff6cc9c6ecef8b0567510de5310a /metadata/config.go | |
| parent | ce8a5583c1cc2327cf65a048cfd1083225dad50e (diff) | |
| parent | ba0a96b04b08f8c8b533d7dab7e6326c5ecd6ace (diff) | |
Merge pull request #354 from google/staticcheck-fix
Upgrade dependencies to latest version
Diffstat (limited to 'metadata/config.go')
| -rw-r--r-- | metadata/config.go | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/metadata/config.go b/metadata/config.go index b3c8726..d9d694f 100644 --- a/metadata/config.go +++ b/metadata/config.go @@ -28,32 +28,41 @@ package metadata import ( "io" + "io/ioutil" - "github.com/golang/protobuf/jsonpb" + "google.golang.org/protobuf/encoding/protojson" ) // WriteConfig outputs the Config data as nicely formatted JSON func WriteConfig(config *Config, out io.Writer) error { - m := jsonpb.Marshaler{ - EmitDefaults: true, - EnumsAsInts: false, - Indent: "\t", - OrigName: true, + m := protojson.MarshalOptions{ + Multiline: true, + Indent: "\t", + UseProtoNames: true, + UseEnumNumbers: false, + EmitUnpopulated: true, } - if err := m.Marshal(out, config); err != nil { + bytes, err := m.Marshal(config) + if err != nil { return err } - - _, err := out.Write([]byte{'\n'}) + if _, err = out.Write(bytes); err != nil { + return err + } + _, err = out.Write([]byte{'\n'}) return err } // ReadConfig writes the JSON data into the config structure func ReadConfig(in io.Reader) (*Config, error) { + bytes, err := ioutil.ReadAll(in) + if err != nil { + return nil, err + } config := new(Config) - // Allow (and ignore) unknown fields for forwards compatibility. - u := jsonpb.Unmarshaler{ - AllowUnknownFields: true, + // Discard unknown fields for forwards compatibility. + u := protojson.UnmarshalOptions{ + DiscardUnknown: true, } - return config, u.Unmarshal(in, config) + return config, u.Unmarshal(bytes, config) } |