Using the Session
The functions and macros to manipulate the session are defined in the
REBLOCKS
/SESSION
package.
Session initialization
When a new user opens the site in the browser, Reblocks does these steps:
Creates a new session object. You can consider it a hash table where some data could be stored.
Generates an unique id and put's this session object to the hash map of all sessions.
Calls the
init-session
generic function to determine what widget should be shown to the user.Renders the root widget to
HTML
and sends it to the browser.Along with this
HTML
response, sendsSet-Cookie
header to save session id in the browser.
The method you define for init-session
generic-function should return a root widget.
This widget may include children and render them in it's
reblocks/widget:render
generic-function implementation.
You will find an example of init-session
in the Quickstart
section.
Storing data
You can store any kind of data in a session.
To set a value, use (SETF GET-VALUE)
function.
For example, you might want to store information about the current user if he logged in: