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

Source

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

Source

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

Source

abstract Bool exists()

Returns true if a session exists.

Does not create a session if it does not already exist.

flash

Source

abstract Str:Obj? 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

Source

@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

Source

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

Source

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

Source

virtual Bool isEmpty()

Returns true if the session map is empty.

Does not create a session if it does not already exist.

map

Source

abstract Str:Obj? 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

Source

abstract Void remove(Str name)

Convenience for map.remove(name).

Does not create a session if it does not already exist.

set

Source

@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