(-create-file-or-resource-handler
  response-fn
  {:keys [parameter root path loader allow-symlinks? index-files paths
          not-found-handler]
   :or {parameter (keyword "")
        root "public"
        index-files ["index.html"]
        paths (constantly nil)
        not-found-handler (constantly {:status 404 :body "" :headers {}})}})(compile-result [path data]
                {:keys [:reitit.ring/default-options-endpoint expand] :as opts})(create-default-handler)(create-default-handler
  {:keys [not-found method-not-allowed not-acceptable]
   :or {not-found (constantly {:status 404 :body "" :headers {}})
        method-not-allowed (constantly {:status 405 :body "" :headers {}})
        not-acceptable (constantly {:status 406 :body "" :headers {}})}})A default ring handler that can handle the following cases, configured via options:
| key | description | 
|---|---|
| :not-found | 404, no routes matches | 
| :method-not-allowed | 405, no method matches | 
| :not-acceptable | 406, handler returned nil | 
A default ring handler that can handle the following cases, configured via options: | key | description | | -----------------------|-------------| | `:not-found` | 404, no routes matches | `:method-not-allowed` | 405, no method matches | `:not-acceptable` | 406, handler returned `nil`
(create-file-handler)(create-file-handler opts)A ring handler for serving file resources, configured via options:
| key | description | 
|---|---|
| :parameter | optional name of the wildcard parameter, defaults to unnamed keyword : | 
| :root | optional resource root, defaults to "public" | 
| :path | optional path to mount the handler to. Works only if mounted outside of a router. | 
| :loader | optional class loader to resolve the resources | 
| :index-files | optional vector of index-files to look in a resource directory, defaults to ["index.html"] | 
| :not-found-handler | optional handler function to use if the requested resource is missing (404 Not Found) | 
A ring handler for serving file resources, configured via options: | key | description | | -------------------|-------------| | :parameter | optional name of the wildcard parameter, defaults to unnamed keyword `:` | :root | optional resource root, defaults to `"public"` | :path | optional path to mount the handler to. Works only if mounted outside of a router. | :loader | optional class loader to resolve the resources | :index-files | optional vector of index-files to look in a resource directory, defaults to `["index.html"]` | :not-found-handler | optional handler function to use if the requested resource is missing (404 Not Found)
(create-resource-handler)(create-resource-handler opts)A ring handler for serving classpath resources, configured via options:
| key | description | 
|---|---|
| :parameter | optional name of the wildcard parameter, defaults to unnamed keyword : | 
| :root | optional resource root, defaults to "public" | 
| :path | optional path to mount the handler to. Works only if mounted outside of a router. | 
| :loader | optional class loader to resolve the resources | 
| :index-files | optional vector of index-files to look in a resource directory, defaults to ["index.html"] | 
| :not-found-handler | optional handler function to use if the requested resource is missing (404 Not Found) | 
A ring handler for serving classpath resources, configured via options: | key | description | | -------------------|-------------| | :parameter | optional name of the wildcard parameter, defaults to unnamed keyword `:` | :root | optional resource root, defaults to `"public"` | :path | optional path to mount the handler to. Works only if mounted outside of a router. | :loader | optional class loader to resolve the resources | :index-files | optional vector of index-files to look in a resource directory, defaults to `["index.html"]` | :not-found-handler | optional handler function to use if the requested resource is missing (404 Not Found)
(redirect-trailing-slash-handler)(redirect-trailing-slash-handler {:keys [method]})A ring handler that redirects a missing path if there is an existing path that only differs in the ending slash.
| key | description | 
|---|---|
| :method | :add - redirects slash-less to slashed | 
| :strip - redirects slashed to slash-less | |
| :both - works both ways (default) | 
A ring handler that redirects a missing path if there is an existing path that only differs in the ending slash. | key | description | |---------|-------------| | :method | :add - redirects slash-less to slashed | | | :strip - redirects slashed to slash-less | | | :both - works both ways (default) |
(ring-handler router)(ring-handler router default-handler)(ring-handler router
              default-handler
              {:keys [middleware inject-match? inject-router?]
               :or {inject-match? true inject-router? true}})Creates a ring-handler out of a router, optional default ring-handler and options map, with the following keys:
| key | description | 
|---|---|
| :middleware | Optional sequence of middleware that wrap the ring-handler | 
| :inject-match? | Boolean to inject matchinto request under:reitit.core/matchkey (default true) | 
| :inject-router? | Boolean to inject routerinto request under:reitit.core/routerkey (default true) | 
Creates a ring-handler out of a router, optional default ring-handler and options map, with the following keys: | key | description | | ------------------|-------------| | `:middleware` | Optional sequence of middleware that wrap the ring-handler | `:inject-match?` | Boolean to inject `match` into request under `:reitit.core/match` key (default true) | `:inject-router?` | Boolean to inject `router` into request under `:reitit.core/router` key (default true)
(router data)(router data opts)Creates a reitit.core/Router from raw route data and optionally an options map with
support for http-methods and Middleware. See documentation on reitit.core/router for
available options. In addition, the following options are available:
| key | description | 
|---|---|
| :reitit.middleware/transform | Function or vector of functions of type [Middleware] => [Middleware]to transform the expanded Middleware (default: identity) | 
| :reitit.middleware/registry | Map of keyword => IntoMiddlewareto replace keyword references into Middleware | 
| :reitit.ring/default-options-endpoint | Default endpoint for :optionsmethod in endpoints (default: default-options-endpoint) | 
Example:
(router
  ["/api" {:middleware [wrap-format wrap-oauth2]}
    ["/users" {:get get-user
                 :post update-user
                 :delete {:middleware [wrap-delete]
                         :handler delete-user}}]])
Creates a [[reitit.core/Router]] from raw route data and optionally an options map with
support for http-methods and Middleware. See documentation on [[reitit.core/router]] for
available options. In addition, the following options are available:
| key                                     | description
| ----------------------------------------|-------------
| `:reitit.middleware/transform`          | Function or vector of functions of type `[Middleware] => [Middleware]` to transform the expanded Middleware (default: identity)
| `:reitit.middleware/registry`           | Map of `keyword => IntoMiddleware` to replace keyword references into Middleware
| `:reitit.ring/default-options-endpoint` | Default endpoint for `:options` method in endpoints (default: default-options-endpoint)
Example:
    (router
      ["/api" {:middleware [wrap-format wrap-oauth2]}
        ["/users" {:get get-user
                     :post update-user
                     :delete {:middleware [wrap-delete]
                             :handler delete-user}}]])(routes & handlers)Create a ring handler by combining several handlers into one.
Create a ring handler by combining several handlers into one.
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 |