const mixinafBedSheet::HttpSession
afBedSheet::HttpSession
(Service) - An injectable const
version of WebSession.
Provides a name/value map associated with a specific browser connection to the web server. A cookie (with the name fanws
) is used to track which session is made available to the request.
All values stored in the session must be serializable.
For scalable applications, the session should be used sparingly; house cleaned regularly and not used as a dumping ground.
Flash
Whereas normal session values are persisted indefinitely, flash vales only exist until the end of the next request. After that, they are removed from the session.
A common usage is to store message values before a redirect (usually after a form post). When the following page is rendered, the message is retrieved and displayed. After which the message is automatically discarded from the session.
(Flash: A-ah - Saviour of the Universe!)
- containsKey
virtual Bool containsKey(Str key)
Returns
true
if the session map contains the given key.Does not create a session if it does not already exist.
- delete
abstract Void delete()
Delete this web session which clears both the user agent cookie and the server side session instance. This method must be called before the WebRes is committed otherwise the server side instance is cleared, but the user agent cookie will remain uncleared.
Does not create a session if it does not already exist.
@see web::WebSession
- exists
abstract Bool exists()
Returns
true
if a session exists.Does not create a session if it does not already exist.
- flash
Application name/value pairs which are persisted only until the user's next HTTP request. Values stored in this map must be serializable.
Calling this will create a session if it doesn't already exist.
The returned map is MODIFIABLE.
@see web::WebSession
- get
@
Operator
Obj? get(Str name, Obj? def := null)Convenience for
map.get(name, def)
.Does not create a session if it does not already exist.
@see web::WebSession
- getOrAdd
abstract Obj? getOrAdd(Str key, |Str->Obj? valFunc)
Convenience for
map.getOrAdd(name, valFunc)
.Calling this will create a session if it doesn't already exist.
- id
abstract Str id()
Get the unique id used to identify this session.
Calling this will create a session if it doesn't already exist.
@see web::WebSession
- isEmpty
virtual Bool isEmpty()
Returns
true
if the session map is empty.Does not create a session if it does not already exist.
- map
Application name/value pairs which are persisted between HTTP requests. The values stored in this map must be serializable.
Calling this will create a session if it doesn't already exist.
The returned map is READ ONLY. Use the methods on this class to write to the session. This is so we can fail fast (before a response is sent to the user) should a value not be serializable.
@see web::WebSession
- remove
abstract Void remove(Str name)
Convenience for
map.remove(name)
.Does not create a session if it does not already exist.
- set
@
Operator
abstract Void set(Str name, Obj? val)Convenience for
map.set(name, val)
.Calling this will create a session if it doesn't already exist.
@see web::WebSession