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
2012-02-12 14:38:52 +00:00

1.5 KiB

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.1.0"]

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.