/compojure

Concise web framework for Clojure

Primary LanguageClojureEclipse Public License 1.0EPL-1.0

Compojure is a small, open source web framework for the Clojure programming language.

An Example

Here's a small web application written using Compojure and Ring.

(ns hello-world
  (:use compojure.core, ring.adapter.jetty)
  (:require [compojure.route :as route]))

(defroutes main-routes
  (GET "/" [] "<h1>Hello World</h1>")
  (route/not-found "<h1>Page not found</h1>"))

(run-jetty main-routes {:port 8080})

Documentation

Breaking Changes

As of version 0.6.0, Compojure no longer adds default middleware to routes. This means you must explicitly add the wrap-params and wrap-cookies middleware to your routes.

To make this a little easier, the compojure.handler namespace provides functions that add common middleware functions to your routes.

Installing

The easiest way to use Compojure in your own projects is via Leiningen. Add the following dependency to your project.clj file:

[compojure "1.0.1"]

To build Compojure from source, run the following commands:

lein deps
lein jar

Mailing List

Compojure has a Google Group. This is the best place to ask questions and report bugs.