1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 05:40:11 +01:00

use io.WriterTo instead of custom save interface ti serialize metadata and rolie.

This commit is contained in:
Sascha L. Teichmann 2021-12-02 00:24:27 +01:00
parent 5276cea0a0
commit 22c7da1ed1
4 changed files with 24 additions and 13 deletions

View file

@ -420,11 +420,24 @@ func NewProviderMetadataDomain(domain string, tlps []TLPLabel) *ProviderMetadata
return pm
}
// Save saves a metadata provider to a writer.
func (pmd *ProviderMetadata) Save(w io.Writer) error {
type nWriter struct {
io.Writer
n int64
}
func (nw *nWriter) Write(p []byte) (int, error) {
n, err := nw.Write(p)
nw.n += int64(n)
return n, err
}
// WriteTo saves a metadata provider to a writer.
func (pmd *ProviderMetadata) WriteTo(w io.Writer) (int64, error) {
enc := json.NewEncoder(w)
enc.SetIndent("", " ")
return enc.Encode(pmd)
nw := nWriter{w, 0}
err := enc.Encode(&nw)
return nw.n, err
}
// LoadProviderMetadata loads a metadata provider from a reader.