The wookie Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The wookie Reference Manual

This is the wookie Reference Manual, version 0.3.15, generated automatically by Declt version 2.3 "Robert April" on Tue Jan 09 16:02:17 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Wookie

Wookie is pleased. We shall prosper. Wookie is an asynchronous HTTP server written in common lisp. It is in beta at the moment. Wookie is named after my dog who is extremely tempermental, image-conscious, and makes sounds like a wookie when you squeeze him. He views himself as royalty, and we are all forever in his debt for his invaluable gift of existing on the same planet as us. This project is dedicated to him.

Originally, the goal was to port Hunchentoot to async, but Wookie took a divergent turn and is now its own project.

Documentation

I finally decided to get the Wookie doc site up and running. Not only does it document Wookie, but it's built on top of Wookie and can be used for reference by browsing the source.

License

Wookie is dual-licensed under Wookie-MIT (MIT under the terms that you swear unconditional compliance and servitude to the dog, Wookie, and accept him as your king) and vanilla MIT (see the LICENSE file).


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 wookie

Author

Andrew Danger Lyon <orthecreedence@gmail.com>

License

MIT

Description

An evented webserver for Common Lisp.

Version

0.3.15

Dependencies
Source

wookie.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 wookie.asd

Location

wookie.asd

Systems

wookie (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 wookie/config.lisp

Parent

wookie (system)

Location

config.lisp

Packages

wookie-config

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 wookie/util.lisp

Dependency

config.lisp (file)

Parent

wookie (system)

Location

util.lisp

Packages

wookie-util

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 wookie/package.lisp

Dependency

util.lisp (file)

Parent

wookie (system)

Location

package.lisp

Packages

wookie


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 wookie/state.lisp

Dependency

package.lisp (file)

Parent

wookie (system)

Location

state.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 wookie/error.lisp

Dependencies
Parent

wookie (system)

Location

error.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 wookie/route.lisp

Dependency

error.lisp (file)

Parent

wookie (system)

Location

route.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.8 wookie/plugin.lisp

Dependencies
Parent

wookie (system)

Location

plugin.lisp

Packages

wookie-plugin-export

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.9 wookie/hook.lisp

Dependencies
Parent

wookie (system)

Location

hook.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.10 wookie/request-response.lisp

Dependencies
Parent

wookie (system)

Location

request-response.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.11 wookie/parser.lisp

Dependencies
Parent

wookie (system)

Location

parser.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.12 wookie/listener.lisp

Dependencies
Parent

wookie (system)

Location

listener.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.13 wookie/listener-ssl.lisp

Dependency

listener.lisp (file)

Parent

wookie (system)

Location

listener-ssl.lisp

Exported Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.14 wookie/helper.lisp

Dependencies
Parent

wookie (system)

Location

helper.lisp

Packages

wookie-helper

Exported Definitions
Internal Definitions

file-contents (function)


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 wookie-config

Source

config.lisp (file)

Use List

common-lisp

Used By List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.2 wookie-util

Source

util.lisp (file)

Use List
Used By List

wookie

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.3 wookie

Source

package.lisp (file)

Use List
Used By List

wookie-helper

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.4 wookie-plugin-export

Source

plugin.lisp (file)

Use List

common-lisp

Used By List

wookie-helper


Previous: , Up: Packages   [Contents][Index]

4.5 wookie-helper

Source

helper.lisp (file)

Use List
Exported Definitions
Internal Definitions

file-contents (function)


Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *debug-on-error*

If T, will not catch errors but instead allow them to go to the debugger.

Package

wookie-config

Source

config.lisp (file)

Special Variable: *enabled-plugins*

A list of (keyword) names of enabled plugins.

Package

wookie-config

Source

config.lisp (file)

Special Variable: *hide-version*

Boolean specifying whether or not to hide the Wookie version in the Server header.

Package

wookie-config

Source

config.lisp (file)

Special Variable: *max-body-size*

The max HTTP body size in bytes that Wookie will store for each request, assuming the request is set to store the body (see request-store-body).

Package

wookie-config

Source

config.lisp (file)

Special Variable: *plugin-folders*

A list of directories where Wookie plugins can be found.

Package

wookie

Source

plugin.lisp (file)

Special Variable: *state*

Holds all global state/context for Wookie.

Package

wookie

Source

state.lisp (file)

Special Variable: *tmp-file-store*

Stores the path to where uploads/temporary files go.

Package

wookie-config

Source

config.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Macros

Macro: defplugfun NAME ARGS &body BODY

Define a plugin function that is auto-exported to the :wookie-plugin-export package.

Package

wookie

Source

plugin.lisp (file)

Macro: defplugin &rest ASDF-DEFSYSTEM-ARGS

Simple wrapper around asdf:defsystem that maps a plugin-name (hopefully in *current-plugin-name*) to the ASDF system the plugin defines.

Package

wookie

Source

plugin.lisp (file)

Macro: defroute (METHOD RESOURCE &key REGEX CASE-SENSITIVE CHUNK BUFFER-BODY SUPPRESS-100 REPLACE VHOST PRIORITY) (BIND-REQUEST BIND-RESPONSE &optional BIND-ARGS) &body BODY

Defines a wookie route and pushes it into the route list.

:regex specifies whether resource is a regex or not
:chunk specifies if the route can handle chunked content
:buffer-body tells Wookie to save any body parts that come through before with-chunking is called
:suppress-100 tells Wookie that we want to send our own ‘100 Continue‘ HTTP response if we get an ‘Expect: 100-continue‘ header in the request :replace tells the routing system to upsert this resource/method set (instead of just blindly adding it to the end of the list like default) :priority specifies a the route priority (a number, defaults to 0). Routes with higher priority values are processed first. Both negative and positive priorities are acceptable.

bind-request/bind-response are the variable names that the request/response values are bound to, and bind-args specifies that variable that regex group matches get sent to (a list).

Package

wookie

Source

route.lisp (file)

Macro: get-header HEADER-COLLECTION KEY

Get a value from a header collection.

Package

wookie-util

Source

util.lisp (file)

Macro: set-header HEADER-COLLECTION KEY VALUE

Set a value into a header collection.

Package

wookie-util

Source

util.lisp (file)

Macro: with-chunking REQUEST (CHUNK-DATA LAST-CHUNK-P &key STORE-BODY (START START-VAR) (END END-VAR)) &body BODY

Set up a listener for chunked data in a chunk-enabled router. This macro takes a request object, the names of the chunk-data/finishedp arguments for the body, and the body form.

Chunk-data is a byte-array of data received as decoded chunked data comes in from the client, and last-chunk-p is a boolean indicating whether the last chunk from the request is being sent in.

Package

wookie

Source

request-response.lisp (file)

Macro: with-vhost HOST &body BODY

Simple wrapper that makes all defroutes in the body bind to a specific vhost:

(with-vhost "omg.com"
(defroute ...)
(defroute ...))

Package

wookie

Source

route.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Functions

Function: add-hook HOOK FUNCTION &optional HOOK-NAME

Add a hook into the wookie system. Hooks will be run in the order they were added.

Package

wookie

Source

hook.lisp (file)

Function: body-to-string BODY-BYTES CONTENT-TYPE-HEADER

Given a byte vector of HTTP body data and the value of a Content-Type header, convert the body to a string via the charset provided in the header. If a character encoding is not provided, go with the HTTP default, ISO-8859-1.

Package

wookie-util

Source

util.lisp (file)

Function: camel-case KEYWORD

Camel case anything that can be converted to a string (string, keyword, symbol, etc).

Package

wookie-util

Source

util.lisp (file)

Function: clear-hooks &optional HOOK

Clear all hooks (default) or optionally a specific hook type.

Package

wookie

Source

hook.lisp (file)

Function: clear-route METHOD RESOURCE-STR

Clear out a route in the routing table.

Package

wookie

Source

route.lisp (file)

Function: clear-routes ()

Clear out all routes.

Package

wookie

Source

route.lisp (file)

Function: finish-response RESPONSE &key CLOSE

Given the stream passed back from start-response, finalize the response (send empty chunk) and close the connection, if specified.

Package

wookie

Source

request-response.lisp (file)

Function: getf-reverse PLIST KEY

Like getf, except the VALUE comes before the KEY:
’(:value1 :key1 :value2 :key2)
Allows reverse lookups in plists without duplicating structures.

Package

wookie-util

Source

util.lisp (file)

Function: load-plugins &key IGNORE-LOADING-ERRORS USE-QUICKLISP

Load all plugins under the *plugin-folder* fold (set with set-plugin-folder). There is also the option to compile the plugins (default nil).

Package

wookie

Source

plugin.lisp (file)

Function: lookup-status-text STATUS-CODE

Get the HTTP standard text that goes along with a status code.

Package

wookie-util

Source

util.lisp (file)

Function: map-plist PLIST FN

Iterate over a plist

Package

wookie-util

Source

util.lisp (file)

Function: next-route ()

Lets the routing system know to re-route the current request, excluding this route from the available options.

Package

wookie

Source

route.lisp (file)

Function: plugin-config PLUGIN-NAME

Return the configuration for a plugin. Setfable.

Package

wookie

Source

plugin.lisp (file)

Writer

(setf plugin-config) (function)

Function: (setf plugin-config) CONFIG PLUGIN-NAME

Allow setting of plugin configuration via setf.

Package

wookie

Source

plugin.lisp (file)

Reader

plugin-config (function)

Function: plugin-request-data PLUGIN-NAME REQUEST

Retrieve the data stored into a request object for the plugin-name (keyword) plugin. This function is setfable.

Package

wookie

Source

plugin.lisp (file)

Writer

(setf plugin-request-data) (function)

Function: (setf plugin-request-data) DATA PLUGIN-NAME REQUEST

When a plugin wants to store data available to the main app, it can do so by storing the data into the request’s plugin data. This function allows this by taking the plugin-name (keyword), request object passed into the route, and the data to store.

Package

wookie

Source

plugin.lisp (file)

Reader

plugin-request-data (function)

Function: querystring-to-hash QUERYSTRING

Convert a querystring into a hash table.

Package

wookie-util

Source

util.lisp (file)

Function: querystringp QUERYSTRING

Detects if the given string is an HTTP querystring.

Package

wookie-util

Source

util.lisp (file)

Function: register-plugin PLUGIN-NAME INIT-FUNCTION UNLOAD-FUNCTION

Register a plugin in the Wookie plugin system. Generally this is called from a plugin.lisp file, but can also be called elsewhere in the plugin. The plugin-name argument must be a unique keyword, and init-fn is the initialization function called that loads the plugin (called only once, on register).

Package

wookie

Source

plugin.lisp (file)

Function: remove-hook HOOK FUNCTION/HOOK-NAME

Remove a hook from a set of hooks by its function reference OR by the hook’s name given at add-hook.

Package

wookie

Source

hook.lisp (file)

Function: send-100-continue RESPONSE

Send a 100 Continue header on the given response object.

Package

wookie

Source

request-response.lisp (file)

Function: send-response RESPONSE &key STATUS HEADERS BODY CLOSE

Send a response to an incoming request. Takes :status, :headers, and :body keyword arguments, which together form an entire response.

If :close is T, close the client connection after the response has been sent fully. However, send-response does its best to read the request headers and determine whether or not the connection should be closed. Unless you have a reason to specify :close, it may be best to leave it blank.

Package

wookie

Source

request-response.lisp (file)

Function: serve-html5-app &key BIND PORT INDEX-FILE

This is a full-service convenience function for serving up an HTML5 app. This is a lot like start-static-server, but sends all non-existent routes to the load-index function, assuming your index.html file (or whatever you specify in :index-file) is capable of routing on the current URL path. This lets you run HTML apps directly from Wookie with one simple call.

Note that this must be started in the directory of the app itself.

Package

wookie-helper

Source

helper.lisp (file)

Function: set-querystring-hash HASH KEY VAL

Set the key of a querystring var into a hash, creating as many nested hashes as needed. For instance:

(set-querystring-hash myhash "data[body][tags]" "dogs,animals,bark")

Would update ‘myhash‘ with
[body] => < hash: [tags] => "dogs,animals,bark" >

Package

wookie-util

Source

util.lisp (file)

Function: start-response RESPONSE &key STATUS HEADERS

Start a response to the client, but do not specify body content (or close the connection). Return a chunked (chunga) stream that can be used to send the body content bit by bit until finished by calling finish-response.

Package

wookie

Source

request-response.lisp (file)

Function: start-static-server &key ASSET-DIR BIND PORT

This is a full-service convenience function that lets you quickly start up a server for serving static content (defaults to the current directory, but you can specify via ‘asset-dir‘).

Package

wookie-helper

Source

helper.lisp (file)

Function: unload-plugin PLUGIN-NAME

Unload a plugin from the wookie system. If it’s currently registered, its unload-function will be called.

Also unloads any current plugins that depend on this plugin. Does this recursively so all depencies are always resolved.

Package

wookie

Source

plugin.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Generic functions

Generic Function: get-socket REQUEST/RESPONSE

Grabs the current socket for the request/response given.

Package

wookie

Source

request-response.lisp (file)

Methods
Method: get-socket (RESPONSE response)
Method: get-socket (REQUEST request)
Generic Function: listener-backlog OBJECT
Generic Function: (setf listener-backlog) NEW-VALUE OBJECT
Package

wookie

Methods
Method: listener-backlog (LISTENER listener)

automatically generated reader method

Source

listener.lisp (file)

Method: (setf listener-backlog) NEW-VALUE (LISTENER listener)

automatically generated writer method

Source

listener.lisp (file)

Generic Function: listener-bind OBJECT
Generic Function: (setf listener-bind) NEW-VALUE OBJECT
Package

wookie

Methods
Method: listener-bind (LISTENER listener)

automatically generated reader method

Source

listener.lisp (file)

Method: (setf listener-bind) NEW-VALUE (LISTENER listener)

automatically generated writer method

Source

listener.lisp (file)

Generic Function: listener-certificate OBJECT
Generic Function: (setf listener-certificate) NEW-VALUE OBJECT
Package

wookie

Methods
Method: listener-certificate (SSL-LISTENER ssl-listener)

automatically generated reader method

Source

listener-ssl.lisp (file)

Method: (setf listener-certificate) NEW-VALUE (SSL-LISTENER ssl-listener)

automatically generated writer method

Source

listener-ssl.lisp (file)

Generic Function: listener-key OBJECT
Generic Function: (setf listener-key) NEW-VALUE OBJECT
Package

wookie

Methods
Method: listener-key (SSL-LISTENER ssl-listener)

automatically generated reader method

Source

listener-ssl.lisp (file)

Method: (setf listener-key) NEW-VALUE (SSL-LISTENER ssl-listener)

automatically generated writer method

Source

listener-ssl.lisp (file)

Generic Function: listener-password OBJECT
Generic Function: (setf listener-password) NEW-VALUE OBJECT
Package

wookie

Methods
Method: listener-password (SSL-LISTENER ssl-listener)

automatically generated reader method

Source

listener-ssl.lisp (file)

Method: (setf listener-password) NEW-VALUE (SSL-LISTENER ssl-listener)

automatically generated writer method

Source

listener-ssl.lisp (file)

Generic Function: listener-port OBJECT
Generic Function: (setf listener-port) NEW-VALUE OBJECT
Package

wookie

Methods
Method: listener-port (LISTENER listener)

automatically generated reader method

Source

listener.lisp (file)

Method: (setf listener-port) NEW-VALUE (LISTENER listener)

automatically generated writer method

Source

listener.lisp (file)

Generic Function: request-body OBJECT
Generic Function: (setf request-body) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-body (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-body) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: request-body-callback OBJECT
Generic Function: (setf request-body-callback) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-body-callback (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-body-callback) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: request-data OBJECT
Generic Function: (setf request-data) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-data (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-data) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: request-headers OBJECT
Generic Function: (setf request-headers) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-headers (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-headers) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: request-http OBJECT
Generic Function: (setf request-http) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-http (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-http) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: request-method OBJECT
Generic Function: (setf request-method) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-method (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-method) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: request-plugin-data OBJECT
Generic Function: (setf request-plugin-data) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-plugin-data (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-plugin-data) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: request-resource OBJECT
Generic Function: (setf request-resource) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-resource (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-resource) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: request-socket OBJECT
Generic Function: (setf request-socket) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-socket (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-socket) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: request-store-body OBJECT
Generic Function: (setf request-store-body) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-store-body (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-store-body) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: request-uri OBJECT
Generic Function: (setf request-uri) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-uri (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-uri) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: response-error-response CONDITION
Package

wookie

Methods
Method: response-error-response (CONDITION response-error)
Source

request-response.lisp (file)

Generic Function: response-finished-p OBJECT
Generic Function: (setf response-finished-p) NEW-VALUE OBJECT
Package

wookie

Methods
Method: response-finished-p (RESPONSE response)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf response-finished-p) NEW-VALUE (RESPONSE response)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: response-headers OBJECT
Generic Function: (setf response-headers) NEW-VALUE OBJECT
Package

