205bf14aa5
:stacktraces? and :auto-reload? used instead. |
||
---|---|---|
src/ring | ||
test/ring/server/test | ||
.gitignore | ||
project.clj | ||
README.md |
Ring-Server
A library for starting a web server to serve a Ring handler with sensible default options and environment variable overrides.
Features
When starting in development mode (i.e. LEIN_NO_DEV
is not set):
- The server finds a free port to start on
- It automatically reloads changed files
- It renders exceptions and their stacktraces in HTML
- A web browser is automatically opened to the started server
In production:
- You can specify the port via the
PORT
environment variable - You can add hooks to run on startup and shutdown.
Install
Add the following dependency to your project.clj
file:
[ring-server "0.2.2"]
Usage
Simple usage:
(use 'ring.server.standalone)
(serve your-handler)
You can also specify a map of options:
(serve your-handler {:port 4040})
The following options are supported:
-
:port
- The port to start the server on, overrides$PORT
-
:join?
- Whether to wait until the server stops (default true) -
:init
- A function executed when the server starts -
:destroy
- A function executed when the server stops -
:open-browser?
- True if you want a browser to be opened to the server. Defaults to true in development mode, false in production mode. -
:middleware
- A list of middleware functions to apply to the handler. Defaults to[wrap-stacktrace wrap-reload]
in development.
License
Copyright (C) 2012 James Reeves
Distributed under the Eclipse Public License, the same as Clojure.