From ab4919d1d12e130155d11743badd078fe79cf7aa Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 22 Jul 2017 13:24:57 +0200 Subject: ... --- file/file.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'file') diff --git a/file/file.go b/file/file.go index 8120463..47f117b 100644 --- a/file/file.go +++ b/file/file.go @@ -110,3 +110,21 @@ func Parse(data []byte, u encoding.BinaryUnmarshaler) (string, io.Reader, error) } return block.Comment, bytes.NewReader(block.Message), nil } + +// TODO rename +func Store(comment string, u encoding.BinaryMarshaler, r io.Reader) ([]byte, error) { + raw, err := u.MarshalBinary() + if err != nil { + return nil, err + } + body, err := ioutil.ReadAll(r) + if err != io.EOF && err != nil { + return nil, err + } + block := &Block{ + Comment: comment, + Bytes: raw, + Message: body, + } + return EncodeToMemory(block), nil +} -- cgit v1.2.3