wookie

Methods
Method: response-headers (RESPONSE response)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf response-headers) NEW-VALUE (RESPONSE response)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: response-request OBJECT
Generic Function: (setf response-request) NEW-VALUE OBJECT
Package

wookie

Methods
Method: response-request (RESPONSE response)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf response-request) NEW-VALUE (RESPONSE response)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: start-server LISTENER

Start Wookie with the given listener.

Package

wookie

Source

listener.lisp (file)

Methods
Method: start-server (LISTENER ssl-listener)
Source

listener-ssl.lisp (file)

Method: start-server (LISTENER listener)
Generic Function: wookie-error-msg CONDITION
Package

wookie

Methods
Method: wookie-error-msg (CONDITION wookie-error)
Source

error.lisp (file)

Generic Function: wookie-error-socket CONDITION
Package

wookie

Methods
Method: wookie-error-socket (CONDITION wookie-error)
Source

error.lisp (file)

Generic Function: wookie-state-hooks OBJECT
Generic Function: (setf wookie-state-hooks) NEW-VALUE OBJECT
Package

wookie

Methods
Method: wookie-state-hooks (WOOKIE-STATE wookie-state)
Method: (setf wookie-state-hooks) NEW-VALUE (WOOKIE-STATE wookie-state)

Holds the hook callbacks associated with this context.

