Request

API

function
&key (request \*request\*)

Returns association list with GET or POST parameters for current request.

function
name &key (request \*request\*)

Returns GET or POST parameter by name.

function
name &key (request \*request\*)

Returns value of the HTTP header or nil. Name is case insensitive.

function
name &key (request \*request\*)

Returns value of the cookie or nil. Name is case insensitive string.

function
&key (request \*request\*)
function
&key (request \*request\*)

Detects if the current request was initiated via AJAX by looking for X-Requested-With http header. This function expects to be called in a dynamic hunchentoot environment.

function
&key (request \*request\*)
function
&key (request \*request\*)

Returns a webserver's port.

It may be not a port a lisp server listens on but a port a reverse proxy listens on.

function
&key (request \*request\*)

Returns association list with GET or POST parameters for current request.

Determines if a request is a result of the user invoking a browser refresh function. Note that a request will not be considered a refresh if there is an action involved (even if the user hits refresh).

function
name &key (request \*request\*)

Removes a HTTP header by name, returns new instance of request without given header.

function
&key (request \*request\*)

For URL http://example.com/foo/bar?blah=minor returns it as is.

function
&key (request \*request\*) with-params

For URL http://example.com/foo/bar?blah=minor returns /foo/bar path of the request's URL.

This macro binds current request and stores request path in the session if requiest is not AJAX.

Later, this value is used to determine if user refreshed the page.

Detects if the current request is declared as 'pure', i.e. affects no widgets or internal application state, but merely is a request for information.

Such requests simply return the result of the function that represents the action and are used by some AJAX operations to retreive information (suggest block, etc).

When such requests are satisfied, the actions have access to the session, the widgets, and all other parameters. However, none of the callbacks are executed, no widgets are sent to the client, etc.