From d97fab561070205d57f756015cf9e85a559a573e Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 28 Mar 2016 14:58:50 +0200 Subject: Gurad save and load --- server.go | 26 ++++++++++++++++---------- server_test.go | 2 +- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/server.go b/server.go index 110d81b..0f0bdad 100644 --- a/server.go +++ b/server.go @@ -30,22 +30,28 @@ func NewServer(fname string) (*Server, error) { // Save routes to persistent file func (s Server) Save() error { - fd, err := os.Create(s.Data) - if err != nil { - return err + if s.Data != "" { + fd, err := os.Create(s.Data) + if err != nil { + return err + } + defer fd.Close() + return gob.NewEncoder(fd).Encode(s.Route) } - defer fd.Close() - return gob.NewEncoder(fd).Encode(s.Route) + return nil } // Load routes from persistent file func (s *Server) Load() error { - fd, err := os.Open(s.Data) - if err != nil { - return err + if s.Data != "" { + fd, err := os.Open(s.Data) + if err != nil { + return err + } + defer fd.Close() + return gob.NewDecoder(fd).Decode(&s.Route) } - defer fd.Close() - return gob.NewDecoder(fd).Decode(&s.Route) + return nil } func (s *Server) Start() <-chan error { diff --git a/server_test.go b/server_test.go index 9a8e651..d0920c5 100644 --- a/server_test.go +++ b/server_test.go @@ -17,7 +17,7 @@ func TestNewServer(t *testing.T) { })) defer backendServer.Close() - server, err := NewServer("data.gob") + server, err := NewServer("") if err != nil { t.Error(err) } -- cgit v1.2.3