Sessions Functions
This module contains functions for accessing and modifying all registered server-side sessions. The module is mainly useful in the context of Web Applications.
The Session Module restricts these operations to the session of the current request, and needs no special permissions.
- The module will be available if the
basex-api library is found in the classpath. This is the case if you use one of the complete distributions of BaseX (zip, exe, war). - All functions and errors are in the
http://basex.org/modules/sessions namespace, to which the sessions prefix is statically bound. - If any of the functions is called outside the servlet context,
basex:http is raised. - If a specified session id is not found,
not-found is raised. - As session access is side-effecting, all functions are flagged as nondeterministic. As a result, some query optimizations will be suppressed.
| Signature | sessions:ids() as xs:string*admin |
|---|
| Summary | Returns the IDs of all registered sessions. |
|---|
Added: New function.
| Signature | sessions:list-details( $id as xs:string := ()) as element(session)*admin |
|---|
| Summary | Returns information on all registered sessions, or on the session with the specified $id (or an empty sequence if this session is not found). The returned elements have the following attributes:
id: session IDcreated: time when the session was createdaccessed: time when the session was last accessedexpires: time when the session will expire if it is not accessed again (included if the session has a timeout)
|
|---|
| Signature | sessions:created( $id as xs:string) as xs:dateTimeadmin |
|---|
| Summary | Returns the creation time of the session specified by $id. |
|---|
| Signature | sessions:accessed( $id as xs:string) as xs:dateTimeadmin |
|---|
| Summary | Returns the last access time of the session specified by $id. |
|---|
| Signature | sessions:names( $id as xs:string) as xs:string*admin |
|---|
| Summary | Returns the names of all attributes bound to the session specified by $id. |
|---|
| Signature | sessions:get( $id as xs:string, $key as xs:string, $default as item()* := ()) as item()*admin |
|---|
| Summary | Returns the value of the attribute with the specified $key from the session with the specified $id. If the attribute is unknown, an empty sequence or the optionally specified $default value will be returned instead. |
|---|
| Signature | sessions:set( $id as xs:string, $key as xs:string, $value as item()*) as empty-sequence()admin |
|---|
| Summary | Assigns the specified $value to the attribute with the specified $key in the session with the specified $id. |
|---|
| Signature | sessions:delete( $id as xs:string, $key as xs:string) as empty-sequence()admin |
|---|
| Summary | Deletes the attribute with the specified $key from the session with the specified $id. |
|---|
| Signature | sessions:close( $id as xs:string) as empty-sequence()admin |
|---|
| Summary | Unregisters the session specified by $id. |
|---|
| Code | Description |
|---|
not-found | The specified session is not available. |
Version 13.0Version 9.3- Updated:
sessions:get: Values that have no XQuery type will be returned as strings.
Version 9.0- Updated: error codes updated; errors now use the module namespace
Version 8.4- Updated: Allow sequences as session values.
Version 7.5
⚡Generated with XQuery