From a3994507d949c7cc6d3f70d2f31374d324971fa6 Mon Sep 17 00:00:00 2001 From: Automatic build Date: Tue, 26 May 2020 19:05:39 +0000 Subject: [PATCH] Build book from commit f2e0470ecd7dddf0255bc5741a5773e5b395cb47 [skip ci] --- advanced/composing_routers.html | 2 +- advanced/configuring_routers.html | 2 +- advanced/dev_workflow.html | 2 +- advanced/different_routers.html | 2 +- advanced/route_validation.html | 2 +- advanced/shared_routes.html | 2 +- basics/error_messages.html | 2 +- basics/name_based_routing.html | 2 +- basics/path_based_routing.html | 2 +- basics/route_conflicts.html | 2 +- basics/route_data.html | 2 +- basics/route_data_validation.html | 2 +- basics/route_syntax.html | 2 +- basics/router.html | 2 +- coercion/clojure_spec_coercion.html | 2 +- coercion/coercion.html | 2 +- coercion/data_spec_coercion.html | 2 +- coercion/malli_coercion.md | 26 ++++++++++++++++++++++++ coercion/schema_coercion.html | 2 +- development.html | 2 +- faq.html | 2 +- frontend/basics.html | 2 +- frontend/browser.html | 2 +- frontend/controllers.html | 2 +- http/default_interceptors.html | 2 +- http/interceptors.html | 2 +- http/pedestal.html | 2 +- http/sieppari.html | 2 +- http/transforming_interceptor_chain.html | 2 +- index.html | 2 +- performance.html | 2 +- ring/RESTful_form_methods.html | 2 +- ring/coercion.html | 2 +- ring/compiling_middleware.html | 2 +- ring/content_negotiation.html | 2 +- ring/data_driven_middleware.html | 2 +- ring/default_handler.html | 2 +- ring/default_middleware.html | 2 +- ring/dynamic_extensions.html | 2 +- ring/exceptions.html | 2 +- ring/middleware_registry.html | 2 +- ring/reverse_routing.html | 2 +- ring/ring.html | 2 +- ring/route_data_validation.html | 2 +- ring/slash_handler.html | 2 +- ring/static.html | 2 +- ring/swagger.html | 2 +- ring/transforming_middleware_chain.html | 2 +- 48 files changed, 73 insertions(+), 47 deletions(-) diff --git a/advanced/composing_routers.html b/advanced/composing_routers.html index f2b3da13..891e7602 100644 --- a/advanced/composing_routers.html +++ b/advanced/composing_routers.html @@ -1189,7 +1189,7 @@ diff --git a/advanced/configuring_routers.html b/advanced/configuring_routers.html index 51e85548..9bee9112 100644 --- a/advanced/configuring_routers.html +++ b/advanced/configuring_routers.html @@ -903,7 +903,7 @@ diff --git a/advanced/dev_workflow.html b/advanced/dev_workflow.html index 0d9aa47a..08aa8799 100644 --- a/advanced/dev_workflow.html +++ b/advanced/dev_workflow.html @@ -954,7 +954,7 @@ diff --git a/advanced/different_routers.html b/advanced/different_routers.html index 661f3de4..f3e2728e 100644 --- a/advanced/different_routers.html +++ b/advanced/different_routers.html @@ -902,7 +902,7 @@ diff --git a/advanced/route_validation.html b/advanced/route_validation.html index a9615875..df20fb3d 100644 --- a/advanced/route_validation.html +++ b/advanced/route_validation.html @@ -990,7 +990,7 @@ diff --git a/advanced/shared_routes.html b/advanced/shared_routes.html index 9f661df7..124d7321 100644 --- a/advanced/shared_routes.html +++ b/advanced/shared_routes.html @@ -911,7 +911,7 @@ diff --git a/basics/error_messages.html b/basics/error_messages.html index b1cb380f..32472444 100644 --- a/basics/error_messages.html +++ b/basics/error_messages.html @@ -878,7 +878,7 @@ diff --git a/basics/name_based_routing.html b/basics/name_based_routing.html index 5e262abf..0ee1a953 100644 --- a/basics/name_based_routing.html +++ b/basics/name_based_routing.html @@ -913,7 +913,7 @@ diff --git a/basics/path_based_routing.html b/basics/path_based_routing.html index 01b972f6..ec8a9dff 100644 --- a/basics/path_based_routing.html +++ b/basics/path_based_routing.html @@ -871,7 +871,7 @@ diff --git a/basics/route_conflicts.html b/basics/route_conflicts.html index d8237d18..a7673d71 100644 --- a/basics/route_conflicts.html +++ b/basics/route_conflicts.html @@ -927,7 +927,7 @@ diff --git a/basics/route_data.html b/basics/route_data.html index 2d90077d..03f157ea 100644 --- a/basics/route_data.html +++ b/basics/route_data.html @@ -965,7 +965,7 @@ diff --git a/basics/route_data_validation.html b/basics/route_data_validation.html index 86131a52..83238638 100644 --- a/basics/route_data_validation.html +++ b/basics/route_data_validation.html @@ -942,7 +942,7 @@ diff --git a/basics/route_syntax.html b/basics/route_syntax.html index 5e473e63..a05332fc 100644 --- a/basics/route_syntax.html +++ b/basics/route_syntax.html @@ -949,7 +949,7 @@ diff --git a/basics/router.html b/basics/router.html index e687503d..30741ef3 100644 --- a/basics/router.html +++ b/basics/router.html @@ -925,7 +925,7 @@ diff --git a/coercion/clojure_spec_coercion.html b/coercion/clojure_spec_coercion.html index d2e360b6..9dc6a7de 100644 --- a/coercion/clojure_spec_coercion.html +++ b/coercion/clojure_spec_coercion.html @@ -990,7 +990,7 @@ The s/keys accepts :opt-un to support optional keys. var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Clojure.spec","level":"3.3","depth":1,"next":{"title":"Data-specs","level":"3.4","depth":1,"path":"coercion/data_spec_coercion.md","ref":"coercion/data_spec_coercion.md","articles":[]},"previous":{"title":"Plumatic Schema","level":"3.2","depth":1,"path":"coercion/schema_coercion.md","ref":"coercion/schema_coercion.md","articles":[]},"dir":"ltr"},"config":{"plugins":["hints","editlink","github","highlight"],"root":"doc","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"github":{"url":"https://github.com/metosin/reitit"},"editlink":{"label":"Edit This Page","multilingual":false,"base":"https://github.com/metosin/reitit/tree/master/doc"},"search":{},"hints":{"danger":"fa fa-exclamation-circle","info":"fa fa-info-circle","tip":"fa fa-mortar-board","working":"fa fa-wrench"},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"gitbook":"*"},"file":{"path":"coercion/clojure_spec_coercion.md","mtime":"2020-05-26T18:35:53.748Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-05-26T18:37:09.306Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Clojure.spec","level":"3.3","depth":1,"next":{"title":"Data-specs","level":"3.4","depth":1,"path":"coercion/data_spec_coercion.md","ref":"coercion/data_spec_coercion.md","articles":[]},"previous":{"title":"Plumatic Schema","level":"3.2","depth":1,"path":"coercion/schema_coercion.md","ref":"coercion/schema_coercion.md","articles":[]},"dir":"ltr"},"config":{"plugins":["hints","editlink","github","highlight"],"root":"doc","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"github":{"url":"https://github.com/metosin/reitit"},"editlink":{"label":"Edit This Page","multilingual":false,"base":"https://github.com/metosin/reitit/tree/master/doc"},"search":{},"hints":{"danger":"fa fa-exclamation-circle","info":"fa fa-info-circle","tip":"fa fa-mortar-board","working":"fa fa-wrench"},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"gitbook":"*"},"file":{"path":"coercion/clojure_spec_coercion.md","mtime":"2020-05-26T19:04:06.056Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-05-26T19:05:34.623Z"},"basePath":"..","book":{"language":""}}); }); diff --git a/coercion/coercion.html b/coercion/coercion.html index 358e2985..3a1bb61c 100644 --- a/coercion/coercion.html +++ b/coercion/coercion.html @@ -979,7 +979,7 @@ diff --git a/coercion/data_spec_coercion.html b/coercion/data_spec_coercion.html index b49e50f5..837fa3de 100644 --- a/coercion/data_spec_coercion.html +++ b/coercion/data_spec_coercion.html @@ -877,7 +877,7 @@ diff --git a/coercion/malli_coercion.md b/coercion/malli_coercion.md index b9627215..7c041d98 100644 --- a/coercion/malli_coercion.md +++ b/coercion/malli_coercion.md @@ -43,3 +43,29 @@ Failing coercion: (match-by-path-and-coerce! "/metosin/users/ikitommi") ; => ExceptionInfo Request coercion failed... ``` + +## Configuring coercion + +Using `create` with options to create the coercion instead of `coercion`: + +```clj +(reitit.coercion.malli/create + {:transformers {:body {:default default-transformer-provider + :formats {"application/json" json-transformer-provider}} + :string {:default string-transformer-provider} + :response {:default default-transformer-provider}} + ;; set of keys to include in error messages + :error-keys #{:type :coercion :in :schema :value :errors :humanized #_:transformed} + ;; schema identity function (default: close all map schemas) + :compile mu/closed-schema + ;; validate request & response + :validate true + ;; top-level short-circuit to disable request & response coercion + :enabled true + ;; strip-extra-keys (effects only predefined transformers) + :strip-extra-keys true + ;; add/set default values + :default-values true + ;; malli options + :options nil}) +``` diff --git a/coercion/schema_coercion.html b/coercion/schema_coercion.html index 3732c6c0..16d327f3 100644 --- a/coercion/schema_coercion.html +++ b/coercion/schema_coercion.html @@ -878,7 +878,7 @@ diff --git a/development.html b/development.html index cbc31ac5..013b5819 100644 --- a/development.html +++ b/development.html @@ -869,7 +869,7 @@ lein test diff --git a/faq.html b/faq.html index dc9810f6..cdd73739 100644 --- a/faq.html +++ b/faq.html @@ -949,7 +949,7 @@ diff --git a/frontend/basics.html b/frontend/basics.html index b576d6a2..6d1e937f 100644 --- a/frontend/basics.html +++ b/frontend/basics.html @@ -866,7 +866,7 @@ React breaking due to errors.

diff --git a/frontend/browser.html b/frontend/browser.html index 0bb4a27d..0cf6f842 100644 --- a/frontend/browser.html +++ b/frontend/browser.html @@ -889,7 +889,7 @@ go back or forwards, but calling History API functions directly should work:

diff --git a/frontend/controllers.html b/frontend/controllers.html index 1a59be7f..9ed6b1f0 100644 --- a/frontend/controllers.html +++ b/frontend/controllers.html @@ -946,7 +946,7 @@ missing resources.

diff --git a/http/default_interceptors.html b/http/default_interceptors.html index cf6fd636..0b929619 100644 --- a/http/default_interceptors.html +++ b/http/default_interceptors.html @@ -868,7 +868,7 @@ diff --git a/http/interceptors.html b/http/interceptors.html index 921b14ed..35d546da 100644 --- a/http/interceptors.html +++ b/http/interceptors.html @@ -896,7 +896,7 @@ diff --git a/http/pedestal.html b/http/pedestal.html index f00e31bc..4bdc480d 100644 --- a/http/pedestal.html +++ b/http/pedestal.html @@ -907,7 +907,7 @@ diff --git a/http/sieppari.html b/http/sieppari.html index 61675469..f948e751 100644 --- a/http/sieppari.html +++ b/http/sieppari.html @@ -908,7 +908,7 @@ diff --git a/http/transforming_interceptor_chain.html b/http/transforming_interceptor_chain.html index 3ca49f64..bd5fe7a0 100644 --- a/http/transforming_interceptor_chain.html +++ b/http/transforming_interceptor_chain.html @@ -907,7 +907,7 @@ diff --git a/index.html b/index.html index f1ed3055..856d8502 100644 --- a/index.html +++ b/index.html @@ -972,7 +972,7 @@ diff --git a/performance.html b/performance.html index 2757b407..bee0fc47 100644 --- a/performance.html +++ b/performance.html @@ -955,7 +955,7 @@ diff --git a/ring/RESTful_form_methods.html b/ring/RESTful_form_methods.html index 0eb6eb52..6471dce1 100644 --- a/ring/RESTful_form_methods.html +++ b/ring/RESTful_form_methods.html @@ -873,7 +873,7 @@ This is so that our middleware is applied before reitit matches the request with diff --git a/ring/coercion.html b/ring/coercion.html index ee0ca529..78186b54 100644 --- a/ring/coercion.html +++ b/ring/coercion.html @@ -1074,7 +1074,7 @@ diff --git a/ring/compiling_middleware.html b/ring/compiling_middleware.html index 25d15426..f090a2ff 100644 --- a/ring/compiling_middleware.html +++ b/ring/compiling_middleware.html @@ -936,7 +936,7 @@ diff --git a/ring/content_negotiation.html b/ring/content_negotiation.html index 3e4c35a9..aa473d59 100644 --- a/ring/content_negotiation.html +++ b/ring/content_negotiation.html @@ -959,7 +959,7 @@ Server: Jetty(9.2.21.v20170120) diff --git a/ring/data_driven_middleware.html b/ring/data_driven_middleware.html index 40fdac6a..91f18b04 100644 --- a/ring/data_driven_middleware.html +++ b/ring/data_driven_middleware.html @@ -934,7 +934,7 @@ diff --git a/ring/default_handler.html b/ring/default_handler.html index a9c14d6d..45195982 100644 --- a/ring/default_handler.html +++ b/ring/default_handler.html @@ -912,7 +912,7 @@ diff --git a/ring/default_middleware.html b/ring/default_middleware.html index ea797f5a..35358c0b 100644 --- a/ring/default_middleware.html +++ b/ring/default_middleware.html @@ -891,7 +891,7 @@ diff --git a/ring/dynamic_extensions.html b/ring/dynamic_extensions.html index 752235a4..af8ceb84 100644 --- a/ring/dynamic_extensions.html +++ b/ring/dynamic_extensions.html @@ -881,7 +881,7 @@ diff --git a/ring/exceptions.html b/ring/exceptions.html index 35093c0e..a2235fd5 100644 --- a/ring/exceptions.html +++ b/ring/exceptions.html @@ -960,7 +960,7 @@ diff --git a/ring/middleware_registry.html b/ring/middleware_registry.html index 67e1c52e..b08b3b6b 100644 --- a/ring/middleware_registry.html +++ b/ring/middleware_registry.html @@ -892,7 +892,7 @@ diff --git a/ring/reverse_routing.html b/ring/reverse_routing.html index 0336db9c..f29c3177 100644 --- a/ring/reverse_routing.html +++ b/ring/reverse_routing.html @@ -877,7 +877,7 @@ diff --git a/ring/ring.html b/ring/ring.html index 61bd6b36..7afa9afb 100644 --- a/ring/ring.html +++ b/ring/ring.html @@ -1021,7 +1021,7 @@ diff --git a/ring/route_data_validation.html b/ring/route_data_validation.html index 12e51989..6aeb27b5 100644 --- a/ring/route_data_validation.html +++ b/ring/route_data_validation.html @@ -1089,7 +1089,7 @@ diff --git a/ring/slash_handler.html b/ring/slash_handler.html index 501a2739..113bab8c 100644 --- a/ring/slash_handler.html +++ b/ring/slash_handler.html @@ -915,7 +915,7 @@ diff --git a/ring/static.html b/ring/static.html index 3b1fc3e6..1a47a68a 100644 --- a/ring/static.html +++ b/ring/static.html @@ -917,7 +917,7 @@ diff --git a/ring/swagger.html b/ring/swagger.html index c58b56d2..0f7c92a8 100644 --- a/ring/swagger.html +++ b/ring/swagger.html @@ -1141,7 +1141,7 @@ see the next example diff --git a/ring/transforming_middleware_chain.html b/ring/transforming_middleware_chain.html index e54d64ab..75b9610b 100644 --- a/ring/transforming_middleware_chain.html +++ b/ring/transforming_middleware_chain.html @@ -898,7 +898,7 @@