;;;; CLASH --- The Common Lisp Adaptable Simple HTTP server ;;;; This is copyrighted software. See documentation for terms. ;;;; ;;;; package.cl --- Package definition for CLASH itself ;;;; ;;;; Checkout Tag: $Name$ ;;;; $Id$ (in-package :cl-user) ;;;; %File Description: ;;;; ;;;; ;;;; (defpackage :CLASH (:use :cl #+(and :cmu :mp) :mp) (:export ;; Status Codes #:+HTTP-Code-Continue+ #:+HTTP-Code-Switching-Protocols+ #:+HTTP-Code-OK+ #:+HTTP-Code-Created+ #:+HTTP-Code-Accepted+ #:+HTTP-Code-Non-Authoritative-Information+ #:+HTTP-Code-No-Content+ #:+HTTP-Code-Reset-Content+ #:+HTTP-Code-Partial-Content+ #:+HTTP-Code-Multiple-Choices+ #:+HTTP-Code-Moved-Permanently+ #:+HTTP-Code-Moved-Temporarily+ #:+HTTP-Code-See-Other+ #:+HTTP-Code-Not-Modified+ #:+HTTP-Code-Use-Proxy+ #:+HTTP-Code-Bad-Request+ #:+HTTP-Code-Unauthorized+ #:+HTTP-Code-Payment-Required+ #:+HTTP-Code-Forbidden+ #:+HTTP-Code-Not-Found+ #:+HTTP-Code-Method-Not-Allowed+ #:+HTTP-Code-Not-Acceptable+ #:+HTTP-Code-Proxy-Authentication-Required+ #:+HTTP-Code-Request-Timeout+ #:+HTTP-Code-Conflict+ #:+HTTP-Code-Gone+ #:+HTTP-Code-Length-Required+ #:+HTTP-Code-Precondition-Failed+ #:+HTTP-Code-Request-Entity-Too-Large+ #:+HTTP-Code-Request-URI-Too-Long+ #:+HTTP-Code-Unsupported-Media-Type+ #:+HTTP-Code-Internal-Server-Error+ #:+HTTP-Code-Not-Implemented+ #:+HTTP-Code-Bad-Gateway+ #:+HTTP-Code-Service-Unavailable+ #:+HTTP-Code-Gateway-Timeout+ #:+HTTP-Code-HTTP-Version-Not-Supported+ ;; Conditions #:clash-error #:clash-error-code #:clash-error-response-initargs #:clash-error-entity-initargs #:simple-clash-error #:clash-syntax-error #:clash-syntax-error-fragment #:clash-syntax-error-reason ;; URL #:url-error #:url-error-url-string #:url-unknown-scheme-error #:url-unknown-scheme-error-scheme #:url-syntax-error #:url-illegal-escape-error #:url-illegal-escape-error-escape-seq #:url-simple-syntax-error #:url-simple-syntax-error-reason #:url #:url-source-string #:url-scheme #:url-string #:url-specific-string #:url-significant-string #:copy-url #:merge-urls #:register-url-scheme #:unregister-url-scheme #:reset-url-schemes #:*parse-url-default-base* #:parse-url-from-string #:url-host-port-mixin #:url-host #:url-port #:url-authority-p #:url-authority-string #:url-path-mixin #:url-directory #:url-params #:url-name #:url-name-param #:url-path-p #:url-path-string #:url-query-mixin #:url-query-arguments #:url-query-string #:url-query-argument #:url-http ;; Version #:*clash-major-version* #:*clash-minor-version* #:clash-version-string #:http-version #:http-version-major #:http-version-minor #:get-http-version #:parse-http-version #:format-http-version ;; Buffer #:*default-io-buffer-size* #:with-io-buffer ;; Connections #:+connection-states+ #:connection #:connection-state #:connection-stream #:connection-address #:connection-hostname #:close-connection ;; Messages #:http-message #:http-message-server #:http-message-version #:render-http-message #:header-exists-p #:header-value #:with-headers #:request #:request-connection #:request-method #:request-url #:response #:response-request #:response-status-code #:create-response #:parse-request #:request/0.9 #:request-entity #:response/0.9 #:request/1.0 #:request-authorization #:request-cookie #:request-date #:request-from #:request-if-modified-since #:request-pragma #:request-referer #:request-user-agent #:response/1.0 #:response-date #:response-location #:response-pragma #:response-www-authenticate #:response-set-cookie #:authorization #:cookie #:date #:from #:if-modified-since #:pragma #:referer #:user-agent #:location #:www-authenticate #:set-cookie ;; Entity #:entity #:render-entity-headers #:render-entity-body #:entity-header-mixin/1.1 #:entity-allow #:entity-content-encoding #:entity-content-language #:entity-content-length #:entity-content-location #:entity-content-md5 #:entity-content-range #:entity-content-type #:entity-expires #:entity-last-modified #:stream-entity-mixin #:stream-entity-stream #:stream-entity-length #:string-entity #:entity-body #:file-entity #:entity-pathname ;; Resource #:resource #:resource-allowed-methods #:access-resource #:access-resource-using-method #:static-resource #:static-resource-entity #:dynamic-resource #:dynamic-resource-generator #:dynamic-form-resource #:dynamic-form-resource-processor #:parse-form-data #:with-form-data #:with-query-args #:redirector-resource #:redirector-resource-code #:redirector-resource-destination ;; Namespace #:namespace #:namespace-add-url #:namespace-remove-url #:namespace-lookup-url #:hierarchical-namespace ;; Server #:http-server #:http-server-namespace #:export-resource #:serve-connection #:read-request #:get-request-class-using-server #:serve-request #:create-response-using-server #:get-response-class-using-server #:write-response #:write-response-to-request #:handle-server-error #:with-server-handler #:server-product-info #:simple-http-server #:http-server/0.9 #:http-server/1.0 ;; Responses #:create-standard-response #:standard-response-body ;; Session #:session-leader #:session-leader-sessions #:session-leader-session-name #:session-leader-session-path #:session-leader-new-id #:session-leader-new-session #:with-new-session #:session-leader-process-login #:get-session-data #:sessioned-resource #:sessioned-resource-session-leader #:handle-missing-session #:with-session-data ;; Authorization #:clash-validation-error #:validation-mixin #:with-validation-data #:validator #:validate-access #:user-database #:user-database-get-user-data #:www-validator #:www-validator-realm #:www-validator-user-database #:www-basic-validator ;; Logging #:server-profiling-mixin #:server-profiling-mixin-connection-time #:server-profiling-mixin-connection-count #:server-profiling-mixin-connection-avg #:server-profiling-mixin-connection-min #:server-profiling-mixin-connection-max #:server-profiling-mixin-request-time #:server-profiling-mixin-request-count #:server-profiling-mixin-request-avg #:server-profiling-mixin-request-min #:server-profiling-mixin-request-max #:server-logging-mixin #:server-logging-mixin-pathname #:server-logging-mixin-stream ;; Readtable #:enable-clash-syntax #:disable-clash-syntax ;; Utility #:export-files #:export-directory #:with-string-response ;; Drivers #:start-http-listener #:initialize-clash ))