A router Duct framework that uses Reitit. This library is also compatible with Integrant.
Add the following dependency to your deps.edn file:
org.duct-framework/router.reitit {:mvn/version "0.5.0"}
Or to your Leiningen project file:
[org.duct-framework/router.reitit "0.5.0"]
Add the :duct.router/reitit key to your Duct (or Integrant)
configuration:
{:duct.router/reitit
{:routes ["/" {:get #ig/ref :example.handler/root}]}
:example.handler/root {}}
Once initiated the :duct.router/reitit key will produce a Ring
handler.
There are four top level options available:
:routes - the Reitit routing data:middleware - a vector of middleware to apply to the Ring handler:data - data to add to every Reitit route:handlers - a vector of handlers to fall backThe :data key takes a map and acts as it does in Reitit, except for
the following keys:
:muuntaja - a map of Muuntaja options to be merged with the defaults:coercion - one of: :malli, :schema or :specThese keys will automatically add relevant middleware.
The :duct.handler.reitit/default key will initiate into a handler
using the Reitit create-default-handler function. It takes the
following options:
:not-found - a handler for 404 HTTP errors:method-not-allowed - a handler for 405 HTTP errors:not-acceptable - a handler for 406 HTTP errorsThis can be referenced in the :handlers vector to provide a default
handler:
{:duct.router/reitit
{:routes ["/" {:get #ig/ref :example.handler/root}]
:handlers [#ig/ref :duct.handler.reitit/default]}
:duct.handler.reitit/default {}
:example.handler/root {}}
Copyright © 2025 James Reeves
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |