summaryrefslogtreecommitdiff
path: root/store.go
diff options
context:
space:
mode:
Diffstat (limited to 'store.go')
-rw-r--r--store.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/store.go b/store.go
index a5cb867..5eaea81 100644
--- a/store.go
+++ b/store.go
@@ -16,9 +16,19 @@ import (
)
// Store is an interface for custom session stores.
+//
+// See CookieStore and FilesystemStore for examples.
type Store interface {
+ // Get should return a cached session.
Get(r *http.Request, name string) (*Session, error)
+
+ // New should create and return a new session.
+ //
+ // Note that New should never return a nil session, even in the case of
+ // an error if using the Registry infrastructure to cache the session.
New(r *http.Request, name string) (*Session, error)
+
+ // Save should persist session to the underlying store implementation.
Save(r *http.Request, w http.ResponseWriter, s *Session) error
}