Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Web application environment for Common Lisp
Common Lisp Nginx

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src
t
tmp
.gitignore
README.markdown
clack-app-route.asd
clack-handler-apache.asd
clack-handler-hunchentoot.asd
clack-middleware-auth-basic.asd
clack-middleware-clsql.asd
clack-middleware-csrf-test.asd
clack-middleware-csrf.asd
clack-middleware-dbi.asd
clack-middleware-oauth.asd
clack-middleware-rucksack.asd
clack-test.asd
clack.asd
my-projects
t-clack.asd

README.markdown

Clack - Web Application Environment for Common Lisp

Clack is a web application environment for Common Lisp inspired by Python's WSGI and Ruby's Rack. Your awesome framework should base on this.

Usage

(defpackage simple-app
  (:use :cl
        :clack))
(in-package :simple-app)

(defvar *handler*
    (clackup
      #'(lambda (env)
          '(200 (:content-type "text/plain") ("Hello, Clack!")))))

Now access http://localhost:5000/ and Clack may show you "Hello, Clack!".

To stop the server, call (clack:stop *handler*).

Installation

Clack is available on Quicklisp.

(ql:quickload :clack)

Documentation

Middleware

Middleware is one of the Clack Component. It takes another Application and runs it.

Bundle Middleware

  • Clack.Middleware.Static - Serves static files.
  • Clack.Middleware.Logger - Logging in Clack Application or Middleware.
  • Clack.Middleware.Session - Session management.
  • Clack.Middleware.Auth.Basic - Basic Authentication Middleware.

Contrib Middleware

  • Clack.Middleware.OAuth - Authorization by OAuth.
  • Clack.Middleware.Csrf - Provides easy way to protect from CSRF.
  • Clack.Middleware.Clsql - For CLSQL connection management.
  • Clack.Middleware.Rucksack - For wrapping Rucksack transaction.

Author

Copyright

Copyright (c) 2011 Eitarow Fukamachi

Contributors

License

Licensed under the LLGPL License.

Something went wrong with that request. Please try again.