Source

state.lisp (file)

Generic Function: wookie-state-plugin-config OBJECT
Generic Function: (setf wookie-state-plugin-config) NEW-VALUE OBJECT
Package

wookie

Methods
Method: wookie-state-plugin-config (WOOKIE-STATE wookie-state)
Method: (setf wookie-state-plugin-config) NEW-VALUE (WOOKIE-STATE wookie-state)

Holds all plugin configuration.

Source

state.lisp (file)

Generic Function: wookie-state-plugins OBJECT
Generic Function: (setf wookie-state-plugins) NEW-VALUE OBJECT
Package

wookie

Methods
Method: wookie-state-plugins (WOOKIE-STATE wookie-state)
Method: (setf wookie-state-plugins) NEW-VALUE (WOOKIE-STATE wookie-state)

Holds the loaded plugins and their associated data for this context

Source

state.lisp (file)

Generic Function: wookie-state-routes OBJECT
Generic Function: (setf wookie-state-routes) NEW-VALUE OBJECT
Package

wookie

Methods
Method: wookie-state-routes (WOOKIE-STATE wookie-state)
Method: (setf wookie-state-routes) NEW-VALUE (WOOKIE-STATE wookie-state)

Holds the routes this context uses.

Source

state.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Conditions

Condition: response-already-sent ()

Triggered when a response is attempted more than once.

Package

wookie

Source

request-response.lisp (file)

Direct superclasses

response-error (condition)

Condition: response-error ()

Describes a response error

Package

wookie

Source

request-response.lisp (file)

Direct superclasses

wookie-error (condition)

Direct subclasses

response-already-sent (condition)

Direct methods

response-error-response (method)

Direct slots
Slot: response
Initargs

:response

Initform

(quote nil)

Readers

response-error-response (generic function)

Condition: route-error ()

Describes a general routing error.

Package

wookie

Source

route.lisp (file)

Direct superclasses

wookie-error (condition)

Direct subclasses

route-not-found (condition)

Direct methods

route-error-resource (method)

Direct slots
Slot: resource
Initargs

:resource

Initform

(quote nil)

Readers

route-error-resource (generic function)

Condition: route-not-found ()

Describes a route not found error.

Package

wookie

Source

route.lisp (file)

Direct superclasses

route-error (condition)

Condition: wookie-error ()

Describes a basic error while processing. Meant to be extended.

Package

wookie

Source

error.lisp (file)

Direct superclasses

error (condition)

Direct subclasses
Direct methods
Direct slots
Slot: msg
Initargs

:msg

Initform

(quote nil)

Readers

wookie-error-msg (generic function)

Slot: socket
Initargs

:socket

Initform

(quote nil)

Readers

