This is the reblocks Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:33:54 2024 GMT+0.
reblocks
reblocks/app
reblocks/app-mop
reblocks/js/base
reblocks/html
reblocks/utils/string
reblocks/utils/list
reblocks/variables
reblocks/server
reblocks/session
reblocks/hooks
reblocks/routes
reblocks/request
reblocks/response
reblocks/commands
reblocks/page
reblocks/dependencies
reblocks/utils/misc
reblocks/widgets/dom
reblocks/request-handler
reblocks/widget
reblocks/widgets/mop
reblocks/page-dependencies
reblocks/actions
reblocks/app-actions
reblocks/utils/uri
reblocks/error-handler
reblocks/debug
reblocks/session-reset
reblocks/utils/timing
reblocks/welcome/app
reblocks/default-init
reblocks/widgets/string-widget
reblocks/commands-hook
reblocks/widgets/funcall-widget
reblocks/welcome/widget
reblocks/utils/clos
reblocks/utils/i18n
reblocks/preview
reblocks/js/jquery
reblocks/js
reblocks/app-dependencies
reblocks/widgets/render-methods
reblocks/routes-error-handler
reblocks/dependencies-impl
reblocks/reblocks.asd
reblocks/app/file-type.lisp
reblocks/app-mop/file-type.lisp
reblocks/js/base/file-type.lisp
reblocks/html/file-type.lisp
reblocks/utils/string/file-type.lisp
reblocks/utils/list/file-type.lisp
reblocks/variables/file-type.lisp
reblocks/server/file-type.lisp
reblocks/session/file-type.lisp
reblocks/hooks/file-type.lisp
reblocks/routes/file-type.lisp
reblocks/request/file-type.lisp
reblocks/response/file-type.lisp
reblocks/commands/file-type.lisp
reblocks/page/file-type.lisp
reblocks/dependencies/file-type.lisp
reblocks/utils/misc/file-type.lisp
reblocks/widgets/dom/file-type.lisp
reblocks/request-handler/file-type.lisp
reblocks/widget/file-type.lisp
reblocks/widgets/mop/file-type.lisp
reblocks/page-dependencies/file-type.lisp
reblocks/actions/file-type.lisp
reblocks/app-actions/file-type.lisp
reblocks/utils/uri/file-type.lisp
reblocks/error-handler/file-type.lisp
reblocks/debug/file-type.lisp
reblocks/session-reset/file-type.lisp
reblocks/utils/timing/file-type.lisp
reblocks/welcome/app/file-type.lisp
reblocks/default-init/file-type.lisp
reblocks/widgets/string-widget/file-type.lisp
reblocks/commands-hook/file-type.lisp
reblocks/widgets/funcall-widget/file-type.lisp
reblocks/welcome/widget/file-type.lisp
reblocks/utils/clos/file-type.lisp
reblocks/utils/i18n/file-type.lisp
reblocks/preview/file-type.lisp
reblocks/js/jquery/file-type.lisp
reblocks/js/file-type.lisp
reblocks/app-dependencies/file-type.lisp
reblocks/widgets/render-methods/file-type.lisp
reblocks/routes-error-handler/file-type.lisp
reblocks/dependencies-impl/file-type.lisp
reblocks/welcome/widget
reblocks/debug
reblocks/js
reblocks/request
reblocks/server
reblocks/app-mop
reblocks/utils/string
reblocks/widgets/dom
reblocks/preview
reblocks/utils/misc
reblocks/widgets/mop
reblocks/request-handler
reblocks/default-init
reblocks/widget
reblocks/app
reblocks/widgets/funcall-widget
reblocks/utils/timing
reblocks/commands
reblocks/routes-error-handler
reblocks/app-actions
reblocks/commands-hook
reblocks/response
reblocks/dependencies
reblocks/routes
reblocks/utils/i18n
reblocks/session
reblocks/actions
reblocks/app-dependencies
reblocks/error-handler
reblocks/utils/uri
reblocks/widgets/render-methods
reblocks/variables
reblocks/page
reblocks/js/jquery
reblocks/hooks
reblocks/welcome/app
reblocks/utils/list
reblocks/session-reset
reblocks/widgets/string-widget
reblocks/js/base
reblocks/page-dependencies
reblocks/utils/clos
reblocks/dependencies-impl
reblocks/html
The main system appears first, followed by any subsystem dependency.
reblocks
reblocks/app
reblocks/app-mop
reblocks/js/base
reblocks/html
reblocks/utils/string
reblocks/utils/list
reblocks/variables
reblocks/server
reblocks/session
reblocks/hooks
reblocks/routes
reblocks/request
reblocks/response
reblocks/commands
reblocks/page
reblocks/dependencies
reblocks/utils/misc
reblocks/widgets/dom
reblocks/request-handler
reblocks/widget
reblocks/widgets/mop
reblocks/page-dependencies
reblocks/actions
reblocks/app-actions
reblocks/utils/uri
reblocks/error-handler
reblocks/debug
reblocks/session-reset
reblocks/utils/timing
reblocks/welcome/app
reblocks/default-init
reblocks/widgets/string-widget
reblocks/commands-hook
reblocks/widgets/funcall-widget
reblocks/welcome/widget
reblocks/utils/clos
reblocks/utils/i18n
reblocks/preview
reblocks/js/jquery
reblocks/js
reblocks/app-dependencies
reblocks/widgets/render-methods
reblocks/routes-error-handler
reblocks/dependencies-impl
reblocks
A Common Lisp web framework, successor of the Weblocks.
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
40ants-doc
(system).
reblocks/app
(system).
reblocks/server
(system).
reblocks/debug
(system).
reblocks/default-init
(system).
reblocks/commands-hook
(system).
reblocks/widgets/string-widget
(system).
reblocks/widgets/funcall-widget
(system).
reblocks/welcome/widget
(system).
reblocks/utils/clos
(system).
reblocks/utils/i18n
(system).
reblocks/preview
(system).
reblocks/js/jquery
(system).
reblocks/app-dependencies
(system).
reblocks/widgets/render-methods
(system).
reblocks/routes-error-handler
(system).
reblocks/dependencies-impl
(system).
lack-middleware-session
(system).
reblocks/app
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
f-underscore
(system).
cl-ppcre
(system).
reblocks/app-mop
(system).
reblocks/js/base
(system).
reblocks/utils/string
(system).
reblocks/utils/list
(system).
reblocks/variables
(system).
reblocks/app-mop
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
metatilities
(system).
closer-mop
(system).
reblocks/js/base
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
parenscript
(system).
reblocks/html
(system).
cl-ppcre
(system).
reblocks/html
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
spinneret
(system).
reblocks/utils/string
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
cl-fad
(system).
metatilities
(system).
reblocks/utils/list
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
anaphora
(system).
reblocks/variables
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
serapeum
(system).
reblocks/server
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
routes
(system).
reblocks/app
(system).
reblocks/session
(system).
reblocks/hooks
(system).
reblocks/routes
(system).
reblocks/request
(system).
reblocks/response
(system).
reblocks/request-handler
(system).
lack/request
(system).
lack/response
(system).
clack
(system).
cl-strings
(system).
reblocks/debug
(system).
log4cl
(system).
reblocks/welcome/app
(system).
alexandria
(system).
reblocks/utils/list
(system).
reblocks/page
(system).
reblocks/session
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
alexandria
(system).
log4cl
(system).
lack-util
(system).
lack-middleware-session
(system).
lack-middleware-session
(system).
bordeaux-threads
(system).
trivial-garbage
(system).
lack-middleware-session
(system).
reblocks/hooks
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
f-underscore
(system).
reblocks/session
(system).
log4cl
(system).
metatilities
(system).
alexandria
(system).
40ants-doc/ignored-words
(system).
reblocks/routes
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
routes
(system).
reblocks/request
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
metacopy
(system).
cl-ppcre
(system).
lack-request
(system).
alexandria
(system).
reblocks/variables
(system).
quri
(system).
str
(system).
reblocks/response
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
log4cl
(system).
parenscript
(system).
reblocks/request
(system).
reblocks/js/base
(system).
reblocks/commands
(system).
quri
(system).
alexandria
(system).
serapeum
(system).
cl-cookie
(system).
lack-response
(system).
reblocks/page
(system).
reblocks/commands
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
alexandria
(system).
parenscript
(system).
reblocks/page
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
parenscript
(system).
reblocks/variables
(system).
reblocks/html
(system).
reblocks/dependencies
(system).
reblocks/app
(system).
alexandria
(system).
log4cl
(system).
reblocks/request
(system).
local-time
(system).
serapeum
(system).
reblocks/session
(system).
bordeaux-threads
(system).
log4cl-extras/error
(system).
uuid
(system).
reblocks/widgets/dom
(system).
reblocks/dependencies
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
cl-ppcre
(system).
cl-fad
(system).
routes
(system).
puri
(system).
alexandria
(system).
log4cl
(system).
reblocks/utils/misc
(system).
reblocks/html
(system).
reblocks/routes
(system).
dexador
(system).
reblocks/utils/misc
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
salza2
(system).
ironclad
(system).
babel
(system).
anaphora
(system).
f-underscore
(system).
closer-mop
(system).
reblocks/widgets/dom
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/session
(system).
reblocks/utils/string
(system).
reblocks/request-handler
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/request
(system).
reblocks/utils/list
(system).
reblocks/page
(system).
reblocks/session
(system).
reblocks/widget
(system).
reblocks/html
(system).
reblocks/dependencies
(system).
reblocks/page-dependencies
(system).
reblocks/app
(system).
reblocks/actions
(system).
reblocks/commands
(system).
reblocks/error-handler
(system).
reblocks/variables
(system).
reblocks/utils/timing
(system).
jonathan
(system).
trivial-timeout
(system).
reblocks/response
(system).
reblocks/hooks
(system).
log4cl
(system).
alexandria
(system).
log4cl-extras/error
(system).
reblocks/widget
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/html
(system).
reblocks/widgets/mop
(system).
reblocks/commands
(system).
reblocks/widgets/dom
(system).
alexandria
(system).
cl-strings
(system).
spinneret
(system).
log4cl
(system).
reblocks/widgets/mop
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
anaphora
(system).
closer-mop
(system).
reblocks/page-dependencies
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/app
(system).
serapeum
(system).
log4cl
(system).
reblocks/dependencies
(system).
reblocks/page
(system).
reblocks/html
(system).
reblocks/actions
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
log4cl
(system).
yason
(system).
reblocks/utils/misc
(system).
reblocks/variables
(system).
lack-util
(system).
reblocks/session
(system).
reblocks/request
(system).
quri
(system).
named-readtables
(system).
pythonic-string-reader
(system).
trivial-garbage
(system).
reblocks/page
(system).
reblocks/response
(system).
reblocks/app-actions
(system).
serapeum
(system).
reblocks/utils/uri
(system).
reblocks/app-actions
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/utils/uri
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
f-underscore
(system).
puri
(system).
quri
(system).
cl-ppcre
(system).
reblocks/error-handler
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/debug
(system).
log4cl-extras/error
(system).
reblocks/response
(system).
log4cl
(system).
reblocks/variables
(system).
reblocks/html
(system).
reblocks/page
(system).
reblocks/debug
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
log4cl
(system).
reblocks/hooks
(system).
reblocks/session
(system).
reblocks/request
(system).
reblocks/variables
(system).
reblocks/session-reset
(system).
reblocks/session-reset
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/session
(system).
reblocks/hooks
(system).
reblocks/utils/timing
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
alexandria
(system).
log4cl
(system).
reblocks/welcome/app
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/app
(system).
reblocks/default-init
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/app
(system).
reblocks/page
(system).
reblocks/session
(system).
reblocks/widget
(system).
reblocks/html
(system).
reblocks/widgets/string-widget
(system).
reblocks/widgets/string-widget
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/widget
(system).
reblocks/html
(system).
reblocks/commands-hook
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/hooks
(system).
reblocks/commands
(system).
reblocks/widgets/funcall-widget
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/widget
(system).
reblocks/welcome/widget
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/server
(system).
reblocks/html
(system).
reblocks/widget
(system).
reblocks/welcome/app
(system).
reblocks/app
(system).
local-time
(system).
reblocks/page
(system).
reblocks/utils/clos
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
closer-mop
(system).
alexandria
(system).
metatilities
(system).
reblocks/utils/i18n
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/preview
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
find-port
(system).
log4cl
(system).
reblocks/app
(system).
reblocks/server
(system).
trivial-open-browser
(system).
reblocks/widget
(system).
reblocks/page
(system).
reblocks/js/jquery
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/js
(system).
reblocks/dependencies
(system).
log4cl
(system).
reblocks/js
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/js/base
(system).
reblocks/app-dependencies
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
log4cl
(system).
reblocks/dependencies
(system).
reblocks/app
(system).
reblocks/widgets/render-methods
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/dependencies
(system).
reblocks/page-dependencies
(system).
reblocks/page
(system).
reblocks/widget
(system).
reblocks/html
(system).
reblocks/widgets/dom
(system).
reblocks/routes-error-handler
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
reblocks/error-handler
(system).
reblocks/routes
(system).
reblocks/dependencies-impl
Alexander Artemenko
Alexander Artemenko
(GIT https://github.com/40ants/reblocks)
LLGPL
log4cl
(system).
reblocks/response
(system).
parenscript
(system).
reblocks/dependencies
(system).
Files are sorted by type and then listed depth-first from the systems components trees.
reblocks/reblocks.asd
reblocks/app/file-type.lisp
reblocks/app-mop/file-type.lisp
reblocks/js/base/file-type.lisp
reblocks/html/file-type.lisp
reblocks/utils/string/file-type.lisp
reblocks/utils/list/file-type.lisp
reblocks/variables/file-type.lisp
reblocks/server/file-type.lisp
reblocks/session/file-type.lisp
reblocks/hooks/file-type.lisp
reblocks/routes/file-type.lisp
reblocks/request/file-type.lisp
reblocks/response/file-type.lisp
reblocks/commands/file-type.lisp
reblocks/page/file-type.lisp
reblocks/dependencies/file-type.lisp
reblocks/utils/misc/file-type.lisp
reblocks/widgets/dom/file-type.lisp
reblocks/request-handler/file-type.lisp
reblocks/widget/file-type.lisp
reblocks/widgets/mop/file-type.lisp
reblocks/page-dependencies/file-type.lisp
reblocks/actions/file-type.lisp
reblocks/app-actions/file-type.lisp
reblocks/utils/uri/file-type.lisp
reblocks/error-handler/file-type.lisp
reblocks/debug/file-type.lisp
reblocks/session-reset/file-type.lisp
reblocks/utils/timing/file-type.lisp
reblocks/welcome/app/file-type.lisp
reblocks/default-init/file-type.lisp
reblocks/widgets/string-widget/file-type.lisp
reblocks/commands-hook/file-type.lisp
reblocks/widgets/funcall-widget/file-type.lisp
reblocks/welcome/widget/file-type.lisp
reblocks/utils/clos/file-type.lisp
reblocks/utils/i18n/file-type.lisp
reblocks/preview/file-type.lisp
reblocks/js/jquery/file-type.lisp
reblocks/js/file-type.lisp
reblocks/app-dependencies/file-type.lisp
reblocks/widgets/render-methods/file-type.lisp
reblocks/routes-error-handler/file-type.lisp
reblocks/dependencies-impl/file-type.lisp
reblocks/reblocks.asd
reblocks
(system).
reblocks
.
reblocks/app
.
reblocks/app-mop
.
reblocks/js/base
.
reblocks/html
.
reblocks/utils/string
.
reblocks/utils/list
.
reblocks/variables
.
reblocks/server
.
reblocks/session
.
reblocks/hooks
.
reblocks/routes
.
reblocks/request
.
reblocks/response
.
reblocks/commands
.
reblocks/page
.
reblocks/dependencies
.
reblocks/utils/misc
.
reblocks/widgets/dom
.
reblocks/request-handler
.
reblocks/widget
.
reblocks/widgets/mop
.
reblocks/page-dependencies
.
reblocks/actions
.
reblocks/app-actions
.
reblocks/utils/uri
.
reblocks/error-handler
.
reblocks/debug
.
reblocks/session-reset
.
reblocks/utils/timing
.
reblocks/welcome/app
.
reblocks/default-init
.
reblocks/widgets/string-widget
.
reblocks/commands-hook
.
reblocks/widgets/funcall-widget
.
reblocks/welcome/widget
.
reblocks/utils/clos
.
reblocks/utils/i18n
.
reblocks/preview
.
reblocks/js/jquery
.
reblocks/js
.
reblocks/app-dependencies
.
reblocks/widgets/render-methods
.
reblocks/routes-error-handler
.
reblocks/dependencies-impl
.
reblocks/app/file-type.lisp
reblocks/app
(system).
app
(class).
defapp
(macro).
get-current
(function).
get-prefix
(reader method).
(setf get-prefix)
(method).
initialize-instance
(method).
initialize-webapp
(generic function).
with-app
(macro).
app-serves-hostname-p
(function).
call-in-webapp
(function).
check-if-valid-class-name
(function).
finalize-webapp
(generic function).
find-app-by-name
(function).
get-js-backend
(reader method).
(setf get-js-backend)
(writer method).
hostname-match-p
(function).
reblocks-webapp-debug
(reader method).
(setf reblocks-webapp-debug)
(writer method).
reblocks-webapp-description
(reader method).
(setf reblocks-webapp-description)
(writer method).
reblocks-webapp-hostnames
(reader method).
reblocks-webapp-name
(reader method).
(setf reblocks-webapp-name)
(writer method).
reblocks-webapp-session-key
(reader method).
(setf reblocks-webapp-session-key)
(writer method).
sort-webapps
(function).
webapp-debug
(function).
webapp-description
(function).
webapp-hostnames
(function).
webapp-name
(function).
reblocks/app-mop/file-type.lisp
reblocks/app-mop
(system).
get-autostarting-apps
(function).
get-registered-apps
(function).
shared-initialize
(method).
validate-superclass
(method).
*autostarting-apps*
(special variable).
*registered-apps*
(special variable).
app-class
(class).
webapp-class-home-package
(reader method).
(setf webapp-class-home-package)
(writer method).
reblocks/js/base/file-type.lisp
reblocks/js/base
(system).
js-backend
(class).
make-js-backend
(generic function).
with-javascript
(macro).
with-javascript-to-string
(macro).
%js
(function).
escape-script-tags
(function).
reblocks/html/file-type.lisp
reblocks/html
(system).
*lang*
(special variable).
*pretty-html*
(special variable).
*stream*
(special variable).
with-html
(macro).
with-html-string
(macro).
get-rendered-chunk
(function).
reblocks/utils/string/file-type.lisp
reblocks/utils/string
(system).
attributize-name
(generic function).
humanize-name
(generic function).
remove-spurious-slashes
(function).
string-invert-case
(function).
string-remove-left
(function).
string-remove-right
(function).
string-whitespace-p
(function).
ensure-starts-with-slash
(function).
maybe-add-trailing-slash
(function).
strip-trailing-slashes
(function).
unattributized-name
(function).
reblocks/utils/list/file-type.lisp
reblocks/utils/list
(system).
alist->plist
(function).
drop-last
(function).
find-all
(function).
insert-after
(function).
insert-at
(function).
intersperse
(function).
list->assoc
(function).
list-starts-with
(function).
ninsert
(function).
remove-keyword-parameter
(function).
remove-keyword-parameters
(function).
safe-getf
(function).
safe-subseq
(function).
stable-set-difference
(function).
%check-boundaries
(function).
%insert-after-without-boundaries-check
(function).
reblocks/variables/file-type.lisp
reblocks/variables
(system).
*action-string*
(special variable).
*backtrace-on-session-init-error*
(special variable).
*current-app*
(special variable).
*default-content-type*
(special variable).
*delay-between-pages-cleanup*
(special variable).
*extend-page-expiration-by*
(special variable).
*ignore-missing-actions*
(special variable).
*invoke-debugger-on-error*
(special variable).
*max-pages-per-session*
(special variable).
*pages-expire-in*
(special variable).
reblocks/server/file-type.lisp
reblocks/server
(system).
*default-samesite-policy*
(special variable).
insert-middleware
(function).
make-middlewares
(generic function).
print-object
(method).
running-p
(function).
serve
(method).
serve-static-file
(generic function).
server
(class).
servers
(function).
start
(function).
stop
(function).
*clack-output*
(special variable).
*server*
(special variable).
*servers*
(special variable).
apps
(reader method).
(setf apps)
(writer method).
find-server
(function).
get-content-type
(reader method).
get-handler
(reader method).
(setf get-handler)
(writer method).
get-interface
(reader method).
get-path
(reader method).
get-port
(reader method).
get-server-type
(reader method).
handle-http-request
(generic function).
make-response-for-clack
(function).
make-server
(function).
register-app-routes
(function).
routes
(reader method).
(setf routes)
(writer method).
search-app-for-request-handling
(function).
start-app
(function).
start-server
(function).
static-route-from-file
(class).
stop-server
(function).
reblocks/session/file-type.lisp
reblocks/session
(system).
delete-value
(function).
expire
(function).
gen-id
(function).
get-number-of-anonymous-sessions
(function).
get-number-of-sessions
(function).
get-value
(function).
(setf get-value)
(function).
in-session-p
(function).
init
(generic function).
init-session
(generic function).
make-session-middleware
(function).
with-session
(macro).
!get-number-of-anonymous-sessions
(special variable).
!get-number-of-sessions
(special variable).
!map-sessions
(special variable).
*allowed-samesite-policies*
(special variable).
*env*
(special variable).
*session*
(special variable).
*session-lock-table-lock*
(special variable).
*session-locks*
(special variable).
allowed-samesite-policy-p
(function).
call-with-session
(function).
call-with-session-lock
(function).
get-lock
(function).
map-sessions
(function).
samesite-policy-type
(type).
with-session-lock
(macro).
reblocks/hooks/file-type.lisp
reblocks/hooks
(system).
call-action-hook
(macro).
call-handle-http-request-hook
(macro).
call-next-hook
(function).
call-render-hook
(macro).
call-reset-session-hook
(macro).
call-start-reblocks-hook
(macro).
call-stop-reblocks-hook
(macro).
defhook
(macro).
on-application-hook-action
(macro).
on-application-hook-handle-http-request
(macro).
on-application-hook-render
(macro).
on-application-hook-reset-session
(macro).
on-application-hook-start-reblocks
(macro).
on-application-hook-stop-reblocks
(macro).
on-request-hook-action
(macro).
on-request-hook-handle-http-request
(macro).
on-request-hook-render
(macro).
on-request-hook-reset-session
(macro).
on-request-hook-start-reblocks
(macro).
on-request-hook-stop-reblocks
(macro).
on-session-hook-action
(macro).
on-session-hook-handle-http-request
(macro).
on-session-hook-render
(macro).
on-session-hook-reset-session
(macro).
on-session-hook-start-reblocks
(macro).
on-session-hook-stop-reblocks
(macro).
with-action-hook
(macro).
with-handle-http-request-hook
(macro).
with-render-hook
(macro).
with-reset-session-hook
(macro).
with-start-reblocks-hook
(macro).
with-stop-reblocks-hook
(macro).
*application-hooks*
(special variable).
*request-hooks*
(special variable).
*session-hooks*
(special variable).
add-application-hook
(macro).
add-hook
(function).
add-hook-helper
(function).
add-request-hook
(macro).
add-session-hook
(macro).
eval-hook-callbacks
(function).
eval-next-hooks
(function).
get-callback-name
(function).
get-callback-value
(function).
get-callbacks
(function).
get-callbacks-names
(function).
get-or-create-session-hooks
(function).
hooks
(class).
log-hooks
(function).
prepare-hooks
(macro).
reset-session-hooks
(function).
with-hook
(macro).
reblocks/routes/file-type.lisp
reblocks/routes
(system).
*routes*
(special variable).
add-route
(function).
add-routes
(function).
get-content-type
(reader method).
get-handler
(reader method).
make-routes
(function).
reblocks/request/file-type.lisp
reblocks/request
(system).
ajax-request-p
(function).
get-cookie
(function).
get-header
(function).
get-host
(function).
get-method
(function).
get-parameter
(function).
get-parameters
(function).
get-path
(function).
get-port
(function).
get-remote-ip
(function).
get-scheme
(function).
get-uri
(function).
pure-request-p
(function).
refresh-request-p
(function).
remove-header
(function).
with-request
(macro).
*request*
(special variable).
get-action-name-from-request
(function).
parse-location-hash
(function).
reblocks/response/file-type.lisp
reblocks/response
(system).
add-header
(function).
add-retpath-to
(function).
cookies-to-set
(function).
get-code
(function).
get-content
(function).
get-content-type
(function).
get-custom-headers
(function).
get-headers
(function).
get-response
(generic reader).
immediate-response
(function).
immediate-response
(condition).
make-response
(function).
make-uri
(function).
redirect
(function).
redirect
(condition).
send-script
(function).
set-cookie
(function).
status-code
(function).
(setf status-code)
(function).
*response*
(special variable).
call-with-response
(function).
get-default-content-type-for-response
(function).
with-response
(macro).
reblocks/commands/file-type.lisp
reblocks/commands
(system).
add-command
(function).
add-commands
(function).
get-collected-commands
(function).
with-collected-commands
(macro).
*commands*
(special variable).
cl-symbol-to-js-symbol
(function).
create-command
(function).
reblocks/page/file-type.lisp
reblocks/page
(system).
body-classes
(generic function).
current-page
(function).
ensure-page-metadata
(macro).
extend-expiration-time
(function).
extend-page-expiration-by
(generic function).
find-widget-by-id
(function).
get-description
(function).
(setf get-description)
(function).
get-keywords
(function).
(setf get-keywords)
(function).
get-language
(function).
(setf get-language)
(function).
get-page-by-id
(function).
get-title
(function).
(setf get-title)
(function).
in-page-context-p
(function).
init-page
(generic function).
init-session
(method).
max-pages-per-session
(generic function).
on-page-load
(generic function).
on-page-redirect
(generic function).
on-page-refresh
(generic function).
page
(class).
page-app
(reader method).
(setf page-app)
(writer method).
page-expire-in
(generic function).
page-id
(reader method).
page-metadata
(function).
(setf page-metadata)
(function).
page-root-widget
(reader method).
(setf page-root-widget)
(writer method).
print-object
(method).
render
(generic function).
render-body
(generic function).
render-dependencies
(generic function).
render-headers
(generic function).
with-metadata-lock
(macro).
%metadata-lock
(reader method).
(setf %metadata-lock)
(writer method).
%page-metadata
(reader method).
*current-page*
(special variable).
*default-language*
(special variable).
*description*
(special variable).
*keywords*
(special variable).
*language*
(special variable).
*pages-cleaner-thread*
(special variable).
*pages-cleaner-thread-lock*
(special variable).
*title*
(special variable).
call-with-page-defaults
(function).
def-get-set
(macro).
ensure-pages-cleaner-is-running
(function).
expire-pages
(function).
extend-expiration-time-impl
(function).
find-page-by-path
(function).
id-to-widget
(reader method).
initialize-session-pages
(function).
page-actions
(reader method).
page-created-at
(reader method).
page-expire-at
(reader method).
(setf page-expire-at)
(writer method).
page-expired-p
(function).
page-path
(reader method).
pages-cleaner-loop
(function).
register-widget
(function).
render-page-with-widgets
(generic function).
with-page-defaults
(macro).
reblocks/dependencies/file-type.lisp
reblocks/dependencies
(system).
*cache-remote-dependencies-in*
(special variable).
cache-in-memory-p
(reader method).
dependency
(class).
dependency-equal
(generic function).
get-content-type
(function).
get-crossorigin
(reader method).
get-dependencies
(generic function).
get-integrity
(reader method).
get-path
(generic function).
get-route
(generic function).
get-type
(reader method).
get-url
(generic function).
infer-type-from
(generic function).
initialize-instance
(method).
initialize-instance
(method).
local-dependency
(class).
make-dependency
(function).
print-object
(method).
print-object
(method).
remote-dependency
(class).
render-in-ajax-response
(generic function).
render-in-head
(generic function).
serve
(generic function).
serve
(method).
cached-remote-dependency
(class).
defer
(reader method).
dependency-route
(class).
get-dependency
(reader method).
get-remote-url
(reader method).
is-binary
(reader method).
make-route
(function).
register-dependencies
(function).
reblocks/utils/misc/file-type.lisp
reblocks/utils/misc
(system).
append-custom-fields
(function).
concatenate-keywords
(function).
find-own-symbol
(function).
function-designator-p
(function).
gzip-file
(function).
hash-keys
(function).
md5
(function).
merge-files-with-newline
(function).
public-file-relative-path
(function).
public-files-relative-paths
(function).
read-from-file
(function).
relative-path
(function).
safe-apply
(function).
safe-funcall
(function).
slurp-file
(function).
symbol-status
(function).
with-file-write
(macro).
write-to-file
(function).
*asdf-system-cache*
(special variable).
congruent-lambda-expression
(function).
merge-files
(function).
reblocks/widgets/dom/file-type.lisp
reblocks/widgets/dom
(system).
dom-id
(generic function).
(setf dom-id)
(generic function).
dom-object-mixin
(class).
ensure-dom-id
(generic function).
reblocks/request-handler/file-type.lisp
reblocks/request-handler
(system).
*request-timeout*
(special variable).
handle-ajax-request
(generic function).
handle-request
(generic function).
page-not-found-handler
(generic function).
handle-action-if-needed
(function).
handle-normal-request
(method).
reblocks/widget/file-type.lisp
reblocks/widget
(system).
create-widget-from
(generic function).
defwidget
(macro).
get-css-classes
(generic function).
get-html-tag
(generic function).
render
(generic function).
update
(generic function).
widget
(class).
get-css-classes-as-string
(function).
widget-continuation
(reader method).
(setf widget-continuation)
(writer method).
widget-propagate-dirty
(reader method).
(setf widget-propagate-dirty)
(writer method).
reblocks/widgets/mop/file-type.lisp
reblocks/widgets/mop
(system).
compute-effective-slot-definition
(method).
direct-slot-definition-class
(method).
effective-slot-definition-class
(method).
initialize-instance
(method).
validate-superclass
(method).
widget-class
(class).
widget-direct-slot-definition
(class).
widget-effective-slot-definition
(class).
widget-slot-affects-dirty-status-p
(reader method).
(setf widget-slot-affects-dirty-status-p)
(writer method).
widget-slot-definition-mixin
(class).
widget-slot-parameter-name
(reader method).
(setf widget-slot-parameter-name)
(writer method).
reblocks/page-dependencies/file-type.lisp
reblocks/page-dependencies
(system).
already-loaded-p
(function).
get-collected-dependencies
(function).
on-page-load
(method).
page-dependencies
(function).
(setf page-dependencies)
(function).
push-dependencies
(function).
push-dependency
(function).
with-collected-dependencies
(macro).
*page-dependencies*
(special variable).
render-page-with-widgets
(method).
reblocks/actions/file-type.lisp
reblocks/actions
(system).
eval-action
(generic function).
make-action
(function).
make-action-url
(function).
make-js-action
(function).
make-js-form-action
(function).
on-missing-action
(generic function).
*js-default-action*
(special variable).
*js-default-form-action*
(special variable).
generate-action-code
(function).
get-request-action
(function).
get-session-action
(function).
internal-make-action
(function).
remove-action-from-uri
(function).
reblocks/app-actions/file-type.lisp
reblocks/app-actions
(system).
add-action
(function).
define-action
(macro).
get-action
(function).
get-app-actions
(function).
remove-action
(function).
*apps-actions*
(special variable).
normalize
(function).
reblocks/utils/uri/file-type.lisp
reblocks/utils/uri
(system).
remove-parameter-from-uri
(function).
remove-url-query-string
(function).
reblocks/error-handler/file-type.lisp
reblocks/error-handler
(system).
on-error
(generic function).
call-with-handled-errors
(function).
with-handled-errors
(macro).
reblocks/debug/file-type.lisp
reblocks/debug
(system).
*latest-request*
(special variable).
*latest-session*
(special variable).
get-session-value
(function).
off
(function).
on
(function).
reset-latest-session
(function).
status
(function).
reblocks/session-reset/file-type.lisp
reblocks/session-reset
(system).
reset
(function).
reset-session
(function).
reblocks/utils/timing/file-type.lisp
reblocks/utils/timing
(system).
*enable-timings*
(special variable).
*timing-report-fn*
(special variable).
timing
(macro).
*timing-level*
(special variable).
on-timing-end
(method).
on-timing-start
(method).
report-timing
(function).
reblocks/welcome/app/file-type.lisp
reblocks/welcome/app
(system).
welcome-screen-app
(class).
reblocks/default-init/file-type.lisp
reblocks/default-init
(system).
%common-init
(function).
reblocks/widgets/string-widget/file-type.lisp
reblocks/widgets/string-widget
(system).
create-widget-from
(method).
escape-p
(reader method).
(setf escape-p)
(writer method).
get-content
(reader method).
(setf get-content)
(writer method).
make-string-widget
(function).
render
(method).
string-widget
(class).
reblocks/commands-hook/file-type.lisp
reblocks/commands-hook
(system).
reblocks/widgets/funcall-widget/file-type.lisp
reblocks/widgets/funcall-widget
(system).
create-widget-from
(method).
make-funcall-widget
(function).
render
(method).
funcall-widget
(class).
get-function
(reader method).
(setf get-function)
(writer method).
reblocks/welcome/widget/file-type.lisp
reblocks/welcome/widget
(system).
welcome-screen-widget
(class).
reblocks/utils/clos/file-type.lisp
reblocks/utils/clos
(system).
find-slot-dsd
(function).
find-slot-esd
(function).
object-class-name
(generic function).
slot-equal
(function).
slot-value-by-path
(function).
reblocks/utils/i18n/file-type.lisp
reblocks/utils/i18n
(system).
*translation-function*
(special variable).
translate
(function).
reblocks/preview/file-type.lisp
reblocks/preview
(system).
*port*
(special variable).
*widget*
(special variable).
preview-widget
(class).
reblocks/js/jquery/file-type.lisp
reblocks/js/jquery
(system).
get-dependencies
(method).
make-js-backend
(method).
*jquery-dependencies*
(special variable).
*js-dependencies-cache*
(special variable).
jquery-backend
(class).
reblocks/app-dependencies/file-type.lisp
reblocks/app-dependencies
(system).
get-dependencies
(method).
reblocks/widgets/render-methods/file-type.lisp
reblocks/widgets/render-methods
(system).
reblocks/routes-error-handler/file-type.lisp
reblocks/routes-error-handler
(system).
serve
(method).
reblocks/dependencies-impl/file-type.lisp
reblocks/dependencies-impl
(system).
render-in-ajax-response
(method).
Packages are listed by definition order.
reblocks/welcome/widget
reblocks/debug
reblocks/js
reblocks/request
reblocks/server
reblocks/app-mop
reblocks/utils/string
reblocks/widgets/dom
reblocks/preview
reblocks/utils/misc
reblocks/widgets/mop
reblocks/request-handler
reblocks/default-init
reblocks/widget
reblocks/app
reblocks/widgets/funcall-widget
reblocks/utils/timing
reblocks/commands
reblocks/routes-error-handler
reblocks/app-actions
reblocks/commands-hook
reblocks/response
reblocks/dependencies
reblocks/routes
reblocks/utils/i18n
reblocks/session
reblocks/actions
reblocks/app-dependencies
reblocks/error-handler
reblocks/utils/uri
reblocks/widgets/render-methods
reblocks/variables
reblocks/page
reblocks/js/jquery
reblocks/hooks
reblocks/welcome/app
reblocks/utils/list
reblocks/session-reset
reblocks/widgets/string-widget
reblocks/js/base
reblocks/page-dependencies
reblocks/utils/clos
reblocks/dependencies-impl
reblocks/html
reblocks/debug
common-lisp
.
*latest-request*
(special variable).
*latest-session*
(special variable).
get-session-value
(function).
off
(function).
on
(function).
reset-latest-session
(function).
status
(function).
reblocks/request
common-lisp
.
ajax-request-p
(function).
get-cookie
(function).
get-header
(function).
get-host
(function).
get-method
(function).
get-parameter
(function).
get-parameters
(function).
get-path
(function).
get-port
(function).
get-remote-ip
(function).
get-scheme
(function).
get-uri
(function).
pure-request-p
(function).
refresh-request-p
(function).
remove-header
(function).
with-request
(macro).
*request*
(special variable).
get-action-name-from-request
(function).
parse-location-hash
(function).
reblocks/server
common-lisp
.
*default-samesite-policy*
(special variable).
insert-middleware
(function).
make-middlewares
(generic function).
running-p
(function).
serve-static-file
(generic function).
server
(class).
servers
(function).
start
(function).
stop
(function).
*clack-output*
(special variable).
*server*
(special variable).
*servers*
(special variable).
apps
(generic reader).
(setf apps)
(generic writer).
find-server
(function).
get-content-type
(generic reader).
get-handler
(generic reader).
(setf get-handler)
(generic writer).
get-interface
(generic reader).
get-path
(generic reader).
get-port
(generic reader).
get-server-type
(generic reader).
handle-http-request
(generic function).
make-response-for-clack
(function).
make-server
(function).
register-app-routes
(function).
routes
(generic reader).
(setf routes)
(generic writer).
search-app-for-request-handling
(function).
start-app
(function).
start-server
(function).
static-route-from-file
(class).
stop-server
(function).
reblocks/app-mop
common-lisp
.
get-autostarting-apps
(function).
get-registered-apps
(function).
*autostarting-apps*
(special variable).
*registered-apps*
(special variable).
app-class
(class).
webapp-class-home-package
(generic reader).
(setf webapp-class-home-package)
(generic writer).
reblocks/utils/string
common-lisp
.
attributize-name
(generic function).
humanize-name
(generic function).
remove-spurious-slashes
(function).
string-invert-case
(function).
string-remove-left
(function).
string-remove-right
(function).
string-whitespace-p
(function).
ensure-starts-with-slash
(function).
maybe-add-trailing-slash
(function).
strip-trailing-slashes
(function).
unattributized-name
(function).
reblocks/widgets/dom
common-lisp
.
dom-id
(generic function).
(setf dom-id)
(generic function).
dom-object-mixin
(class).
ensure-dom-id
(generic function).
reblocks/preview
common-lisp
.
*port*
(special variable).
*widget*
(special variable).
preview-widget
(class).
reblocks/utils/misc
common-lisp
.
append-custom-fields
(function).
concatenate-keywords
(function).
find-own-symbol
(function).
function-designator-p
(function).
gzip-file
(function).
hash-keys
(function).
md5
(function).
merge-files-with-newline
(function).
public-file-relative-path
(function).
public-files-relative-paths
(function).
read-from-file
(function).
relative-path
(function).
safe-apply
(function).
safe-funcall
(function).
slurp-file
(function).
symbol-status
(function).
with-file-write
(macro).
write-to-file
(function).
*asdf-system-cache*
(special variable).
congruent-lambda-expression
(function).
merge-files
(function).
reblocks/widgets/mop
common-lisp
.
widget-class
(class).
widget-direct-slot-definition
(class).
widget-effective-slot-definition
(class).
widget-slot-affects-dirty-status-p
(generic reader).
(setf widget-slot-affects-dirty-status-p)
(generic writer).
widget-slot-definition-mixin
(class).
widget-slot-parameter-name
(generic reader).
(setf widget-slot-parameter-name)
(generic writer).
reblocks/request-handler
common-lisp
.
*request-timeout*
(special variable).
handle-ajax-request
(generic function).
handle-request
(generic function).
page-not-found-handler
(generic function).
handle-action-if-needed
(function).
handle-normal-request
(generic function).
reblocks/widget
common-lisp
.
create-widget-from
(generic function).
defwidget
(macro).
get-css-classes
(generic function).
get-html-tag
(generic function).
render
(generic function).
update
(generic function).
widget
(class).
get-css-classes-as-string
(function).
widget-continuation
(generic reader).
(setf widget-continuation)
(generic writer).
widget-propagate-dirty
(generic reader).
(setf widget-propagate-dirty)
(generic writer).
reblocks/app
common-lisp
.
f-underscore
.
app
(class).
app
(slot).
defapp
(macro).
get-current
(function).
get-prefix
(generic reader).
(setf get-prefix)
(generic function).
initialize-webapp
(generic function).
with-app
(macro).
app-serves-hostname-p
(function).
call-in-webapp
(function).
check-if-valid-class-name
(function).
finalize-webapp
(generic function).
find-app-by-name
(function).
get-js-backend
(generic reader).
(setf get-js-backend)
(generic writer).
hostname-match-p
(function).
reblocks-webapp-debug
(generic reader).
(setf reblocks-webapp-debug)
(generic writer).
reblocks-webapp-description
(generic reader).
(setf reblocks-webapp-description)
(generic writer).
reblocks-webapp-hostnames
(generic reader).
reblocks-webapp-name
(generic reader).
(setf reblocks-webapp-name)
(generic writer).
reblocks-webapp-session-key
(generic reader).
(setf reblocks-webapp-session-key)
(generic writer).
sort-webapps
(function).
webapp-debug
(function).
webapp-description
(function).
webapp-hostnames
(function).
webapp-name
(function).
reblocks/widgets/funcall-widget
common-lisp
.
make-funcall-widget
(function).
funcall-widget
(class).
get-function
(generic reader).
(setf get-function)
(generic writer).
reblocks/utils/timing
common-lisp
.
*enable-timings*
(special variable).
*timing-report-fn*
(special variable).
timing
(macro).
*timing-level*
(special variable).
on-timing-end
(generic function).
on-timing-start
(generic function).
report-timing
(function).
reblocks/commands
common-lisp
.
add-command
(function).
add-commands
(function).
get-collected-commands
(function).
with-collected-commands
(macro).
*commands*
(special variable).
cl-symbol-to-js-symbol
(function).
create-command
(function).
reblocks/app-actions
common-lisp
.
add-action
(function).
define-action
(macro).
get-action
(function).
get-app-actions
(function).
remove-action
(function).
*apps-actions*
(special variable).
normalize
(function).
reblocks/response
common-lisp
.
add-header
(function).
add-retpath-to
(function).
cookies-to-set
(function).
get-code
(function).
get-content
(function).
get-content-type
(function).
get-custom-headers
(function).
get-headers
(function).
get-response
(generic reader).
immediate-response
(function).
immediate-response
(condition).
make-response
(function).
make-uri
(function).
redirect
(function).
redirect
(condition).
send-script
(function).
set-cookie
(function).
status-code
(function).
(setf status-code)
(function).
*response*
(special variable).
call-with-response
(function).
get-default-content-type-for-response
(function).
with-response
(macro).
reblocks/dependencies
common-lisp
.
*cache-remote-dependencies-in*
(special variable).
cache-in-memory-p
(generic reader).
dependency
(class).
dependency-equal
(generic function).
get-content-type
(function).
get-crossorigin
(generic reader).
get-dependencies
(generic function).
get-integrity
(generic reader).
get-path
(generic function).
get-route
(generic function).
get-type
(generic reader).
get-url
(generic function).
infer-type-from
(generic function).
local-dependency
(class).
make-dependency
(function).
remote-dependency
(class).
render-in-ajax-response
(generic function).
render-in-head
(generic function).
serve
(generic function).
cached-remote-dependency
(class).
defer
(generic reader).
dependency-route
(class).
get-dependency
(generic reader).
get-remote-url
(generic reader).
is-binary
(generic reader).
make-route
(function).
register-dependencies
(function).
reblocks/routes
common-lisp
.
*routes*
(special variable).
add-route
(function).
add-routes
(function).
get-content-type
(generic reader).
get-handler
(generic reader).
make-routes
(function).
reblocks/utils/i18n
common-lisp
.
*translation-function*
(special variable).
translate
(function).
reblocks/session
common-lisp
.
delete-value
(function).
expire
(function).
gen-id
(function).
get-number-of-anonymous-sessions
(function).
get-number-of-sessions
(function).
get-value
(function).
(setf get-value)
(function).
in-session-p
(function).
init
(generic function).
init-session
(generic function).
make-session-middleware
(function).
reset
(function).
with-session
(macro).
!get-number-of-anonymous-sessions
(special variable).
!get-number-of-sessions
(special variable).
!map-sessions
(special variable).
*allowed-samesite-policies*
(special variable).
*env*
(special variable).
*session*
(special variable).
*session-lock-table-lock*
(special variable).
*session-locks*
(special variable).
allowed-samesite-policy-p
(function).
call-with-session
(function).
call-with-session-lock
(function).
get-lock
(function).
map-sessions
(function).
samesite-policy-type
(type).
with-session-lock
(macro).
reblocks/actions
common-lisp
.
eval-action
(generic function).
make-action
(function).
make-action-url
(function).
make-js-action
(function).
make-js-form-action
(function).
on-missing-action
(generic function).
*js-default-action*
(special variable).
*js-default-form-action*
(special variable).
generate-action-code
(function).
get-request-action
(function).
get-session-action
(function).
internal-make-action
(function).
remove-action-from-uri
(function).
reblocks/error-handler
common-lisp
.
on-error
(generic function).
call-with-handled-errors
(function).
with-handled-errors
(macro).
reblocks/utils/uri
common-lisp
.
f-underscore
.
remove-parameter-from-uri
(function).
remove-url-query-string
(function).
reblocks/variables
common-lisp
.
*action-string*
(special variable).
*backtrace-on-session-init-error*
(special variable).
*current-app*
(special variable).
*default-content-type*
(special variable).
*delay-between-pages-cleanup*
(special variable).
*extend-page-expiration-by*
(special variable).
*ignore-missing-actions*
(special variable).
*invoke-debugger-on-error*
(special variable).
*max-pages-per-session*
(special variable).
*pages-expire-in*
(special variable).
reblocks/page
common-lisp
.
body-classes
(generic function).
current-page
(function).
ensure-page-metadata
(macro).
extend-expiration-time
(function).
extend-page-expiration-by
(generic function).
find-widget-by-id
(function).
get-description
(function).
(setf get-description)
(function).
get-keywords
(function).
(setf get-keywords)
(function).
get-language
(function).
(setf get-language)
(function).
get-page-by-id
(function).
get-title
(function).
(setf get-title)
(function).
in-page-context-p
(function).
init-page
(generic function).
max-pages-per-session
(generic function).
on-page-load
(generic function).
on-page-redirect
(generic function).
on-page-refresh
(generic function).
page
(class).
page-app
(generic reader).
(setf page-app)
(generic writer).
page-expire-in
(generic function).
page-id
(generic reader).
page-metadata
(function).
(setf page-metadata)
(function).
page-root-widget
(generic reader).
(setf page-root-widget)
(generic writer).
render
(generic function).
render-body
(generic function).
render-dependencies
(generic function).
render-headers
(generic function).
with-metadata-lock
(macro).
%metadata-lock
(generic reader).
(setf %metadata-lock)
(generic writer).
%page-metadata
(generic reader).
*current-page*
(special variable).
*default-language*
(special variable).
*description*
(special variable).
*keywords*
(special variable).
*language*
(special variable).
*pages-cleaner-thread*
(special variable).
*pages-cleaner-thread-lock*
(special variable).
*title*
(special variable).
call-with-page-defaults
(function).
def-get-set
(macro).
ensure-pages-cleaner-is-running
(function).
expire-pages
(function).
extend-expiration-time-impl
(function).
find-page-by-path
(function).
id-to-widget
(generic reader).
initialize-session-pages
(function).
page-actions
(generic reader).
page-created-at
(generic reader).
page-expire-at
(generic reader).
(setf page-expire-at)
(generic writer).
page-expired-p
(function).
page-path
(generic reader).
pages-cleaner-loop
(function).
register-widget
(function).
render-page-with-widgets
(generic function).
with-page-defaults
(macro).
reblocks/js/jquery
common-lisp
.
*jquery-dependencies*
(special variable).
*js-dependencies-cache*
(special variable).
jquery-backend
(class).
reblocks/hooks
common-lisp
.
f-underscore
.
call-action-hook
(macro).
call-handle-http-request-hook
(macro).
call-next-hook
(function).
call-render-hook
(macro).
call-reset-session-hook
(macro).
call-start-reblocks-hook
(macro).
call-stop-reblocks-hook
(macro).
defhook
(macro).
on-application-hook-action
(macro).
on-application-hook-handle-http-request
(macro).
on-application-hook-render
(macro).
on-application-hook-reset-session
(macro).
on-application-hook-start-reblocks
(macro).
on-application-hook-stop-reblocks
(macro).
on-request-hook-action
(macro).
on-request-hook-handle-http-request
(macro).
on-request-hook-render
(macro).
on-request-hook-reset-session
(macro).
on-request-hook-start-reblocks
(macro).
on-request-hook-stop-reblocks
(macro).
on-session-hook-action
(macro).
on-session-hook-handle-http-request
(macro).
on-session-hook-render
(macro).
on-session-hook-reset-session
(macro).
on-session-hook-start-reblocks
(macro).
on-session-hook-stop-reblocks
(macro).
with-action-hook
(macro).
with-handle-http-request-hook
(macro).
with-render-hook
(macro).
with-reset-session-hook
(macro).
with-start-reblocks-hook
(macro).
with-stop-reblocks-hook
(macro).
*application-hooks*
(special variable).
*request-hooks*
(special variable).
*session-hooks*
(special variable).
add-application-hook
(macro).
add-hook
(function).
add-hook-helper
(function).
add-request-hook
(macro).
add-session-hook
(macro).
eval-hook-callbacks
(function).
eval-next-hooks
(function).
get-callback-name
(function).
get-callback-value
(function).
get-callbacks
(function).
get-callbacks-names
(function).
get-or-create-session-hooks
(function).
hooks
(class).
log-hooks
(function).
prepare-hooks
(macro).
reset-session-hooks
(function).
with-hook
(macro).
reblocks/utils/list
common-lisp
.
alist->plist
(function).
drop-last
(function).
find-all
(function).
insert-after
(function).
insert-at
(function).
intersperse
(function).
list->assoc
(function).
list-starts-with
(function).
ninsert
(function).
remove-keyword-parameter
(function).
remove-keyword-parameters
(function).
safe-getf
(function).
safe-subseq
(function).
stable-set-difference
(function).
%check-boundaries
(function).
%insert-after-without-boundaries-check
(function).
reblocks/widgets/string-widget
common-lisp
.
escape-p
(generic reader).
(setf escape-p)
(generic writer).
get-content
(generic reader).
(setf get-content)
(generic writer).
make-string-widget
(function).
string-widget
(class).
reblocks/js/base
common-lisp
.
js-backend
(class).
make-js-backend
(generic function).
with-javascript
(macro).
with-javascript-to-string
(macro).
%js
(function).
escape-script-tags
(function).
reblocks/page-dependencies
common-lisp
.
already-loaded-p
(function).
get-collected-dependencies
(function).
page-dependencies
(function).
(setf page-dependencies)
(function).
push-dependencies
(function).
push-dependency
(function).
with-collected-dependencies
(macro).
*page-dependencies*
(special variable).
reblocks/utils/clos
common-lisp
.
find-slot-dsd
(function).
find-slot-esd
(function).
object-class-name
(generic function).
slot-equal
(function).
slot-value-by-path
(function).
reblocks/html
common-lisp
.
*lang*
(special variable).
*pretty-html*
(special variable).
*stream*
(special variable).
with-html
(macro).
with-html-string
(macro).
get-rendered-chunk
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
A string used to pass actions from a client to the server. See ’reblocks/request:get-request-action’.
If this variable is set to a pathname, then
remote dependencies will be cached and served as local dependencies.
This pathname should point to a directory where cached dependencies will be stored.
A currently active web application.
Default value for SameSite header.
You will find more at [Mozilla docs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite).
A number of seconds between expired pages cleanup.
A number of seconds to be added to current page expiration time when a new action
is processed.
After an action processing page expiration time either will remain the same or
become equal to (+ (now) *extend-page-expiration-by*).
By default, the variable is unbound and the value of *PAGES-EXPIRE-IN* is used.
If this variable is t, then Weblocks will start lisp’s debugger on unhandled conditions.
Language to add into the root html element.
Stores last request if debug mode was enabled.
Stores last session, to be able to clear it during development.
To clear, use function (reset-last-session).
A number of pages per session. When it is reached, oldest pages and their actions will be expired. If NIL, then actions will live in memory forever.
A number of seconds before page and it’s actions expiration. If NIL, then actions will live in memory forever.
We want an HTML nice to read by default.
Seconds until we abort a request because it took too long.
This prevents threads from hogging the CPU indefinitely.
You can set this to NIL to disable timeouts (not recommended).
Reblocks will write all output into this stream.
This stream is created for each request and available to code executed within a request as a special variable. All html should be rendered to this stream, but don’t worry, if you are using ‘with-html‘ or ‘with-html-string‘ macroses, they handle this for you.
Called when action is processed.
Returns a result of REBLOCKS/ACTIONS:EVAL-ACTION generic-function application to the arguments.
Called around code reponsible for an HTTP request processing,
before any application was choosen.
Accepts Lack’s HTTP request environment.
Should return a list of three items:
* HTTP status code;
* a plist of HTTP headers;
* a list of strings corresponding to the page’s content.
Called when around whole page or ajax request processing. Should return HTML string.
Called when session is resetted for some reason.
Called around code which starts all applications and a webserver.
Returns a reblocks server object.
Called around code which stops all applications and a webserver.
Returns a reblocks server object.
This macro defines the key parameters for a stand alone web application.
It defines both a class with name ’name’ and registers an instance of that class.
It also instantiates a defvar with an instance of this class. This is intended
to be the primary way a web application is defined.
PREFIX - an URI from where this app should be available on the server. Read more
about this in the REBLOCKS/DOC/ROUTING:@ROUTING section.
SUBCLASSES - if you want to inherit subclass behavior from other webapps, you
can. It’s not likely to be needed much
SLOTS - webapps are class so slots are a list of definitions just as in defclass, but as slots are likely to be rare on webapps, we make this a keyword argument.
All of the following, when present, are passed through as additional
initargs:
NAME - instantiates a username (and the default title for) a webapp. use this
name to get and delete this webapp. Multiple instances of a webapp class can
co-exist, so long as they have different prefixes
DESCRIPTION - A description of the application for the title page
DOCUMENTATION - Content of this argument will be added as (:documentation ...) form
to the class definition.
AUTOSTART - Whether this webapp is started automatically when start-reblocks is called (primarily for backward compatibility
Registers a hook
Adds a permanent action to the class’s set of permanent actions
Defines a handler for a given route. By default route should return
a serialized JSON:
“‘lisp
(defroute (app /api/data)
"{"my-data": [1, 2, 3]}")
“‘
but you can redefine the content type:
“‘lisp
(defroute (app /api/data :content-type "application/xml")
"<my-data><item>1</item><item>2</item></my-data>")
“‘
or to serve ‘robots.txt‘:
“‘lisp
(defroute (app /robots.txt :content-type "text/plain")
(alexandria:read-file-into-string
(asdf:system-relative-pathname "frontend"
"robots.txt")))
“‘
A macro used to define new widget classes. Behaves exactly as
defclass, except adds REBLOCKS/WIDGETS/MOP:WIDGET-CLASS metaclass specification and
inherits from REBLOCKS/WIDGET:WIDGET if no DIRECT-SUPERCLASSES are provided.
Like PAGE-METADATA, but if metadata piece with NAME is not found saves the DEFAULT
before returning it. Secondary return value is true if NAME was
already in the metadata.
Called when action is processed.
Returns a result of REBLOCKS/ACTIONS:EVAL-ACTION generic-function application to the arguments.
Called around code reponsible for an HTTP request processing,
before any application was choosen.
Accepts Lack’s HTTP request environment.
Should return a list of three items:
* HTTP status code;
* a plist of HTTP headers;
* a list of strings corresponding to the page’s content.
Called when around whole page or ajax request processing. Should return HTML string.
Called when session is resetted for some reason.
Called around code which starts all applications and a webserver.
Returns a reblocks server object.
Called around code which stops all applications and a webserver.
Returns a reblocks server object.
Called when action is processed.
Returns a result of REBLOCKS/ACTIONS:EVAL-ACTION generic-function application to the arguments.
Called around code reponsible for an HTTP request processing,
before any application was choosen.
Accepts Lack’s HTTP request environment.
Should return a list of three items:
* HTTP status code;
* a plist of HTTP headers;
* a list of strings corresponding to the page’s content.
Called when around whole page or ajax request processing. Should return HTML string.
Called when session is resetted for some reason.
Called around code which starts all applications and a webserver.
Returns a reblocks server object.
Called around code which stops all applications and a webserver.
Returns a reblocks server object.
Called when action is processed.
Returns a result of REBLOCKS/ACTIONS:EVAL-ACTION generic-function application to the arguments.
Called around code reponsible for an HTTP request processing,
before any application was choosen.
Accepts Lack’s HTTP request environment.
Should return a list of three items:
* HTTP status code;
* a plist of HTTP headers;
* a list of strings corresponding to the page’s content.
Called when around whole page or ajax request processing. Should return HTML string.
Called when session is resetted for some reason.
Called around code which starts all applications and a webserver.
Returns a reblocks server object.
Called around code which stops all applications and a webserver.
Returns a reblocks server object.
Called when action is processed.
Returns a result of REBLOCKS/ACTIONS:EVAL-ACTION generic-function application to the arguments.
Bind variables that are both webapp-specific, or applicable to just this app, and webapp-general, or not particular to some request to this app, with regard to WEBAPP.
Collects commands added using a call to ADD-COMMANDS during the body execution.
Commands list can be aquired using GET-COLLECTED-COMMANDS function.
Use this macro to wrap code which may push new dependencies for the page or an action.
Ensures that directories exists, then opens a file for write and executes a body.
Called around code reponsible for an HTTP request processing,
before any application was choosen.
Accepts Lack’s HTTP request environment.
Should return a list of three items:
* HTTP status code;
* a plist of HTTP headers;
* a list of strings corresponding to the page’s content.
Renders body using [Spinneret](https://github.com/ruricolist/spinneret) HTML generator.
Like WITH-HTML, but capture the output as a string.
Places ’source’ between script and CDATA elements. Used to avoid having to worry about special characters in JavaScript code.
Places ’source’ between script and CDATA elements. Used to avoid having to worry about special characters in JavaScript code.
Called when around whole page or ajax request processing. Should return HTML string.
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.
Called when session is resetted for some reason.
Sets dynamic binding for *session* and *env*
Called around code which starts all applications and a webserver.
Returns a reblocks server object.
Called around code which stops all applications and a webserver.
Returns a reblocks server object.
Remove an action from a webapp. action-name should be a string, or it will be converted to one (to work with the macro). function-or-name is a symbol or a function object (valid object for funcall)
Pushes a new command into the stack.
After action processing these commands will be sent for execution on the client.
Pushes all commands from the list into the stack.
After action processing these commands will be sent for execution on the client.
Use this function to add a HTTP header:
“‘lisp
(add-header :x-request-id "100500")
“‘
Adds a "retpath" GET parameter to the giving URL.
Keeps all other parameters and overwrites "retpath" parameter if it is
already exists in the URL.
By default, retpath is the current page, rendered by the reblocks. This is very useful to redirect user to login page and return him to the same page where he has been before.
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.
Converts an alist to plist.
Returns T, if dependency is already loaded into the page.
Appends ’custom-fields’ to the end of custom fields that are already defined in ’args’.
This function should be called inside a body, surrounded by ‘ON-APPLICATION-HOOK-…‘, ‘ON-SESSION-HOOK-…‘ or a ‘ON-REQUEST-HOOK-…‘ type of macro.
Returns a list with a map cookie-name -> cookie:cookie object. Odd items in this list are cookie names and even are lists with cookie parameters.
Returns current page object. Can be useful to pass to call PAGE-METADATA.
Clear the session value for the currently running app.
KEY is compared using EQUAL.
Returns a copy of the list without the last element.
Deletes current session id for the browser.
On the next HTTP request a new session will be created.
Extends expiration time of the current page.
Returns a sequence of all elements found in ’sequence’ that match ’predicate’. If ’key’ is provides, each it is used to retreive each item before passing it to ’predicate’.
Like ‘find-symbol’, but reject symbols not really in PACKAGE.
Returns a direct-slot-definition object of a slot with ’slot-name’ in ’class’.
Returns an effective-slot-definition object of a slot with ’slot-name’ in ’class’.
Returns true if the object is a function designator.
Generates an ID unique accross the session. The generated ID can be used to create IDs for html elements, widgets, etc.
Returns the action function associated with this symbol in the current app
Function GET-CODE is deprecated. Use STATUS-CODE instead.
Returns all commands created during AJAX request processing in order as they where added.
Returns a MIME content type for given dependency.
It is used when dependency is served locally.
Returns value of the cookie or nil. Name is case insensitive string.
Function GET-CUSTOM-HEADERS is deprecated. Use GET-HEADERS instead.
Returns value of the HTTP header or nil. Name is case insensitive.
Returns association list with GET or POST parameters for current request.
Returns a number of sessions where :user key is NIL.
Returns a page from a current session by it’s id.
Returns GET or POST parameter by name.
Returns association list with GET or POST parameters for current request.
For URL http://example.com/foo/bar?blah=minor returns /foo/bar path of the request’s URL.
Returns a webserver’s port.
It may be not a port a lisp server listens on but a port a reverse proxy listens on.
Returns a possible user’s IP.
Note, it may not be reliable, because user might try to set these headers manually.
Returns a route, matched on given path.
If none matched, then returns nil.
Path should be a string.
This function could be useful for customizing widget rendering depending on the URL in the browser.
Returns a value from the latest session.
For URL http://example.com/foo/bar?blah=minor returns it as is.
Get a session value from the currently running webapp. KEY is compared using EQUAL.
Set a session value for the currently running webapp. KEY is compared using EQUAL.
Redefined salsa2:gzip-file with more keywords.
Returns all keys in the hashtable.
Aborts request processing by signaling an [IMMEDIATE-RESPONSE][condition]
and returns a given value as response.
HTTP code and headers are taken from CODE and CONTENT-TYPE.
By default, headers and cookies are taken from the current request, but additional headers and cookies may be provides in appropriate arguments.
Returns T when CURRENT-PAGE function will be able to return page instead of throwing an error.
Checks if session is active and data can be safely retrived or stored.
Destructively inserts ’newelt’ into ’list’ after ’index’.
Destructively inserts ’newelt’ into ’list’ before ’index’.
Returns a new stack of layers inserting LAYER before or after a layer with given name.
You should not give both BEFORE and AFTER arguments. If given layer not found,
the function will signal error.
Original alist LAYERS is not modified.
Intersperses a list with a delimeter.
If ’last’ is specified, it will be used for the last delimeter,
instead of ’delimeter’.
(intersperse ’(1 2 3 4 5) 0)
=> (1 0 2 0 3 0 4 0 5)
Nondestructively convert a list of elements to an association
list If an element of a list is a cons cell, it is left as
is. Otherwise, it is replaced with a cons cell whose ’car’ is the
element and whose ’cdr’ is a result of ’map’ applied to the
element. The ’map’ is an identity by default.
Ex:
(list->assoc ’(name age (city . location))) => ((name . name) (age . age) (city . location))
(list->assoc ’(1 (2 . 2) 3) :map #’1+) => ((1 . 2) (2 . 2) (3 . 4))
Determines if a list starts with the given elements.
Accepts a function or an existing action. If the value is a
function, adds it to the session actions and returns its unique code as a string.
Otherwise, checks if the action already exists. If it does, returns the argument as is.
If it does not, signals an error.
Accepts action code and returns a URL that can be used as ‘href‘ attribute of HTML link.
For example:
“‘cl-transcript
(reblocks/app:defapp test-app :autostart nil)
(let ((reblocks/request::*request*
(lack.request:make-request
(list :path-info "/blah/minor"
:headers (make-hash-table)))))
(reblocks/app:with-app (make-instance ’test-app)
(reblocks/app-actions:define-action test-action test-app ())
(reblocks/actions:make-action-url "test-action")))
=> "/blah/minor?action=test-action"
“‘
If KEEP-QUERY-PARAMS is true (default), then all query arguments are preserved
and will be passed as arguments to the action.
Creates a JavaScript dependency, served from the disk.
If the system’s name is given, then the path is calculated relatively to this system’s source root.
Create a widget from a symbol denoting a function.
Returns JS code which can be inserted into ‘onclick‘ attribute and will
execute given Lisp function on click.
It accepts any function as input and produces a string with JavaScript code.
Returns JS code which can be inserted into ‘onsubmit‘ form’s attribute.
It accepts any function as input and produces a string with JavaScript code.
On form submit given action will be executed and all input values
will be passed as arguments.
Create a widget from a string.
Makes a new URL, based on the current request’s URL.
Argument NEW-PATH can be absolute, like /logout or relative,
like ./stories.
Also, it can contain a query params like /login?code=100500
By default, function takes a base-uri from the current request, bun in case if you want to call the function in a context where request is not available, you can pass BASE-URI argument explicitly.
Returns as list of dependencies loaded into the page. Most recently loaded go first.
Associates a list of dependencies with the page.
Returns a metadata with NAME, bound to the current page
Infer FILENAME’s relative path and extension from TYPE.
Example:
(public-file-relative-path :stylesheet "navigation") => "stylesheets/navigation.css"
A helper function that returns a list of paths for files provided
in ’args’. Each argument must be a cons cell where car is
either :stylesheet or :script and cdr is a name of the file.
Useful when generating a list of dependencies for widgets and/or the
application (see the ’dependencies’ generic function and
*application-dependencies*.)
Ex:
(get-public-files-paths ’(:stylesheet . "navigation")
’(:script . "effects"))
=> (#P"stylesheets/navigation.css" #P"scripts/effects.js")
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.
Same as ‘push-dependency’ but for the list.
Pushes dependency into the currently collected list of dependencies.
Makes deduplication by comparing dependencies’ urls.
Redirects the client to a new URI.
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).
Removes a permanent action from a webapp
Removes a HTTP header by name, returns new instance of request without given header.
Removes a keyword parameter from a parameter-list. (remove-keyword-parameter ’(1 2 3 :a 1 :b 2 :c 3) :b) => (1 2 3 :a 1 :c 3)
Removes all parameters with keys in ’keywords’ from ’parameter-list’.
Removes the given parameter from a URI.
Condense multiple consecutively occuring slashes in STR
into a single slash.
ex:
(remove-spurious-slashes "/ab/////c///")
=> "/ab/c/"
Reset current session.
Resets the latest session when debug mode is on.
Returns T if server is running and NIL otherwise.
Apply ’fn’ if it isn’t nil. Otherwise return nil.
Funcall ’fn’ if it isn’t nil. Otherwise return nil.
Like GETF but copes with odd argument lists. Extracts the first value whose predecessor matches NAME. Returns NIL as second value if the key wasn’t found at all.
A safe alternative to subseq that automatically adjust indices.
Send JavaScript to the browser. The way of sending depends
on whether the current request is via AJAX or not.
Script may be either a string or a list; if it is a list it will be compiled through Parenscript first.
Returns a list of Reblocks servers.
Use this function to add Set-Cookie header:
“‘lisp
(set-cookie (list :name "user_id" :value "bob" :samesite :lax))
“‘
Cookie might include these properties:
- domain
- path
- expires
- secure
- httponly
- samesite
Whether O1 and O2 have identical slot contents, excluding
slot names in EXCLUDE.
Two slots are considered equal if they are either both unbound
or if they are both bound and pass TEST.
Signals an error when the slot names of O1 and O2 don’t match.
Retrieves a value of a slot from a hierarchy of objects. A nil on
the path is ignored.
ex:
(slot-value-by-path employee ’(address street)) => "17 Sunvalley St."
(slot-value-by-path employee ’(address)) => #<ADDRESS {XXX}>
(slot-value-by-path employee ’address) => #<ADDRESS {XXX}>
(slot-value-by-path address ’(street)) => "17 Sunvalley St."
(slot-value-by-path address ’(nil street)) => "17 Sunvalley St."
obj - a CLOS object
path - a list of slot names
Returns a list of element of ’list-1’ that do not appear in ’list-2’.
Starts reblocks framework hooked into Clack server.
Set DEBUG to true in order for error messages and stack traces to be shown
to the client (note: stack traces are temporarily not available due to changes
in Hunchentoot 1.0.0).
Server will start all apps declared having ‘autostart t‘ in their definition
unless APPS argument is provided.
Sometimes you might want your app respond on /some-uri and / return 404. In this case it is useful to set DISABLE-WELCOME-APP argument to T.
Returns a status code to be returned in response to the current request.
You can use SETF to change the status code:
“‘lisp
(setf (reblocks/response:status-code)
404)
“‘
Stops Reblocks servers matching given INTERFACE and PORT.
This function deactivates all applications bound to the server and stopps a Clack server.
Returns stopped server objects.
If string ’str’ starts with ’prefix’, remove ’prefix’ from the start of ’str’.
If string ’str’ ends with ’suffix’, remove ’suffix’ from the end of ’str’.
Returns true if every character in a string is a whitespace character, nil otherwise.
Returns a status of ’symbol’ in its package (internal, external, etc.)
Translates given string by calling *translation-function*
with string and ’scope’.
’scope’ is a set of function key arguments which can be
:accusative-form-p
:genitive-form-p
:items-count
:preceding-count
Convert objects to a format suitable for
serialization (in particular for markup languages like HTML).
Ex:
(attributize-name ’hello-world) => "hello-world"
Should return a string of CSS classes for the body HTML element or NIL.
local-dependency
)) ¶When true, then on creation dependency will read file’s data into the memory.
This is useful for applications, deployed as a single executable file.
Create such dependencies in compile time and store in a global variable.
Methods of this generic should return an instance of subclass of reblocks/widget:widget
The most obvious cases are transformation of strings and functions into the widget, but
these methods are already supplied by Reblocks.
If REBLOCKS/PAGE:INIT-PAGE returns an object, then CREATE-WIDGET-FROM will be called on it to create the root widget.
function
)) ¶string
)) ¶widget
)) ¶If input is already a widget, then it is returned as is.
symbol
)) ¶If input is a symbol named a widget class, then we’ll MAKE-INSTANCE of this class.
If this method is called, that means that object is not of a proper type. Say it with an explicit error message.
Should return T if two dependencies are considered equal. By default compares their URLs.
Provides a consistent interface to identifying widgets
by their DOM id. Returns a string or nil if the object is to have no id.
dom-object-mixin
)) ¶symbol
)) ¶function
)) ¶string
)) ¶dom-object-mixin
)) ¶string-widget
)) ¶string-widget
)) ¶Whether to escape the output for HTML.
Evaluates the action that came with the request.
First it resolves action by trying to find ACTION-NAME inside session
or current app’s actions.
If actions wasn’t found, then EVAL-ACTION calls ON-MISSING-ACTION generic-function.
Otherwise it applies arguments to the action callback.
Returns NIL or a number of seconds after which page should be removed from the memory.
Default method returns current value of *EXTEND-PAGE-EXPIRATION-BY* variable or *PAGES-EXPIRE-IN* variable.
string-widget
)) ¶automatically generated reader method
string-widget
)) ¶automatically generated writer method
remote-dependency
)) ¶automatically generated reader method
Returns a list of classes for the widget.
Classes may be a strings or a keywords.
By default, :widget and keyworded class name are returned.
Use ‘(list* :new-class (call-next-method))‘
to add new classes.
Returns a list of object’s dependencies.
Object could be an application or a widget.
Reblocks will call this method for application and every widget on a page
to gather necessary dependencies and to inject them into resulting HTML.
jquery-backend
)) ¶By default, there are no dependencies for an object.
This method determines the enclosing tag of the widget.
The return value should either be a keyword like ‘:div‘,
which will be the enclosing tag, or a list of the form ‘(:tag . attributes)‘,
where ‘:tag‘ is the enclosing tag (like ‘:div‘) and attributes is a property list.
The attributes property list has keywords for keys, corresponding to
the attribute name and the values are the values of the attribute.
For example:
- ‘:div‘ - generates ‘<div ...> widget content </div>‘;
- ‘(:div :display "flex")‘ - generates ‘(<div ... :display "flex">widget content</div>‘.
Note on attributes: in the attribute list the following attributes can
not be specified, they will be ignored:
- ‘:class‘ - Use the GET-CSS-CLASSES generic-function to specify these;
- ‘:id‘ - This is the value of the dom-id slot of the widget,
normally automatically managed by reblocks.
The default implementation returns
- ‘:td‘ - inside a table row;
- ‘:tr‘ - inside a table;
- ‘:div‘ - by default.
remote-dependency
)) ¶A hash, used by modern browsers for subresource integrity checking.
See more information at: <https://www.w3.org/TR/SRI/>
Returns a path on local disk to serve dependency from.
This could be a real source file or a cached version of remote dependency.
remote-dependency
)) ¶Returns a path to cached file.
local-dependency
)) ¶automatically generated reader method
path
.
Extracts response from the object. Usually, obj will be an [IMMEDIATE-RESPONSE][condition] condition.
immediate-response
)) ¶This method should return a routes:route object if dependency should ber served from local server.
local-dependency
)) ¶automatically generated reader method
By default dependencies aren’t served by Lisp.
dependency
)) ¶automatically generated reader method
type
.
Returns URL of the dependency.
If dependency should be served by the server, second value is :local. Otherwise it is :external. Also, in first case dependency’s URL should have only path part, like /local/css/bootstrap.css.
cached-remote-dependency
)) ¶remote-dependency
)) ¶local-dependency
)) ¶Returns dependency’s url and it’s type.
URL type is returned as second value and can be :local or :remote. For local-dependency it is :local.
This generic function is called when Reblocks processes an action called from Javascript.
This method handles each request as it comes in from the
server. It is a hunchentoot handler and has access to all hunchentoot
dynamic variables. The default implementation executes a user
action (if any) and renders the root widget wrapped in HTML
provided by ’render-page’. If the request is an AJAX request, only the
dirty widgets are rendered into a JSON data structure. It also invokes
user supplied ’reblocks/session:init’ method on the first request that has no
session setup.
’handle-request’ immediately returns ’+http-not-found+’ if it
sees a mime type on the script name (it doesn’t handle what could be
files because these mess with callback functions and break some
widgets that depend on them).
Additionally, on the first request a session is created and a client
is forced to redirect. At this point if the cookie is sent, session
information is removed from the URL, otherwise the URL is left in
tact. This is done so that session information appears on the URL for
clients that don’t support cookies (this way AJAX requests followed by
a refresh will work).
This function also manages lists of callback functions and calls them
at different points before and after request. See ’request-hook’.
Override this method (along with :before and :after specifiers) to customize behavior.
This wrapper sets a timeout on the request and reports response timings.
Convert objects to a human-readable string suitable
for presentation. Default implementations beautify strings and
symbols.
Ex:
(humanize-name ’hello-world) => "Hello World"
(humanize-name "HELLO-WORLD") => "Hello World"
Returns a keyword meaning content type of the dependency by infering it from URL or a path
A method for this generic function should be defined to initialize application for a new user session.
It should return a widget which become a root widget.
A method for this generic function should be defined to initialize a new page object.
It should return a widget which become a root widget of the page or it might return the
page with initialized root widget in case if you want to use your own subclass of the PAGE class.
welcome-screen-app
) url-path expire-at) ¶string
) expire-at) ¶If init function returned not object inherited from widget, it calls create-widget-from method, to transform value into the widget.
string
) expire-at) ¶A method for this generic function should be defined to initialize application for a new user session.
On the moment it get called session has-map already exists and you can use GET-VALUE function to set some values.
A protocol for performing any special initialization on the creation of a webapp object.
Creates a js backend instance of a given name.
Name should be a keyword like a :jquery or a :prototype.
(eql :jquery)
)) ¶Returns an alist where keys are keywords and values are Lack middlewares or apps.
Default primary method returns alist with two keys :SESSION and :APP, where
:SESSION is a middleware and :APP is the main application.
To modify middlewares list, define method for a server subclass
and use INSERT-MIDDLEWARE function on the results of CALL-NEXT-METHOD.
SAMESITE-POLICY argument if given, should be a keyword. It’s semantic
is described at [Mozilla docs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite).
It’s default value is taken from *DEFAULT-SAMESITE-POLICY* variable.
Here is an example, how this generic-function can be used to run
a HTTP API on URLs with path starting from /api/:
“‘
(defmethod reblocks/server:make-middlewares ((server ultralisp-server) &rest rest)
(declare (ignore rest))
(flet ((test-app (env)
(declare (ignore env))
’(200
(:content-type "text/plain")
("Hello, World"))))
(reblocks/server:insert-middleware
(call-next-method)
(cons
:some-api
(lambda (app)
(funcall (lack.util:find-middleware :mount)
app
"/api/"
#’test-app)))
:before :app)))
“‘
Returns NIL or a maximum number of pages to keep in the session.
Older pages will be expired and free memory.
Default method returns current value of *MAX-PAGES-PER-SESSION* variable.
Returns an object’s class name (i.e. "Employee"). This method is be used to present the name of an entity to the user. Override this method to change the name for particular objects.
This method is called when some unhandled error was raised by application.
It should call reblocks/response:immediate-response like this:
(reblocks/response:immediate-response
"Unhandled condition"
:code 500)
Default implementation returns a plain text page and 500 status code.
Must be overridden by application to prevent default behaviour - redirect to a root of the application. The new method should determine the behavior in this situation (e.g. redirect, signal an error, etc.).
This generic function gets called when user loads a page in the browser.
It is called for all non Ajax requests.
When user reloads page multiple times, the page object can be reused.
Thus this function may be used to reset some page attributes.
Default method resets a list of loaded dependencies to ensure that all of them will be sent to the browser again.
This generic function gets called when user get’s a redirect to another page.
Default method does nothing.
This generic function gets called when user refreshes page in the browser.
Default method does nothing.
Returns NIL or a number of seconds after which page should be removed from the memory.
Default method returns current value of *PAGES-EXPIRE-IN* variable.
This function is called when the current widget
heirarchy fails to parse a URL. The default behavior simply sets the
404 return code
Define this method to render widget’s content.
Use REBLOCKS/HTML:WITH-HTML macro to render HTML.
You can use any other templating engine, just ensure
it writes output to REBLOCKS/HTML:*STREAM*
Outer DIV wrapper will be added automaticall, see GET-HTML-TAG generic-function. It will have CSS tags returned by GET-CSS-CLASSES generic-function.
This function is intended for internal usage only.
It renders widget with surrounding HTML tag and attributes.
By default, widget rendered with a text, suggesting to define a rendering method.
preview-widget
)) ¶welcome-screen-widget
)) ¶funcall-widget
)) ¶string-widget
)) ¶Renders HTML page for the current application.
By default, it renders:
* HTML <head> where calls
RENDER-HEADERS generic-function and RENDER-DEPENDENCIES
generic-function.
* HTML <body> where RENDER-BODY generic-function is called
with APP and INNER-HTML arguments.
By default, it just renders BODY-HTML-STRING as is, without escaping.
BODY-HTML-STRING argument contains a rendered widget tree, generated by REBLOCKS/WIDGET:RENDER generic-function call on the root widget.
Renders links to CSS and JS dependencies.
DEPENDENCIES argument contains a list of
objects inherited from REBLOCKS/DEPENDENCIES:DEPENDENCY class.
By default, adds <meta> entries with Content-Type, description and keywords to the app’s page.
Returns a JS code to dynamically include a CSS or JS dependency
into a webpage on AJAX response.
This makes possible to load new styles and code for widgets which can appear on a page as a response to some action.
dependency
)) ¶Renders a piece of html.
remote-dependency
)) ¶dependency
)) ¶Returns two values - content and content-type.
Example output::
(values "body {background: light-green;}" "text/css")
cached-remote-dependency
)) ¶Serves remote dependency from local cache.
local-dependency
)) ¶Serves local dependency from the disk.
Methods should return a list like that:
“‘lisp
(list 200 ;; status-code
(list :content-type content-type) ;; headers
content) ;; content
“‘
This method handles unhandled exceptions, because this code is common for all routes.
static-route-from-file
) env) ¶Returns a file’s content
dependency-route
) env) ¶Adds a route to serve given object by static URI.
pathname
) &key content-type) ¶This method should be called to update widget on a client.
Usually this required as a result of an action execution.
In the original Weblocks there was a mark-dirty method. This one replaces it.
To make everything easier, the new protocol excludes "propagation". If you
need to update other widgets, please define an "update" method for your widget.
You can use :before or :after modifiers, to keep the current behavior and to add
propagation code.
There are a few optional arguments to control the way how does widget should be updated.
They can be useful to not update the whole parent widget.
- If one of INSERTED-AFTER or INSERTED-BEFORE is given, it should be a widget
object to be used as an anchor. This can be useful to not rerender all children
of some "list" widget when you adding a new element.
- When REMOVED argument is T the widget will be removed from the DOM tree.
widget-class
) slot-name dslotds) ¶sb-mop
.
widget-class
) &rest initargs) ¶sb-mop
.
widget-class
) &rest initargs) ¶sb-mop
.
widget-class
) &key &allow-other-keys) ¶app
) &rest initargs) ¶Add some defaults to the slots.
remote-dependency
) &rest initargs) ¶Creating a route for the dependency if it is "local".
This way it will be possible to serve requests for this dependency from a browser.
local-dependency
) &rest initargs) ¶Creating a route for the dependency if it is "local".
This way it will be possible to serve requests for this dependency from a browser.
remote-dependency
) stream) ¶local-dependency
) stream) ¶widget-class
) (superclass standard-class
)) ¶sb-mop
.
condition
.
:response
This slot is read-only.
A class that encapsulates a unique web application and all relevant rnesources. A webapp is a unique set of dependencies and information that can be enabled or disabled independently of others. Multiple webapps can be active concurrently and incoming connections are dispatched to the root of the webapp according to a prefix parameter that defines the URLs parsed by that webapp. The webapp does not see the prefix parameter in URLs that are provided to it. You can, for instance, have different sites (e.g. mobile vs. desktop) with vastly different layout and dependencies running on the same server.
get-dependencies
.
(setf get-js-backend)
.
get-js-backend
.
(setf get-prefix)
.
get-prefix
.
handle-ajax-request
.
handle-normal-request
.
handle-request
.
handle-request
.
initialize-instance
.
(setf reblocks-webapp-debug)
.
reblocks-webapp-debug
.
(setf reblocks-webapp-description)
.
reblocks-webapp-description
.
reblocks-webapp-hostnames
.
(setf reblocks-webapp-name)
.
reblocks-webapp-name
.
(setf reblocks-webapp-session-key)
.
reblocks-webapp-session-key
.
render
.
render-body
.
render-dependencies
.
render-headers
.
render-page-with-widgets
.
(or symbol string)
:name
The name of the application. This slot will be used
by ’application-page-title’ to generate the default title for each page.
(or null string)
:description
Specify a javascript backend for framework (default is :jquery)
:jquery
:js-backend
The hostnames (a list of strings) reserved for this webapp.
See section 14.32 of RFC 2616.
Example: ’("foo.com" "www.foo.com" "shoo.bar.org")
Wildcard patterns are also allowed. Example: ’("foo.*.com")
If NIL (the default), don’t care about the hostname at all.
TODO: support regex matching here.
list
:hostnames
This slot is read-only.
The subtree of the URI space at this site that belongs to the webapp.
string
:prefix
This slot is read-only.
symbol
:session-key
Responsible for debug mode, use WEBAPP-DEBUG function for getting slot value
common-lisp
.
:debug
This class represents a web-dependency. It could be CSS, JS or an image.
All dependencies are divided into REMOTE-DEPENDENCY or LOCAL-DEPENDENCY.
common-lisp
.
(member :css :js :png :jpg :gif)
(error ":type argument is required.")
:type
This slot is read-only.
Represents attributes and functionality common to all DOM-renderable objects.
The DOM id of an object. Can be a symbol, a
string or nil. When accessed through the ’dom-id’ accessor,
will always become a string. Use ensure-dom-id or
widget-name (for widgets) to access its underlying
implementation.
:dom-id
Local dependencies are served by the same webserver which renders reblocks widgets.
Each local dependency should provide a route, which will be added to the server routing table. Also, it might define a path to the file on the local file-system.
(or pathname null)
:path
This slot is read-only.
When true, then on creation dependency will read file’s data into the memory.
This is useful for applications, deployed as a single executable file.
Create such dependencies in compile time and store in a global variable.
(or null t)
:cache-in-memory
This slot is read-only.
(or null simple-array)
uuid:uuid
(uuid:make-v4-uuid)
This slot is read-only.
local-time:timestamp
(local-time:now)
This slot is read-only.
(or null local-time:timestamp)
:expire-at
(make-hash-table :test (quote equal))
This slot is read-only.
:root-widget
(serapeum:dict)
This slot is read-only.
reblocks/variables:*current-app*
:app
(bordeaux-threads:make-recursive-lock "page metadata")
(make-hash-table :test (quote equal))
This slot is read-only.
app
.
Initarg | Value |
---|---|
:prefix | / |
Remote dependencies refer some URLs. Usually these dependencies are served from a CDN.
string
:remote-url
This slot is read-only.
A hash, used by modern browsers for subresource integrity checking.
See more information at: <https://www.w3.org/TR/SRI/>
(or string null)
:integrity
This slot is read-only.
(or string null)
"anonymous"
:crossorigin
This slot is read-only.
Inherit from this class to add a custom routes.
Base class for all Reblocks servers. Redefine it if you want to add additional HTTP midlewares, etc.
string
:interface
This slot is read-only.
:server-type
This slot is read-only.
(reblocks/routes::make-routes)
Base class for all widget objects.
A list of widgets which will be made
dirty when this widget is made dirty via a POST
request. This slot allows setting up dependencies
between widgets that will make multiple widgets
update automatically during AJAX requests.
:propagate-dirty
Stores the continuation object for
widgets that were invoked via one of the do-*
functions (’do-page’, etc.). When ’answer’ is called
on a widget, this value is used to resume the
computation.
A metaclass used for all widget classes. A custom metaclass is necessary to specialize ’slot-value-using-class’.
standard-class
.
This variable will contain a function after the session middleware will be created.
This variable will contain a function after the session middleware will be created.
This variable will contain a function after the session middleware will be created.
A request hook object used in the application scope.
This hash maps app classes to hashes which store application’s actions.
A list of webapps to start when start-reblocks is called
Here we’ll store all output from the Clack, because we don’t want it to mix with reblocks own output.
A list of commands to execute on a client as a result of action call.
These commands are collected during action processing and rendered to resulting JSON as some sort of JSON-rpc calls to be esecuted on a client-side.
Stores options of last call to (on) or nil if it newer called.
The value of this variable is returned by (status) call as a second value.
Stores current lack environment to configure session’s behaviour.
When true, then Reblocks will be saving addional information useful for debugging.
A list which contains all page dependencies.
Reblocks fills this list during page rendering.
A port where preview server is listening.
A list of applications that the system knows about
Holds current request from a browser.
A request hooks object used in the request scope.
Current response object. It’s status code and headers can be changed when processing a request.
This variable will be bound to the server’s routes during request processing.
Most functions in the REBLOCKS/ROUTES package will work only when this variable is bound.
Will be bound to a server currently processing the request.
Stores current requests’s session
A session hooks object is stored in user’s session and should be bound to this variable by ‘prepare-hooks’ macro.
Per-session locks to avoid having unrelated threads waiting.
Registers a new session hook like that:
(add-session-hook :request
update-dialog ()
(do-some-useful job))
Generates a function get-<variable> and a corresponding setf part.
Prepares internal special variables for request processing.
It takes hooks from user session and creates an empty hooks list bound to a current request.
Performs nested calls of all the hooks of name, the innermost call is
a closure over the body expression. All hooks take at least one
argument, which is a list of inner hooks. After doing their job, they
apply the first element of the list to the rest, but this machanics
is hidden by add-(application|session|request)-hook macroses:
(add-session-hook :action
log-action (action)
(log:info "Before calling" action)
(call-next-hook)
(log:info "After calling" action))
Next, somewhere in the code, where action is called:
(with-hook (:action action-object)
;; any custom code here
(process action-object))
Streamlined code execution will looks like:
(defun action-handler (action-object)
(log:info "Before calling" action-object)
(process action-object)
(log:info "After calling" action-object))
Destructively inserts ’newelt’ into ’list’ after ’index’.
Helper function for WITH-JAVASCRIPT macros.
Adds a callback to the callbacks list with name ‘hook-name’.
Inserts a new route into the routing table.
Inserts all routes bound to the app into the routing table.
Does APP serve requests for HOSTNAME?
Helper for ‘in-webapp’.
Ensure that the we have a valid webapp class
A little helper to transform symbols like :foo-baz-bar into keywords :|fooBazBar|.
Answer a lambda expression with LAMBDA-LIST that passes all args (assuming the call is allowed by LAMBDA-LIST) to FUNCTION, answering its result.
Prepares command for rendering into JSON-rpc style dict.
Escape script blocks inside scripts.
Internal function to eval hooks from all three hook storages.
Helper function that makes it easier to write dynamic hooks.
It whould be called somewhere inside a hook, to evaluate inner hooks. But you don’t need to call it manually, just use one of add-xxxx-hook and a (call-next-hook) inside of it.
Removes from memory expired pages. This function is called periodically
from a separate thread.
Returns a multiple values with counters:
- processed-sessions
- processed-pages
- expired-sessions-count
- sessions-without-restart-count (non-expired but should be expired, if reblocks works correctly you should see 0 here)
- expired-pages-count
Get a running web application
Generates unique, hard to guess action codes.
Returns called action name if any action was called
Internal function to get callbacks list from a hooks storage.
Internal function to get a list of callbacks names from a hooks storage.
A request hook object used in the session scope.
Returns a string containing HTML redered since last call to
with-html, with-html-string or get-rendered-chunk.
Call to this function clears internal stream, used for rendering!
Gets an action from the request. If the request contains
a parameter with name equal to *ACTION-STRING* variable, the action
is looked up in the session and appropriate function is returned.
If no action is in the parameter, returns NIL. If the action
isn’t in the session (somehow invalid), raises an assertion.
Returns two values: an action and the optional page where it was instantiated.
Returns an action bound to the current session.
Converts a function into an action that can be rendered into HTML. A
unique, hard to guess string is generated for the function, and a
function is added to the session hashtable under this string. The
string is then returned. When later requests come in,
’get-request-action’ machinery determines if the action string that
came with the request is stored in the hashtable, and if so, invokes
the stored function.
ACTION-FN - A function that will be called if the user initiates
appropriate control (link, form, etc.) GET and POST parameters will be
passed to this function as keyword arguments by the framework.
ACTION-CODE - The code to use for an action (if not specified
INTERNAL-MAKE-ACTION generates a unique value for each action). Note, if you
don’t provide a hard to guess code (’generate-action-code’ is used by
default), the user will be vulnerable to an attack where a malicious
attacker can attempt to guess a dangerour action id and send the user
a link to it. Only use guessable action codes for GET actions.
A helper function to log all known hooks with given name.
Makes a route for dependency.
Automatically adds a prefix depending on current webapp and widget.
Makes a webserver instance.
Make instance, then start it with “start“ method.
Supply a trailing slash if needed.
Make sure the app with the "" prefix is always the last one and that there is only one!
Adds dependencies to the router to make HTTP server handle them.
Removes the action info from a URI.
Internal function for session reset.
Starts a Clack webserver, returns this server as result.
If server is already started, then logs a warning and does nothing.
Stops a Clack server, but does not deactivates active applications, use ‘stop’ function for that.
Relentlessly strip all trailing slashes from STR.
A string solely consisting of slashes is no special case.
Returns the number of stripped slashes as second value.
Call ‘attributize-name’ with NAME and modify the result to be a
variant that is still usable in all cases where ‘attributize-name’
results can be used, but is extremely unlikely to ever be returned by
‘attributize-name’.
TYPE-MARKER is just a label for human discernment of the different users of this function.
Whether APP is in debug mode.
Returns the description of the web application. Please note, this description will be used for the composition of the page title displayed to the user. See ’application-page-title’ for details.
Returns the hostnames this application will serve requests for.
Returns the name of the web application (also see ’defwebapp’). Please note, this name will be used for the composition of the page title displayed to the user. See ’application-page-title’ for details.
dependency
)) ¶automatically generated reader method
Ensure that the object has a ’dom-id’ and return
it. ’dom-id’ is lazily generated on first read, because its creation
requires a session to be present. Returns a string, symbol, or nil.
dom-object-mixin
)) ¶Called when the app has been pulled off the running list to perform any webapp specific cleanup
static-route-from-file
)) ¶automatically generated reader method
dependency-route
)) ¶automatically generated reader method
funcall-widget
)) ¶automatically generated reader method
funcall-widget
)) ¶automatically generated writer method
static-route-from-file
)) ¶automatically generated reader method
path
.
remote-dependency
)) ¶automatically generated reader method
Handles HTTP request, passed by Clack
local-dependency
)) ¶automatically generated reader method
app
)) ¶The hostnames (a list of strings) reserved for this webapp.
See section 14.32 of RFC 2616.
Example: ’("foo.com" "www.foo.com" "shoo.bar.org")
Wildcard patterns are also allowed. Example: ’("foo.*.com")
If NIL (the default), don’t care about the hostname at all.
TODO: support regex matching here.
Renders a full HTML by collecting header elements, dependencies and inner
HTML and inserting them into the ‘render’ method.
This function will be called inside WITH-PAGE-DEFAULTS block,
where such variables as *TITLE* are bound to their default values.
These variables can be changed by user during widgets or page rendering.
widget
)) ¶widget
)) ¶Stores the continuation object for
widgets that were invoked via one of the do-*
functions (’do-page’, etc.). When ’answer’ is called
on a widget, this value is used to resume the
computation.
widget
)) ¶widget
)) ¶A list of widgets which will be made
dirty when this widget is made dirty via a POST
request. This slot allows setting up dependencies
between widgets that will make multiple widgets
update automatically during AJAX requests.
widget-slot-definition-mixin
)) ¶widget-slot-definition-mixin
)) ¶When set to true (the
default is NIL), the widget will be made dirty
when this slot is modified.
widget-slot-definition-mixin
)) ¶widget-slot-definition-mixin
)) ¶When supplied, provides a string or
symbol which will be used to extract values from
a URI GET parameter
The class of all webapp classes.
standard-class
.
The current package when I was defined.
*package*
This is subclass of remote dependency which is
downloaded and stored in the local cache and served by lisp image.
You don’t’ need to create it manually, just set *cache-remote-dependencies-in* variable to a path where to store data before all (make-dependency...) will be made, and they will create cached-remote-dependency instead of remote-dependency objects automatically.
route
.
:dependency
This slot is read-only.
common-lisp
.
(or symbol function)
:function
A data structure that maintains appropriate
callback functions used to hook into request evaluation.
(make-hash-table)
:content-type
This slot is read-only.
Idea of this app is to have some default application will be served on "/" prefix when there is no other app for "/" prefix is defined.
app
.
Initarg | Value |
---|---|
:prefix | / |
Allows specifying custom widget properties.
standard-direct-slot-definition
.
widget-slot-definition-mixin
.
Allows specifying custom widget properties.
standard-effective-slot-definition
.
widget-slot-definition-mixin
.
A mixin class used in
’widget-direct-slot-definition’ and
’widget-effective-slot-definition’ to allow specifying custom widget
properties.
When set to true (the
default is NIL), the widget will be made dirty
when this slot is modified.
:affects-dirty-status-p
When supplied, provides a string or
symbol which will be used to extract values from
a URI GET parameter
:uri-parameter
Jump to: | %
(
A B C D E F G H I L M N O P R S T U V W |
---|
Jump to: | %
(
A B C D E F G H I L M N O P R S T U V W |
---|
Jump to: | !
*
A B C D E F H I J M N P R S T |
---|
Jump to: | !
*
A B C D E F H I J M N P R S T |
---|
Jump to: | A C D F H I J L P R S T W |
---|
Jump to: | A C D F H I J L P R S T W |
---|