;;;; package.lisp ;; any backend must implement functions for these ;; use the hunchentoot backend as a reference (defpackage #:lazybones-backend (:export ;; request functions #:request-url #:request-path #:request-host #:request-port #:request-query-string #:request-parameter #:request-parameters #:request-headers #:request-header #:request-method #:request-body #:request-cookie ;; resposne functions #:response-header #:response-code #:set-response-cookie #:response-cookie #:http-respond ;; server functions #:install-app #:uninstall-app #:create-server #:server-domain #:start-server #:stop-server #:canned-response #:set-canned-response ;; special variables #:*allowed-keywords* )) ;; the symbols exported here are available for end users to use in the ;; building of their apps (defpackage #:lazybones (:use #:cl #:lazybones-backend) (:local-nicknames (#:a #:alexandria) (#:re #:cl-ppcre)) (:export #:*app* #:*request* #:*response* #:*debugging* #:*allowed-keywords* #:http-error #:provision-app #:app #:canned-response #:set-canned-response #:create-server #:defendpoint #:defendpoint* #:endpoint #:endpoint-method #:endpoint-route #:endpoint-params #:endpoint-content-type #:endpoint-dispatch-pattern #:endpoint-route-variables #:endpoint-body-variables #:app-endpoints #:let-parameters #:map-parameters #:http-err #:http-respond #:install-app #:request-body #:request-cookie #:request-header #:request-headers #:request-host #:request-method #:request-parameter #:request-parameters #:request-path #:request-port #:request-query-string #:request-url #:response-code #:set-response-cookie #:response-cookie #:response-header #:start-server #:stop-server #:uninstall-app #:set-definition #:drop-definition #:add-class-to-definitions #:ext->mimetype #:dictionary))