This repository has been archived on 2023-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
ring-custom-jetty-server/README.md

66 lines
1.5 KiB
Markdown
Raw Normal View History

2012-02-12 09:38:52 -05:00
# Ring-Server
2012-02-07 17:35:55 -05:00
2012-02-12 09:38:52 -05:00
A library for starting a web server to serve a [Ring][1] handler with
sensible default options and environment variable overrides.
2012-02-07 17:35:55 -05:00
2012-02-12 09:38:52 -05:00
[1]: https://github.com/mmcgrana/ring
2012-02-07 17:35:55 -05:00
2012-02-12 09:38:52 -05:00
## 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:
2012-02-12 10:51:31 -05:00
[ring-server "0.1.1"]
2012-02-12 09:38:52 -05:00
## Usage
Simple usage:
```clojure
(use 'ring.server.standalone)
(serve your-handler)
```
You can also specify a map of options:
```clojure
(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.
2012-02-07 17:35:55 -05:00
## License
2012-02-12 09:38:52 -05:00
Copyright (C) 2012 James Reeves
2012-02-07 17:35:55 -05:00
Distributed under the Eclipse Public License, the same as Clojure.