Пример #1
0
func (m *SessionMiddleware) ProcessResponse(env *context.Env) error {
	if env.Session == nil {
		return fmt.Errorf("no session exist")
	}

	env.Session.Expire(m.config.CookieMaxAge)

	if err := env.Session.Save(); err != nil {
		return err
	}

	id, err := EncodeSignID(env.Session.ID(), m.config.secretKey)
	if err != nil {
		return err
	}

	c := &http.Cookie{
		Name:     m.config.CookieName,
		Value:    id,
		Path:     m.config.CookiePath,
		MaxAge:   m.config.CookieMaxAge,
		Secure:   m.config.CookieSecure,
		HttpOnly: m.config.CookieHttpOnly,
	}
	env.SetCookie(c)

	return nil
}