Mercurial > gemma
changeset 198:c20e86a3c073
Made serialisation of sessions symmetrical.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Fri, 20 Jul 2018 22:57:38 +0200 |
parents | e85413e5befa |
children | ddc7ef95c247 |
files | auth/connection.go |
diffstat | 1 files changed, 9 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/auth/connection.go Fri Jul 20 22:50:59 2018 +0200 +++ b/auth/connection.go Fri Jul 20 22:57:38 2018 +0200 @@ -1,7 +1,6 @@ package auth import ( - "bytes" "database/sql" "encoding/binary" "errors" @@ -50,12 +49,15 @@ mu sync.Mutex } -func (c *Connection) serialize() []byte { - var buf bytes.Buffer - c.session.serialize(&buf) - access, _ := c.last().MarshalText() - binary.Write(&buf, binary.BigEndian, string(access)) - return buf.Bytes() +func (c *Connection) serialize(w io.Writer) error { + if err := c.session.serialize(w); err != nil { + return err + } + access, err := c.last().MarshalText() + if err == nil { + err = binary.Write(w, binary.BigEndian, string(access)) + } + return err } func (c *Connection) deserialize(r io.Reader) error {