(api-middleware handler)
(api-middleware handler options)
Opinionated chain of middlewares for web apis. Takes optional options-map.
An error handler is a function of exception, ex-data and request to response.
When defining these options, it is suggested to use alias for the exceptions namespace,
e.g. [compojure.api.exception :as ex]
.
Default:
{::ex/request-validation ex/request-validation-handler
::ex/request-parsing ex/request-parsing-handler
::ex/response-validation ex/response-validation-handler
::ex/default ex/safe-handler}
Note: Because the handlers are merged into default handlers map, to disable default handler you
need to provide nil
value as handler.
Note: To catch Schema errors use {:schema.core/error ex/schema-error-handler}
.
:exceptions for compojure.api.middleware/wrap-exceptions (nil to unmount it)
:type
key in ExceptionInfo data.:format for ring-middleware-format middlewares (nil to unmount it)
[:json-kw :edn]
{:transit-json {:handlers readers}}
{:transit-json {:handlers writers}}
:ring-swagger options for ring-swagger's swagger-json method.
e.g. {:ignore-missing-mappings? true}
:coercion A function from request->type->coercion-matcher, used
in endpoint coercion for :body, :string and :response.
Defaults to (constantly compojure.api.middleware/default-coercion-matchers)
Setting value to nil disables all coercion
:components Components which should be accessible to handlers using :components restructuring. (If you are using api, you might want to take look at using wrap-components middleware manually.). Defaults to nil (middleware not mounted).
Opinionated chain of middlewares for web apis. Takes optional options-map. ### Exception handlers An error handler is a function of exception, ex-data and request to response. When defining these options, it is suggested to use alias for the exceptions namespace, e.g. `[compojure.api.exception :as ex]`. Default: {::ex/request-validation ex/request-validation-handler ::ex/request-parsing ex/request-parsing-handler ::ex/response-validation ex/response-validation-handler ::ex/default ex/safe-handler} Note: Because the handlers are merged into default handlers map, to disable default handler you need to provide `nil` value as handler. Note: To catch Schema errors use `{:schema.core/error ex/schema-error-handler}`. ### Options - **:exceptions** for *compojure.api.middleware/wrap-exceptions* (nil to unmount it) - **:handlers** Map of error handlers for different exception types, type refers to `:type` key in ExceptionInfo data. - **:format** for ring-middleware-format middlewares (nil to unmount it) - **:formats** sequence of supported formats, e.g. `[:json-kw :edn]` - **:params-opts** for *ring.middleware.format-params/wrap-restful-params*, e.g. `{:transit-json {:handlers readers}}` - **:response-opts** for *ring.middleware.format-params/wrap-restful-response*, e.g. `{:transit-json {:handlers writers}}` - **:ring-swagger** options for ring-swagger's swagger-json method. e.g. `{:ignore-missing-mappings? true}` - **:coercion** A function from request->type->coercion-matcher, used in endpoint coercion for :body, :string and :response. Defaults to `(constantly compojure.api.middleware/default-coercion-matchers)` Setting value to nil disables all coercion - **:components** Components which should be accessible to handlers using :components restructuring. (If you are using api, you might want to take look at using wrap-components middleware manually.). Defaults to nil (middleware not mounted).
(get-options request)
Extracts compojure-api options from the request.
Extracts compojure-api options from the request.
(serializable? _ {:keys [body] :as response})
Predicate which returns true if the response body is serializable. That is, return type is set by :return compojure-api key or it's a collection.
Predicate which returns true if the response body is serializable. That is, return type is set by :return compojure-api key or it's a collection.
(wrap-components handler components)
Assoc given components to the request.
Assoc given components to the request.
(wrap-exceptions handler {:keys [handlers]})
Catches all exceptions and delegates to correct error handler according to :type of Exceptions
Catches all exceptions and delegates to correct error handler according to :type of Exceptions - **:handlers** - a map from exception type to handler - **:compojure.api.exception/default** - Handler used when exception type doesn't match other handler, by default prints stack trace.
(wrap-options handler options)
Injects compojure-api options into the request.
Injects compojure-api options into the request.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close