Difference between revisions of "Web Module"
Jump to navigation
Jump to search
Line 37: | Line 37: | ||
* <code><nowiki>web:create-url('http://find.me', map { 'q': 'dog' })</nowiki></code> returns <code><nowiki>http://find.me?q=dog</nowiki></code> | * <code><nowiki>web:create-url('http://find.me', map { 'q': 'dog' })</nowiki></code> returns <code><nowiki>http://find.me?q=dog</nowiki></code> | ||
* <code><nowiki>web:create-url('search', map { 'year': (2000,2001), 'title':() })</nowiki></code> returns <code>search?year=2000&year=2001</code> | * <code><nowiki>web:create-url('search', map { 'year': (2000,2001), 'title':() })</nowiki></code> returns <code>search?year=2000&year=2001</code> | ||
+ | |} | ||
+ | |||
+ | ==web:redirect== | ||
+ | |||
+ | {| width='100%' | ||
+ | |- | ||
+ | | width='120' | '''Signatures''' | ||
+ | |{{Func|web:redirect|$location as xs:string|element(rest:response)}}<br/> | ||
+ | |- | ||
+ | | '''Summary''' | ||
+ | |Creates a [[RESTXQ#Forwards and Redirects|RESTXQ redirection]] to the specified location. Redirects will only work if no other items are returned. | ||
+ | |- | ||
+ | | '''Examples''' | ||
+ | |The query <code><nowiki>web:redirect('/a/b')</nowiki></code> returns the following response element: | ||
+ | <pre class="brush:xquery"> | ||
+ | <rest:response xmlns:rest="http://exquery.org/ns/restxq"> | ||
+ | <http:response xmlns:http="http://expath.org/ns/http-client" status="302"> | ||
+ | <http:header name="location" value="/a/b"/> | ||
+ | </http:response> | ||
+ | </rest:response> | ||
+ | </pre> | ||
|} | |} | ||
Revision as of 15:25, 27 March 2015
This XQuery Module provides convenience functions for building web applications with RESTXQ.
Contents
Conventions
All functions in this module are assigned to the http://basex.org/modules/web
namespace, which is statically bound to the web
prefix.
All errors are assigned to the http://basex.org/errors
namespace, which is statically bound to the bxerr
prefix.
Functions
web:content-type
Signatures | web:content-type($path as xs:string) as xs:string |
Summary | Returns the content type of a path by analyzing its file suffix. application/octet-stream is returned if the file suffix is unknown.
|
Examples |
|
web:create-url
Signatures | web:create-url($url as xs:string, $parameters as map(*)) as xs:string |
Summary | Creates a new URL from the specified $url string and the $parameters specified in a map. The keys and and values of the map entries will be converted to strings, URI-encoded, and appended to the url as query parameters. If a map entry has more than a single item, all of them will be appended as single parameters.
|
Examples |
|
web:redirect
Signatures | web:redirect($location as xs:string) as element(rest:response) |
Summary | Creates a RESTXQ redirection to the specified location. Redirects will only work if no other items are returned. |
Examples | The query web:redirect('/a/b') returns the following response element:
<rest:response xmlns:rest="http://exquery.org/ns/restxq"> <http:response xmlns:http="http://expath.org/ns/http-client" status="302"> <http:header name="location" value="/a/b"/> </http:response> </rest:response> |
Changelog
The module was introduced with Version 8.1.