wookie-error-socket (generic function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Classes

Class: listener ()

Describes an HTTP listener.

Package

wookie

Source

listener.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

ssl-listener (class)

Direct methods
Direct slots
Slot: bind
Initargs

:bind

Readers

listener-bind (generic function)

Writers

(setf listener-bind) (generic function)

Slot: port
Initargs

:port

Initform

80

Readers

listener-port (generic function)

Writers

(setf listener-port) (generic function)

Slot: backlog
Initargs

:backlog

Initform

-1

Readers

listener-backlog (generic function)

Writers

(setf listener-backlog) (generic function)

Slot: event-cb
Initargs

:event-cb

Readers

listener-event-cb (generic function)

Writers

(setf listener-event-cb) (generic function)

Class: request ()

A class describing a request, passed to every route.

Package

wookie

Source

request-response.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: socket
Initargs

:socket

Readers

request-socket (generic function)

Writers

(setf request-socket) (generic function)

Slot: method
Initargs

:method

Initform

:get

Readers

request-method (generic function)

Writers

(setf request-method) (generic function)

Slot: resource
Initargs

:resource

Initform

"/"

Readers

request-resource (generic function)

Writers

(setf request-resource) (generic function)

Slot: headers
Initargs

:headers

Readers

request-headers (generic function)

Writers

(setf request-headers) (generic function)

Slot: uri
Initargs

:url

Readers

request-uri (generic function)

Writers

(setf request-uri) (generic function)

Slot: data
Initargs

:data

Readers

request-data (generic function)

Writers

(setf request-data) (generic function)

Slot: store-body
Initargs

:store-body

Initform

t

Readers

request-store-body (generic function)

Writers

(setf request-store-body) (generic function)

Slot: body
Readers

request-body (generic function)

Writers

(setf request-body) (generic function)

Slot: plugin-data
Initargs

:plugin-data

Readers

request-plugin-data (generic function)

Writers

(setf request-plugin-data) (generic function)

Slot: body-callback
Initargs

:body-callback

Readers

request-body-callback (generic function)

Writers

(setf request-body-callback) (generic function)

Slot: body-callback-setcb
Initargs

:body-callback-setcb

Readers

request-body-callback-setcb (generic function)

Writers

(setf request-body-callback-setcb) (generic function)

Slot: http
Initargs

:http

Readers

request-http (generic function)

Writers

(setf request-http) (generic function)

Class: response ()

A class holding information about a response to the client.

Package

wookie

Source

request-response.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: headers
Initargs

:headers

Readers

response-headers (generic function)

Writers

(setf response-headers) (generic function)

Slot: request
Initargs

:request

Readers

response-request (generic function)

Writers

(setf response-request) (generic function)

Slot: finishedp
Initargs

:finishedp

Readers

response-finished-p (generic function)

Writers

(setf response-finished-p) (generic function)

Slot: chunk-stream
Initargs

:chunk-stream

Readers

response-chunk-stream (generic function)

Writers

(setf response-chunk-stream) (generic function)

Class: ssl-listener ()

Describes an HTTPS listener.

Package

wookie

Source

listener-ssl.lisp (file)

Direct superclasses

listener (class)

Direct methods
Direct slots
Slot: certificate
Initargs

:certificate

Readers

listener-certificate (generic function)

Writers

(setf listener-certificate) (generic function)

Slot: key
Initargs

:key

Readers

listener-key (generic function)

Writers

(setf listener-key) (generic function)

Slot: password
Initargs

:password

Readers

listener-password (generic function)

Writers

(setf listener-password) (generic function)

Class: wookie-state ()

wookie-state holds all global data/state used by Wookie. It’s purpose is to make threading Wookie easier by allowing the declaration of one thread-local variable instad of many.

Package

wookie

Source

state.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: hooks

Holds the hook callbacks associated with this context.

Initargs

:hooks

Initform

(make-hash-table :size 10 :test (function eq))

Readers

wookie-state-hooks (generic function)

Writers

(setf wookie-state-hooks) (generic function)

Slot: plugins

Holds the loaded plugins and their associated data for this context

Initargs

:plugins

Initform

(make-hash-table :test (function eq))

Readers

wookie-state-plugins (generic function)

Writers

(setf wookie-state-plugins) (generic function)

Slot: plugin-config

Holds all plugin configuration.

Initargs

:plugin-config

Readers

wookie-state-plugin-config (generic function)

Writers

(setf wookie-state-plugin-config) (generic function)

Slot: routes

Holds the routes this context uses.

Initargs

:routes

Initform

(make-array 0 :adjustable t :fill-pointer t)

Readers

wookie-state-routes (generic function)

Writers

(setf wookie-state-routes) (generic function)

Slot: ordered-routes

Routes ordered according to their priority (cached value)

Readers

wookie-state-ordered-routes (generic function)

Writers

(setf wookie-state-ordered-routes) (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *available-plugins*

A plist (generated by load-plugins) that holds a mapping of plugin <–> ASDF systems for the plugins. Reset on each load-plugins run.

Package

wookie

Source

plugin.lisp (file)

Special Variable: *current-plugin-name*

Used by load-plugins to tie ASDF systems to a :plugin-name

Package

wookie

Source

plugin.lisp (file)

Special Variable: *default-vhost*

Defines the default virtualhost that routes use (unless explicitely stated otherwise). Nil means no vhost (respond to all requests).

Package

wookie

Source

route.lisp (file)

Special Variable: *scanner-plugin-name*

Basically unix’s basename in a regex.

Package

wookie

Source

plugin.lisp (file)

Special Variable: *scanner-querystring-p*

Detects a querystring.

Package

wookie-util

Source

util.lisp (file)

Special Variable: *wookie-version*

Holds Wookie’s current version.

Package

wookie

Source

request-response.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Macros

Macro: do-run-hooks (SOCKET) RUN-HOOK-CMD &body BODY

Run a number of hooks, catch any errors while running said hooks, and if an error occurs, clear out all traces of the current request (specified on the socket). If no errors occur, run the body normally.

Package

wookie

Source

hook.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Functions

Function: add-default-headers HEADERS

Add a number of default headers to a headers plist. If one of the default headers is already present, do NOT overwrite it. This allows the app to set its own headers that can override the defaults.

Package

wookie

Source

request-response.lisp (file)

Function: add-route NEW-ROUTE

Add a new route to the table.

Package

wookie

Source

route.lisp (file)

Function: convert-hash-vectors HASH

Given a hash table, look for all hashes whos keys are a set of indexes starting at zero and convert them to vectors. For instance: {users: {0: ’leonard’, 1: ’freddy’, 2: ’samuel’}}
becomes:
{users: [’leonard’, ’freddy’, ’samuel’]}

This function is recursive.

Package

wookie-util

Source

util.lisp (file)

Function: file-contents PATH

Sucks up an entire file from PATH into a freshly-allocated string, returning two values: the string and the number of bytes read.

Package

wookie-helper

Source

helper.lisp (file)

Function: find-route METHOD RESOURCE &key EXCLUDE HOST

Given a method and a resource, find the best matching route.

Package

wookie

Source

route.lisp (file)

Function: get-log-uri URI

Given a quri object, return a string of the printable version for logging.

Package

wookie

Source

request-response.lisp (file)

Function: get-overridden-method REQUEST ORIGINAL-METHOD

Checks if there is a GET var called _method, and if so, uses it instead of the provided method.

Package

wookie

Source

parser.lisp (file)

Function: get-querystring-hash-r CONTAINER SUBKEYS VAL

Recursively build a tree of hashes based on a given set of subkeys in a query string.

Package

wookie-util

Source

util.lisp (file)

Function: getf* PLIST KEY &optional DEFAULT

Similar to GETF but compares keys with string-equal.

Package

wookie-util

Source

util.lisp (file)

Function: handle-connection SOCK

Handles a new connection. Creates a bunch of closures that are passed into an http-parse parser which decide amongst themselves, during different points in the parsing, when to dispatch to the found router, when to send chunked content to the route, etc.

Package

wookie

Source

parser.lisp (file)

Function: listener-event-handler EV EVENT-CB

A wrapper around main-event-handler, useful for listeners to tie into.

Package

wookie

Source

error.lisp (file)

Function: main-event-handler EVENT SOCKET &optional EVENT-CB

Handle socket events/conditions that crop up during processing.

Package

wookie

Source

error.lisp (file)

Function: make-route METHOD RESOURCE FN &key REGEX CASE-SENSITIVE ALLOW-CHUNKING BUFFER-BODY SUPPRESS-100 VHOST PRIORITY

Simple wrapper to make a route object from a set of args.

Package

wookie

Source

route.lisp (file)

Function: match-plugin-asdf PLUGIN-NAME ASDF-SYSTEM

Match a plugin and an ASDF system toeach other.

Package

wookie

Source

plugin.lisp (file)

Function: method-equal METHOD1 METHOD2

Test two route methods (kewords or lists of keywords) for equality.

Package

wookie

Source

route.lisp (file)

Function: ordered-routes ()

Return the array of routes ordered by their priority, routes with higher priority being first.

Package

wookie

Source

route.lisp (file)

Function: print-hash HASH-TABLE &optional INDENT

Useful for debugging hash tables.

Package

wookie-util

Source

util.lisp (file)

Function: read-data SOCK DATA

A simple read-cb handler that passes data to the HTTP parser attached to the socket the data is coming in on. The parser runs all necessary callbacks directly, so this function just blindly feeds the data in.

Package

wookie

Source

parser.lisp (file)

Function: resolve-dependencies &key IGNORE-LOADING-ERRORS USE-QUICKLISP

Load the ASDF plugins and resolve all of their dependencies. Kind of an unfortunate name. Will probably be renamed.

Package

wookie

Source

plugin.lisp (file)

Function: route-equal ROUTE METHOD RESOURCE-STR

Test the property values of :method and :resource-str in a route plist for equality against a supplied method and resource-str.

Package

wookie

Source

route.lisp (file)

Function: routes-modified ()

Reset ordered route cache after routing changes

Package

wookie

Source

route.lisp (file)

Function: run-hooks HOOK &rest ARGS

Run all hooks of a specific type. Returns a future that is finished with no values when all hooks have successfully run. If a hook callback returns a future object, then run-hooks will wait for it to finish before finishing its own future. If multiple callbacks return futures, run-hooks waits for ALL of them to finish before finishing its future.

This setup allows an application to add extra processing to hooks that may be asynchronous without blocking the event loop, and without the processing of the current request stampeding full steam ahead when it may need access to information the hook is grabbing async.

For instance, let’s say you want to check user auth on each request, you could set up a :pre-route hook that reads the request and checks the auth info against your database, finishing the future it returns only when the database has responded. Once the future is finished, then Wookie will continue processing the request.

Package

wookie

Source

hook.lisp (file)

Function: setup-parser SOCK

This is the main parser function. It’s responsible for listening to a socket, setting up an HTTP parser for it, handling the different events/callbacks the HTTP parser throws at it, dispatching routes, handling body chunking, etc. A lot of this is done via shared state which all lives under this function’s top-level (let) form, and a set of local functions which read/modify this shared state.

This function is at the core of Wookie’s being.

Note that setup-parser can be called multiple times on the same socket. The only reason to do this is if a request/response has come and gone on the socket and you wish to make the socket available for another request. Wookie handles all of this automatically.

Package

wookie

Source

parser.lisp (file)

Function: upsert-route NEW-ROUTE

Add a new route to the table. If a route already exists with the same method and resource string, it is replaced with the new one in the same position the old route existed in (as to preserve routing order).

Package

wookie

Source

route.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Generic functions

Generic Function: listener-event-cb OBJECT
Generic Function: (setf listener-event-cb) NEW-VALUE OBJECT
Package

wookie

Methods
Method: listener-event-cb (LISTENER listener)

automatically generated reader method

Source

listener.lisp (file)

Method: (setf listener-event-cb) NEW-VALUE (LISTENER listener)

automatically generated writer method

Source

listener.lisp (file)

Generic Function: request-body-callback-setcb OBJECT
Generic Function: (setf request-body-callback-setcb) NEW-VALUE OBJECT
Package

wookie

Methods
Method: request-body-callback-setcb (REQUEST request)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf request-body-callback-setcb) NEW-VALUE (REQUEST request)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: response-chunk-stream OBJECT
Generic Function: (setf response-chunk-stream) NEW-VALUE OBJECT
Package

wookie

Methods
Method: response-chunk-stream (RESPONSE response)

automatically generated reader method

Source

request-response.lisp (file)

Method: (setf response-chunk-stream) NEW-VALUE (RESPONSE response)

automatically generated writer method

Source

request-response.lisp (file)

Generic Function: route-error-resource CONDITION
Package

wookie

Methods
Method: route-error-resource (CONDITION route-error)
Source

route.lisp (file)

Generic Function: wookie-state-ordered-routes OBJECT
Generic Function: (setf wookie-state-ordered-routes) NEW-VALUE OBJECT
Package

wookie

Methods
Method: wookie-state-ordered-routes (WOOKIE-STATE wookie-state)
Method: (setf wookie-state-ordered-routes) NEW-VALUE (WOOKIE-STATE wookie-state)

Routes ordered according to their priority (cached value)

Source

state.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Conditions

Condition: use-next-route ()

Signals to the routing system to load the next route after the one loaded. can be used to set up route load chains based on criteria not sent directly to find-route.

Package

wookie

Source

route.lisp (file)

Direct superclasses

condition (condition)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   W  
Index Entry  Section

F
File, Lisp, wookie.asd: The wookie<dot>asd file
File, Lisp, wookie/config.lisp: The wookie/config<dot>lisp file
File, Lisp, wookie/error.lisp: The wookie/error<dot>lisp file
File, Lisp, wookie/helper.lisp: The wookie/helper<dot>lisp file
File, Lisp, wookie/hook.lisp: The wookie/hook<dot>lisp file
File, Lisp, wookie/listener-ssl.lisp: The wookie/listener-ssl<dot>lisp file
File, Lisp, wookie/listener.lisp: The wookie/listener<dot>lisp file
File, Lisp, wookie/package.lisp: The wookie/package<dot>lisp file
File, Lisp, wookie/parser.lisp: The wookie/parser<dot>lisp file
File, Lisp, wookie/plugin.lisp: The wookie/plugin<dot>lisp file
File, Lisp, wookie/request-response.lisp: The wookie/request-response<dot>lisp file
File, Lisp, wookie/route.lisp: The wookie/route<dot>lisp file
File, Lisp, wookie/state.lisp: The wookie/state<dot>lisp file
File, Lisp, wookie/util.lisp: The wookie/util<dot>lisp file

L
Lisp File, wookie.asd: The wookie<dot>asd file
Lisp File, wookie/config.lisp: The wookie/config<dot>lisp file
Lisp File, wookie/error.lisp: The wookie/error<dot>lisp file
Lisp File, wookie/helper.lisp: The wookie/helper<dot>lisp file
Lisp File, wookie/hook.lisp: The wookie/hook<dot>lisp file
Lisp File, wookie/listener-ssl.lisp: The wookie/listener-ssl<dot>lisp file
Lisp File, wookie/listener.lisp: The wookie/listener<dot>lisp file
Lisp File, wookie/package.lisp: The wookie/package<dot>lisp file
Lisp File, wookie/parser.lisp: The wookie/parser<dot>lisp file
Lisp File, wookie/plugin.lisp: The wookie/plugin<dot>lisp file
Lisp File, wookie/request-response.lisp: The wookie/request-response<dot>lisp file
Lisp File, wookie/route.lisp: The wookie/route<dot>lisp file
Lisp File, wookie/state.lisp: The wookie/state<dot>lisp file
Lisp File, wookie/util.lisp: The wookie/util<dot>lisp file

W
wookie.asd: The wookie<dot>asd file
wookie/config.lisp: The wookie/config<dot>lisp file
wookie/error.lisp: The wookie/error<dot>lisp file
wookie/helper.lisp: The wookie/helper<dot>lisp file
wookie/hook.lisp: The wookie/hook<dot>lisp file
wookie/listener-ssl.lisp: The wookie/listener-ssl<dot>lisp file
wookie/listener.lisp: The wookie/listener<dot>lisp file
wookie/package.lisp: The wookie/package<dot>lisp file
wookie/parser.lisp: The wookie/parser<dot>lisp file
wookie/plugin.lisp: The wookie/plugin<dot>lisp file
wookie/request-response.lisp: The wookie/request-response<dot>lisp file
wookie/route.lisp: The wookie/route<dot>lisp file
wookie/state.lisp: The wookie/state<dot>lisp file
wookie/util.lisp: The wookie/util<dot>lisp file

Jump to:   F   L   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   B   C   D   F   G   H   L   M   N   O   P   Q   R   S   U   W  
Index Entry  Section

(
(setf listener-backlog): Exported generic functions
(setf listener-backlog): Exported generic functions
(setf listener-bind): Exported generic functions
(setf listener-bind): Exported generic functions
(setf listener-certificate): Exported generic functions
(setf listener-certificate): Exported generic functions
(setf listener-event-cb): Internal generic functions
(setf listener-event-cb): Internal generic functions
(setf listener-key): Exported generic functions
(setf listener-key): Exported generic functions
(setf listener-password): Exported generic functions
(setf listener-password): Exported generic functions
(setf listener-port): Exported generic functions
(setf listener-port): Exported generic functions
(setf plugin-config): Exported functions
(setf plugin-request-data): Exported functions
(setf request-body): Exported generic functions
(setf request-body): Exported generic functions
(setf request-body-callback): Exported generic functions
(setf request-body-callback): Exported generic functions
(setf request-body-callback-setcb): Internal generic functions
(setf request-body-callback-setcb): Internal generic functions
(setf request-data): Exported generic functions
(setf request-data): Exported generic functions
(setf request-headers): Exported generic functions
(setf request-headers): Exported generic functions
(setf request-http): Exported generic functions
(setf request-http): Exported generic functions
(setf request-method): Exported generic functions
(setf request-method): Exported generic functions
(setf request-plugin-data): Exported generic functions
(setf request-plugin-data): Exported generic functions
(setf request-resource): Exported generic functions
(setf request-resource): Exported generic functions
(setf request-socket): Exported generic functions
(setf request-socket): Exported generic functions
(setf request-store-body): Exported generic functions
(setf request-store-body): Exported generic functions
(setf request-uri): Exported generic functions
(setf request-uri): Exported generic functions
(setf response-chunk-stream): Internal generic functions
(setf response-chunk-stream): Internal generic functions
(setf response-finished-p): Exported generic functions
(setf response-finished-p): Exported generic functions
(setf response-headers): Exported generic functions
(setf response-headers): Exported generic functions
(setf response-request): Exported generic functions
(setf response-request): Exported generic functions
(setf wookie-state-hooks): Exported generic functions
(setf wookie-state-hooks): Exported generic functions
(setf wookie-state-ordered-routes): Internal generic functions
(setf wookie-state-ordered-routes): Internal generic functions
(setf wookie-state-plugin-config): Exported generic functions
(setf wookie-state-plugin-config): Exported generic functions
(setf wookie-state-plugins): Exported generic functions
(setf wookie-state-plugins): Exported generic functions
(setf wookie-state-routes): Exported generic functions
(setf wookie-state-routes): Exported generic functions

A
add-default-headers: Internal functions
add-hook: Exported functions
add-route: Internal functions

B
body-to-string: Exported functions

C
camel-case: Exported functions
clear-hooks: Exported functions
clear-route: Exported functions
clear-routes: Exported functions
convert-hash-vectors: Internal functions

D
defplugfun: Exported macros
defplugin: Exported macros
defroute: Exported macros
do-run-hooks: Internal macros

F
file-contents: Internal functions
find-route: Internal functions
finish-response: Exported functions
Function, (setf plugin-config): Exported functions
Function, (setf plugin-request-data): Exported functions
Function, add-default-headers: Internal functions
Function, add-hook: Exported functions
Function, add-route: Internal functions
Function, body-to-string: Exported functions
Function, camel-case: Exported functions
Function, clear-hooks: Exported functions
Function, clear-route: Exported functions
Function, clear-routes: Exported functions
Function, convert-hash-vectors: Internal functions
Function, file-contents: Internal functions
Function, find-route: Internal functions
Function, finish-response: Exported functions
Function, get-log-uri: Internal functions
Function, get-overridden-method: Internal functions
Function, get-querystring-hash-r: Internal functions
Function, getf*: Internal functions
Function, getf-reverse: Exported functions
Function, handle-connection: Internal functions
Function, listener-event-handler: Internal functions
Function, load-plugins: Exported functions
Function, lookup-status-text: Exported functions
Function, main-event-handler: Internal functions
Function, make-route: Internal functions
Function, map-plist: Exported functions
Function, match-plugin-asdf: Internal functions
Function, method-equal: Internal functions
Function, next-route: Exported functions
Function, ordered-routes: Internal functions
Function, plugin-config: Exported functions
Function, plugin-request-data: Exported functions
Function, print-hash: Internal functions
Function, querystring-to-hash: Exported functions
Function, querystringp: Exported functions
Function, read-data: Internal functions
Function, register-plugin: Exported functions
Function, remove-hook: Exported functions
Function, resolve-dependencies: Internal functions
Function, route-equal: Internal functions
Function, routes-modified: Internal functions
Function, run-hooks: Internal functions
Function, send-100-continue: Exported functions
Function, send-response: Exported functions
Function, serve-html5-app: Exported functions
Function, set-querystring-hash: Exported functions
Function, setup-parser: Internal functions
Function, start-response: Exported functions
Function, start-static-server: Exported functions
Function, unload-plugin: Exported functions
Function, upsert-route: Internal functions

G
Generic Function, (setf listener-backlog): Exported generic functions
Generic Function, (setf listener-bind): Exported generic functions
Generic Function, (setf listener-certificate): Exported generic functions
Generic Function, (setf listener-event-cb): Internal generic functions
Generic Function, (setf listener-key): Exported generic functions
Generic Function, (setf listener-password): Exported generic functions
Generic Function, (setf listener-port): Exported generic functions
Generic Function, (setf request-body): Exported generic functions
Generic Function, (setf request-body-callback): Exported generic functions
Generic Function, (setf request-body-callback-setcb): Internal generic functions
Generic Function, (setf request-data): Exported generic functions
Generic Function, (setf request-headers): Exported generic functions
Generic Function, (setf request-http): Exported generic functions
Generic Function, (setf request-method): Exported generic functions
Generic Function, (setf request-plugin-data): Exported generic functions
Generic Function, (setf request-resource): Exported generic functions
Generic Function, (setf request-socket): Exported generic functions
Generic Function, (setf request-store-body): Exported generic functions
Generic Function, (setf request-uri): Exported generic functions
Generic Function, (setf response-chunk-stream): Internal generic functions
Generic Function, (setf response-finished-p): Exported generic functions
Generic Function, (setf response-headers): Exported generic functions
Generic Function, (setf response-request): Exported generic functions
Generic Function, (setf wookie-state-hooks): Exported generic functions
Generic Function, (setf wookie-state-ordered-routes): Internal generic functions
Generic Function, (setf wookie-state-plugin-config): Exported generic functions
Generic Function, (setf wookie-state-plugins): Exported generic functions
Generic Function, (setf wookie-state-routes): Exported generic functions
Generic Function, get-socket: Exported generic functions
Generic Function, listener-backlog: Exported generic functions
Generic Function, listener-bind: Exported generic functions
Generic Function, listener-certificate: Exported generic functions
Generic Function, listener-event-cb: Internal generic functions
Generic Function, listener-key: Exported generic functions
Generic Function, listener-password: Exported generic functions
Generic Function, listener-port: Exported generic functions
Generic Function, request-body: Exported generic functions
Generic Function, request-body-callback: Exported generic functions
Generic Function, request-body-callback-setcb: Internal generic functions
Generic Function, request-data: Exported generic functions
Generic Function, request-headers: Exported generic functions
Generic Function, request-http: Exported generic functions
Generic Function, request-method: Exported generic functions
Generic Function, request-plugin-data: Exported generic functions
Generic Function, request-resource: Exported generic functions
Generic Function, request-socket: Exported generic functions
Generic Function, request-store-body: Exported generic functions
Generic Function, request-uri: Exported generic functions
Generic Function, response-chunk-stream: Internal generic functions
Generic Function, response-error-response: Exported generic functions
Generic Function, response-finished-p: Exported generic functions
Generic Function, response-headers: Exported generic functions
Generic Function, response-request: Exported generic functions
Generic Function, route-error-resource: Internal generic functions
Generic Function, start-server: Exported generic functions
Generic Function, wookie-error-msg: Exported generic functions
Generic Function, wookie-error-socket: Exported generic functions
Generic Function, wookie-state-hooks: Exported generic functions
Generic Function, wookie-state-ordered-routes: Internal generic functions
Generic Function, wookie-state-plugin-config: Exported generic functions
Generic Function, wookie-state-plugins: Exported generic functions
Generic Function, wookie-state-routes: Exported generic functions
get-header: Exported macros
get-log-uri: Internal functions
get-overridden-method: Internal functions
get-querystring-hash-r: Internal functions
get-socket: Exported generic functions
get-socket: Exported generic functions
get-socket: Exported generic functions
getf*: Internal functions
getf-reverse: Exported functions

H
handle-connection: Internal functions

L
listener-backlog: Exported generic functions
listener-backlog: Exported generic functions
listener-bind: Exported generic functions
listener-bind: Exported generic functions
listener-certificate: Exported generic functions
listener-certificate: Exported generic functions
listener-event-cb: Internal generic functions
listener-event-cb: Internal generic functions
listener-event-handler: Internal functions
listener-key: Exported generic functions
listener-key: Exported generic functions
listener-password: Exported generic functions
listener-password: Exported generic functions
listener-port: Exported generic functions
listener-port: Exported generic functions
load-plugins: Exported functions
lookup-status-text: Exported functions

M
Macro, defplugfun: Exported macros
Macro, defplugin: Exported macros
Macro, defroute: Exported macros
Macro, do-run-hooks: Internal macros
Macro, get-header: Exported macros
Macro, set-header: Exported macros
Macro, with-chunking: Exported macros
Macro, with-vhost: Exported macros
main-event-handler: Internal functions
make-route: Internal functions
map-plist: Exported functions
match-plugin-asdf: Internal functions
Method, (setf listener-backlog): Exported generic functions
Method, (setf listener-bind): Exported generic functions
Method, (setf listener-certificate): Exported generic functions
Method, (setf listener-event-cb): Internal generic functions
Method, (setf listener-key): Exported generic functions
Method, (setf listener-password): Exported generic functions
Method, (setf listener-port): Exported generic functions
Method, (setf request-body): Exported generic functions
Method, (setf request-body-callback): Exported generic functions
Method, (setf request-body-callback-setcb): Internal generic functions
Method, (setf request-data): Exported generic functions
Method, (setf request-headers): Exported generic functions
Method, (setf request-http): Exported generic functions
Method, (setf request-method): Exported generic functions
Method, (setf request-plugin-data): Exported generic functions
Method, (setf request-resource): Exported generic functions
Method, (setf request-socket): Exported generic functions
Method, (setf request-store-body): Exported generic functions
Method, (setf request-uri): Exported generic functions
Method, (setf response-chunk-stream): Internal generic functions
Method, (setf response-finished-p): Exported generic functions
Method, (setf response-headers): Exported generic functions
Method, (setf response-request): Exported generic functions
Method, (setf wookie-state-hooks): Exported generic functions
Method, (setf wookie-state-ordered-routes): Internal generic functions
Method, (setf wookie-state-plugin-config): Exported generic functions
Method, (setf wookie-state-plugins): Exported generic functions
Method, (setf wookie-state-routes): Exported generic functions
Method, get-socket: Exported generic functions
Method, get-socket: Exported generic functions
Method, listener-backlog: Exported generic functions
Method, listener-bind: Exported generic functions
Method, listener-certificate: Exported generic functions
Method, listener-event-cb: Internal generic functions
Method, listener-key: Exported generic functions
Method, listener-password: Exported generic functions
Method, listener-port: Exported generic functions
Method, request-body: Exported generic functions
Method, request-body-callback: Exported generic functions
Method, request-body-callback-setcb: Internal generic functions
Method, request-data: Exported generic functions
Method, request-headers: Exported generic functions
Method, request-http: Exported generic functions
Method, request-method: Exported generic functions
Method, request-plugin-data: Exported generic functions
Method, request-resource: Exported generic functions
Method, request-socket: Exported generic functions
Method, request-store-body: Exported generic functions
Method, request-uri: Exported generic functions
Method, response-chunk-stream: Internal generic functions
Method, response-error-response: Exported generic functions
Method, response-finished-p: Exported generic functions
Method, response-headers: Exported generic functions
Method, response-request: Exported generic functions
Method, route-error-resource: Internal generic functions
Method, start-server: Exported generic functions
Method, start-server: Exported generic functions
Method, wookie-error-msg: Exported generic functions
Method, wookie-error-socket: Exported generic functions
Method, wookie-state-hooks: Exported generic functions
Method, wookie-state-ordered-routes: Internal generic functions
Method, wookie-state-plugin-config: Exported generic functions
Method, wookie-state-plugins: Exported generic functions
Method, wookie-state-routes: Exported generic functions
method-equal: Internal functions

N
next-route: Exported functions

O
ordered-routes: Internal functions

P
plugin-config: Exported functions
plugin-request-data: Exported functions
print-hash: Internal functions

Q
querystring-to-hash: Exported functions
querystringp: Exported functions

R
read-data: Internal functions
register-plugin: Exported functions
remove-hook: Exported functions
request-body: Exported generic functions
request-body: Exported generic functions
request-body-callback: Exported generic functions
request-body-callback: Exported generic functions
request-body-callback-setcb: Internal generic functions
request-body-callback-setcb: Internal generic functions
request-data: Exported generic functions
request-data: Exported generic functions
request-headers: Exported generic functions
request-headers: Exported generic functions
request-http: Exported generic functions
request-http: Exported generic functions
request-method: Exported generic functions
request-method: Exported generic functions
request-plugin-data: Exported generic functions
request-plugin-data: Exported generic functions
request-resource: Exported generic functions
request-resource: Exported generic functions
request-socket: Exported generic functions
request-socket: Exported generic functions
request-store-body: Exported generic functions
request-store-body: Exported generic functions
request-uri: Exported generic functions
request-uri: Exported generic functions
resolve-dependencies: Internal functions
response-chunk-stream: Internal generic functions
response-chunk-stream: Internal generic functions
response-error-response: Exported generic functions
response-error-response: Exported generic functions
response-finished-p: Exported generic functions
response-finished-p: Exported generic functions
response-headers: Exported generic functions
response-headers: Exported generic functions
response-request: Exported generic functions
response-request: Exported generic functions
route-equal: Internal functions
route-error-resource: Internal generic functions
route-error-resource: Internal generic functions
routes-modified: Internal functions
run-hooks: Internal functions

S
send-100-continue: Exported functions
send-response: Exported functions
serve-html5-app: Exported functions
set-header: Exported macros
set-querystring-hash: Exported functions
setup-parser: Internal functions
start-response: Exported functions
start-server: Exported generic functions
start-server: Exported generic functions
start-server: Exported generic functions
start-static-server: Exported functions

U
unload-plugin: Exported functions
upsert-route: Internal functions

W
with-chunking: Exported macros
with-vhost: Exported macros
wookie-error-msg: Exported generic functions
wookie-error-msg: Exported generic functions
wookie-error-socket: Exported generic functions
wookie-error-socket: Exported generic functions
wookie-state-hooks: Exported generic functions
wookie-state-hooks: Exported generic functions
wookie-state-ordered-routes: Internal generic functions
wookie-state-ordered-routes: Internal generic functions
wookie-state-plugin-config: Exported generic functions
wookie-state-plugin-config: Exported generic functions
wookie-state-plugins: Exported generic functions
wookie-state-plugins: Exported generic functions
wookie-state-routes: Exported generic functions
wookie-state-routes: Exported generic functions

Jump to:   (  
A   B   C   D   F   G   H   L   M   N   O   P   Q   R   S   U   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
B   C   D   E   F   H   K   M   O   P   R   S   U  
Index Entry  Section

*
*available-plugins*: Internal special variables
*current-plugin-name*: Internal special variables
*debug-on-error*: Exported special variables
*default-vhost*: Internal special variables
*enabled-plugins*: Exported special variables
*hide-version*: Exported special variables
*max-body-size*: Exported special variables
*plugin-folders*: Exported special variables
*scanner-plugin-name*: Internal special variables
*scanner-querystring-p*: Internal special variables
*state*: Exported special variables
*tmp-file-store*: Exported special variables
*wookie-version*: Internal special variables

B
backlog: Exported classes
bind: Exported classes
body: Exported classes
body-callback: Exported classes
body-callback-setcb: Exported classes

C
certificate: Exported classes
chunk-stream: Exported classes

D
data: Exported classes

E
event-cb: Exported classes

F
finishedp: Exported classes

H
headers: Exported classes
headers: Exported classes
hooks: Exported classes
http: Exported classes

K
key: Exported classes

M
method: Exported classes
msg: Exported conditions

O
ordered-routes: Exported classes

P
password: Exported classes
plugin-config: Exported classes
plugin-data: Exported classes
plugins: Exported classes
port: Exported classes

R
request: Exported classes
resource: Exported conditions
resource: Exported classes
response: Exported conditions
routes: Exported classes

S
Slot, backlog: Exported classes
Slot, bind: Exported classes
Slot, body: Exported classes
Slot, body-callback: Exported classes
Slot, body-callback-setcb: Exported classes
Slot, certificate: Exported classes
Slot, chunk-stream: Exported classes
Slot, data: Exported classes
Slot, event-cb: Exported classes
Slot, finishedp: Exported classes
Slot, headers: Exported classes
Slot, headers: Exported classes
Slot, hooks: Exported classes
Slot, http: Exported classes
Slot, key: Exported classes
Slot, method: Exported classes
Slot, msg: Exported conditions
Slot, ordered-routes: Exported classes
Slot, password: Exported classes
Slot, plugin-config: Exported classes
Slot, plugin-data: Exported classes
Slot, plugins: Exported classes
Slot, port: Exported classes
Slot, request: Exported classes
Slot, resource: Exported conditions
Slot, resource: Exported classes
Slot, response: Exported conditions
Slot, routes: Exported classes
Slot, socket: Exported conditions
Slot, socket: Exported classes
Slot, store-body: Exported classes
Slot, uri: Exported classes
socket: Exported conditions
socket: Exported classes
Special Variable, *available-plugins*: Internal special variables
Special Variable, *current-plugin-name*: Internal special variables
Special Variable, *debug-on-error*: Exported special variables
Special Variable, *default-vhost*: Internal special variables
Special Variable, *enabled-plugins*: Exported special variables
Special Variable, *hide-version*: Exported special variables
Special Variable, *max-body-size*: Exported special variables
Special Variable, *plugin-folders*: Exported special variables
Special Variable, *scanner-plugin-name*: Internal special variables
Special Variable, *scanner-querystring-p*: Internal special variables
Special Variable, *state*: Exported special variables
Special Variable, *tmp-file-store*: Exported special variables
Special Variable, *wookie-version*: Internal special variables
store-body: Exported classes

U
uri: Exported classes

Jump to:   *  
B   C   D   E   F   H   K   M   O   P   R   S   U  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   L   P   R   S   U   W  
Index Entry  Section

C
Class, listener: Exported classes
Class, request: Exported classes
Class, response: Exported classes
Class, ssl-listener: Exported classes
Class, wookie-state: Exported classes
Condition, response-already-sent: Exported conditions
Condition, response-error: Exported conditions
Condition, route-error: Exported conditions
Condition, route-not-found: Exported conditions
Condition, use-next-route: Internal conditions
Condition, wookie-error: Exported conditions

L
listener: Exported classes

P
Package, wookie: The wookie package
Package, wookie-config: The wookie-config package
Package, wookie-helper: The wookie-helper package
Package, wookie-plugin-export: The wookie-plugin-export package
Package, wookie-util: The wookie-util package

R
request: Exported classes
response: Exported classes
response-already-sent: Exported conditions
response-error: Exported conditions
route-error: Exported conditions
route-not-found: Exported conditions

S
ssl-listener: Exported classes
System, wookie: The wookie system

U
use-next-route: Internal conditions

W
wookie: The wookie system
wookie: The wookie package
wookie-config: The wookie-config package
wookie-error: Exported conditions
wookie-helper: The wookie-helper package
wookie-plugin-export: The wookie-plugin-export package
wookie-state: Exported classes
wookie-util: The wookie-util package

Jump to:   C   L   P   R   S   U   W