Changes

Jump to navigation Jump to search
239 bytes removed ,  12:49, 8 July 2020
no edit summary
This [[Module Library|XQuery Module]] contains functions for retrieving information on an HTTP request that has triggered the query. It is mainly mostly useful in the context of when building [[Web Application]]s.
The module is related to Adam Retter’s based on the [http://exquery.github.com/expath-specs-playground/request-module-1.0-specification.html EXQuery Request Module] draft.
=Conventions=
* The module will be available if the {{Code|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 are assigned to the <code><nowiki>http://exquery.org/ns/request</nowiki></code> namespace, which is statically bound to the {{Code|request}} prefix. Prior to {{Version|9.2}}, the module needed to be imported in the query prolog:<pre class="brush:xquery">import module namespace request = "http://exquery.org/ns/request";...</pre>
* If any of the functions is called outside the servlet context, <code>[[XQuery Errors#BaseX Errors|basex:http]]</code> is raised.
The following example illustrated what components a URI may consist of (the example is derived from [http://tools.ietf.org/html/rfc3986 RFC 3986]):
<presyntaxhighlight>
foo://example.com:8042/over/there?name=ferret
\_/ \_________/ \__/\_________/ \_________/
| | | | |
scheme hostname port path query
</presyntaxhighlight>
=General Functions=
|-
| '''Summary'''
|Returns the Query component of the URI of an HTTP request. If no query has been specifiedcomponent exists, an empty sequence is returned.
|-
| '''Example'''
|-
| width='120' | '''Signatures'''
|{{Func|request:cookie|$name as xs:string|xs:string*?}}<br/>{{Func|request:cookie|$name as xs:string, $default as xs:string|xs:string}}
|-
| '''Summary'''
==request:attribute-names==
 
{{Mark|Introduced with BaseX 9.3:}}
{| width='100%'
==request:attribute==
 
{{Mark|Updated with BaseX 9.3:}} return type generalized, default argument added.
{| width='100%'
|-
| width='120' | '''Signatures'''
|{{Func|request:attribute|$name as xs:string|item()*}}, <br/>{{Func|request:attribute|$name as xs:string, $default as item()*|item()*}}
|-
| '''Summary'''
|Returns the value of an attribute of the HTTP request. If the attribute does not exist, an empty sequence or the optionally specified default value is returned instead.
|-
| '''Example'''
==request:set-attribute==
 
{{Mark|Introduced with BaseX 9.3:}}
{| width='100%'
;Version 9.3
 
* Added: [[#request:attribute-names|request:attribute-names]], [[#request:set-attribute|request:set-attribute]]
* Updated: [[#request:attribute|request:attribute]]: return type generalized, default argument added
;Version 7.9
 
* Updated: The returned values of [[#request:parameter-names|request:parameter-names]], [[#request:parameter|request:parameter]] now also include form field parameters.
;Version 7.8
 
* Added: [[#request:context-path|request:context-path]]
;Version 7.7
 
* Added: [[#request:attribute|request:attribute]]
This module was introduced with Version 7.5.
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu