*********************** The HTTP-SERVER library *********************** .. current-library:: http-server .. current-module:: http-server The HTTP-SERVER module ====================== .. variable:: *command-line-parser* .. class:: :open: :abstract: :superclasses: .. class:: :open: :abstract: :superclasses: :keyword redirect-code: :keyword terminal?: .. class:: :open: :abstract: :superclasses: .. class:: :superclasses: .. class:: :open: :superclasses: :keyword allow-directory-listing?: :keyword allow-multi-views?: :keyword default-documents: :keyword directory: :keyword follow-symlinks?: .. class:: :open: :superclasses: :keyword function: :keyword methods: .. class:: :open: :superclasses: :keyword clients-shutdown-notification: :keyword debug: :keyword default-virtual-host: :keyword listeners: :keyword listeners-shutdown-notification: :keyword lock: :keyword media-type-map: :keyword server-root: :keyword session-id: :keyword session-max-age: :keyword use-default-virtual-host?: :keyword virtual-hosts: .. class:: :open: :superclasses: :httpi .. class:: :superclasses: :http-common:http-common .. class:: :superclasses: :keyword target: .. class:: :open: :primary: :superclasses: :http-common:http-common, :http-common:http-common .. class:: :open: :superclasses: , .. class:: :open: :primary: :superclasses: :streams:io, :http-common:http-common :keyword direction: .. class:: :superclasses: :keyword regex: :keyword replacement: .. class:: :open: :primary: :superclasses: :http-common:http-common :keyword id: :keyword server: .. class:: :superclasses: , :keyword router: .. generic-function:: add-cookie :signature: add-cookie (response name value) => (#rest results) :parameter response: An instance of ````. :parameter name: An instance of ````. :parameter value: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: add-resource :open: :signature: add-resource (router url resource #key #all-keys) => (#rest results) :parameter router: An instance of ````. :parameter url: An instance of ````. :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: add-resource-name :open: :signature: add-resource-name (name resource) => (#rest results) :parameter name: An instance of ````. :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: add-virtual-host :open: :signature: add-virtual-host (server fqdn vhost) => () :parameter server: An instance of ````. :parameter fqdn: An instance of ````. :parameter vhost: An instance of ````. .. generic-function:: clear-session :signature: clear-session (request) => (#rest results) :parameter request: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: configure-server :signature: configure-server (server config-file) => (#rest results) :parameter server: An instance of ````. :parameter config-file: An instance of ````. :value #rest results: An instance of ````. .. function:: count-query-values :signature: count-query-values () => (count) :value count: An instance of ````. .. function:: current-request :signature: current-request () => (request) :value request: An instance of ````. .. function:: current-response :signature: current-response () => (response) :value response: An instance of ````. .. function:: current-server :signature: current-server () => (server) :value server: An instance of ````. .. generic-function:: debugging-enabled? :signature: debugging-enabled? (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: debugging-enabled?-setter :signature: debugging-enabled?-setter (value object) => (#rest results) :parameter value: An instance of ````. :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: default-content-type :open: :signature: default-content-type (resource) => (content-type) :parameter resource: An instance of ````. :value content-type: An instance of ``type-union(, )``. .. generic-function:: default-documents :signature: default-documents (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: default-virtual-host :signature: default-virtual-host (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: default-virtual-host-setter :signature: default-virtual-host-setter (value object) => (#rest results) :parameter value: An instance of ````. :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: do-query-values :signature: do-query-values (f) => (#rest results) :parameter f: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: do-resources :open: :signature: do-resources (router function #key seen) => () :parameter router: An instance of ````. :parameter function: An instance of ````. :parameter #key seen: An instance of ````. .. generic-function:: ensure-session :signature: ensure-session (request) => (#rest results) :parameter request: An instance of ````. :value #rest results: An instance of ````. .. function:: file-contents :signature: file-contents (filename #key error?) => (contents) :parameter filename: An instance of ``:file-system:system``. :parameter #key error?: An instance of ````. :value contents: An instance of ``false-or()``. .. generic-function:: find-resource :open: :signature: find-resource (router url) => (resource prefix suffix) :parameter router: An instance of ````. :parameter url: An instance of ````. :value resource: An instance of ````. :value prefix: An instance of ````. :value suffix: An instance of ````. .. generic-function:: find-virtual-host :open: :signature: find-virtual-host (server fqdn) => (vhost) :parameter server: An instance of ````. :parameter fqdn: An instance of ````. :value vhost: An instance of ````. .. function:: function-resource :signature: function-resource (function #key methods) => (resource) :parameter function: An instance of ````. :parameter #key methods: An instance of ````. :value resource: An instance of ````. .. generic-function:: generate-url :open: :signature: generate-url (router name #key #all-keys) => (url) :parameter router: An instance of ````. :parameter name: An instance of ````. :value url: An instance of ````. .. generic-function:: get-attr :signature: get-attr (node attrib) => (#rest results) :parameter node: An instance of ````. :parameter attrib: An instance of ````. :value #rest results: An instance of ````. .. function:: get-query-value :signature: get-query-value (key #key as) => (value) :parameter key: An instance of ````. :parameter #key as: An instance of ``false-or()``. :value value: An instance of ````. Return the first (and usually the only) query value associated with ``key``, or ``#f`` if no value found. Query values are any values from the query portion of the URL or from POST data for requests encoded as either ``application/x-www-form-urlencoded`` or ``multipart/form-data``. See also: :func:`get-query-values` .. function:: get-query-values :signature: get-query-values (key) => (values) :parameter key: An instance of ````. :value values: An instance of ````. Returns all query values associated with ``key``, or an empty sequence if no values are found. Query values are any values from the query portion of the URL or from POST data for requests encoded as either ``application/x-www-form-urlencoded`` or ``multipart/form-data``. In some cases, such as file upload that allows multiple file to be selected, there may be several values for a single key and :func:`get-query-values` is what you need in that case. For most common cases, however, :func:`get-query-value` is the right choice. .. generic-function:: get-session :signature: get-session (request) => (#rest results) :parameter request: An instance of ````. :value #rest results: An instance of ````. .. function:: http-server-main :signature: http-server-main (#key server description before-startup) => () :parameter #key server: An instance of ``false-or()``. :parameter #key description: An instance of ``false-or()``. :parameter #key before-startup: An instance of ``false-or()``. .. function:: output :signature: output (format-string #rest format-args) => (#rest results) :parameter format-string: An instance of ````. :parameter #rest format-args: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: page-context :signature: page-context () => (#rest results) :value #rest results: An instance of ````. .. generic-function:: process-config-element :open: :signature: process-config-element (server node name) => (#rest results) :parameter server: An instance of ````. :parameter node: An instance of ````. :parameter name: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: process-request-content :open: :signature: process-request-content (request content-type) => (#rest results) :parameter request: An instance of ````. :parameter content-type: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: redirect-temporarily-to :open: :signature: redirect-temporarily-to (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: redirect-to :open: :signature: redirect-to (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: request-absolute-url :signature: request-absolute-url (request) => (#rest results) :parameter request: An instance of ````. :value #rest results: An instance of ````. .. function:: request-content-type :signature: request-content-type (request) => (#rest results) :parameter request: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: request-host :signature: request-host (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: request-query-values :signature: request-query-values (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: request-url-path-prefix :signature: request-url-path-prefix (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: request-url-path-suffix :signature: request-url-path-suffix (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: respond :open: :signature: respond (resource #key #all-keys) => (#rest results) :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: respond-to-connect :open: :signature: respond-to-connect (resource #key #all-keys) => (#rest results) :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: respond-to-delete :open: :signature: respond-to-delete (resource #key #all-keys) => (#rest results) :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: respond-to-get :open: :signature: respond-to-get (resource #key #all-keys) => (#rest results) :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: respond-to-head :open: :signature: respond-to-head (resource #key #all-keys) => (#rest results) :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: respond-to-options :open: :signature: respond-to-options (resource #key #all-keys) => (#rest results) :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: respond-to-post :open: :signature: respond-to-post (resource #key #all-keys) => (#rest results) :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: respond-to-put :open: :signature: respond-to-put (resource #key #all-keys) => (#rest results) :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: respond-to-trace :open: :signature: respond-to-trace (resource #key #all-keys) => (#rest results) :parameter resource: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: rewrite-url :open: :signature: rewrite-url (url rule) => (url extra) :parameter url: An instance of ````. :parameter rule: An instance of ````. :value url: An instance of ````. :value extra: An instance of ````. .. generic-function:: route-request :signature: route-request (server request) => (#rest results) :parameter server: An instance of ````. :parameter request: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: serve-static-file :signature: serve-static-file (policy locator) => (#rest results) :parameter policy: An instance of ````. :parameter locator: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: server-root :signature: server-root (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: start-server :open: :signature: start-server (server #key background wait) => (started?) :parameter server: An instance of ````. :parameter #key background: An instance of ````. :parameter #key wait: An instance of ````. :value started?: An instance of ````. .. generic-function:: stop-server :open: :signature: stop-server (server #key abort) => (#rest results) :parameter server: An instance of ````. :parameter #key abort: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: unmatched-url-suffix :open: :signature: unmatched-url-suffix (resource unmatched-path) => (#rest results) :parameter resource: An instance of ````. :parameter unmatched-path: An instance of ````. :value #rest results: An instance of ````. .. generic-function:: use-default-virtual-host? :signature: use-default-virtual-host? (object) => (#rest results) :parameter object: An instance of ````. :value #rest results: An instance of ````. .. macro:: with-query-values