Ejemplo n.º 1
0
// implement session.Store.Free()
func (s *store) Free() {
	s.Lock()
	defer s.Unlock()

	for _, v := range s.sessions {
		session.FreeSession(v)
	}

	s.sessions = nil
}
Ejemplo n.º 2
0
// implement session.Store.Delete()
func (s *store) Delete(sid string) error {
	s.Lock()
	defer s.Unlock()

	sess, found := s.sessions[sid]
	if !found {
		return nil
	}

	session.FreeSession(sess)
	return nil
}
Ejemplo n.º 3
0
// implement session.Store.Release()
func (s *store) Release(sess *session.Session) error {
	s.Lock()
	defer s.Unlock()

	str := bytes.NewBufferString("")
	de := gob.NewEncoder(str)
	de.Encode(session.SessionData(sess))

	filepath := s.saveDir + sess.ID()
	return ioutil.WriteFile(filepath, str.Bytes(), mode)

	session.FreeSession(sess)
	return nil
}