Session Module
Revision as of 23:37, 8 September 2012 by CG (talk | contribs) (Created page with "This XQuery Module contains functions for handling session information on an HTTP request that has triggered the query. This module is mainly useful in the con...")
This XQuery Module contains functions for handling session information on an HTTP request that has triggered the query. This module is mainly useful in the context of Web Applications.
Contents
Conventions
All functions in this module are assigned to the http://basex.org/modules/session
namespace, which must be dynamically imported. In this documentation, the namespace is bound to the session
prefix.
Functions
session:id
Signatures | request:session-id() as xs:string
|
Summary | Returns the session ID of a servlet request. |
Examples | The following RESTXQ function can be called via http://localhost:8984/restxq/id :
module namespace test = 'http://basex.org/examples/test'; import module namespace request = "http://exquery.org/ns/restxq/request"; declare %restxq:path("/id") function test:id() { 'ID: ' || request:session-id() }; |
session:attribute
Signatures | request:attribute($key as xs:string) as xs:string?
|
Summary | Returns the value of an attribute bound to the current session, or an empty sequence if no value was bound. |
Examples | The following RESTXQ function can e.g. be called via http://localhost:8984/restxq/get?key=user :
module namespace test = 'http://basex.org/examples/test'; import module namespace request = "http://exquery.org/ns/restxq/request"; declare %restxq:path("/get") %restxq:query-param("key", "{$key}", "") %restxq:request("{$req}") function test:get($req, $key) { 'Value of ' || $key || ': ' || request:get-attribute($req, $key) }; |
session:update-attribute
Signatures | request:update-attribute($key as xs:string, $value as xs:string) as empty-sequence()
|
Summary | Binds an attribute with the specified value to the current session. |
Examples | The following RESTXQ function can e.g. be called via http://localhost:8984/restxq/set?key=user&value=john :
module namespace test = 'http://basex.org/examples/test'; import module namespace request = "http://exquery.org/ns/restxq/request"; declare %restxq:path("/set") %restxq:query-param("key", "{$key}", "") %restxq:query-param("value", "{$value}", "") %restxq:request("{$req}") function test:set($req, $key, $value) { request:set-attribute($req, $key, $value), 'Attribute was set.' }; |
Changelog
This module was introduced with Version 7.5.