From 94695c801865a24a22f552ccc8b5884687db7d69 Mon Sep 17 00:00:00 2001 From: Automatic build Date: Sat, 11 May 2019 19:32:42 +0000 Subject: [PATCH] Build book from commit 419dd24316a67adbb1537cc2e33c543e985a2b1e [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/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 | 106 +++++++++-------------- 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/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 +- images/closed-spec1.png | Bin 0 -> 84606 bytes images/closed-spec2.png | Bin 0 -> 84067 bytes images/invalid_roles.png | Bin 0 -> 84036 bytes images/pretty-error.png | Bin 0 -> 75090 bytes index.html | 2 +- performance.html | 2 +- ring/RESTful_form_methods.html | 2 +- ring/coercion.html | 2 +- ring/compiling_middleware.html | 2 +- ring/data_driven_middleware.html | 2 +- ring/default_handler.html | 2 +- ring/default_middleware.html | 2 +- ring/dynamic_extensions.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 +- search_index.json | 2 +- 49 files changed, 86 insertions(+), 108 deletions(-) create mode 100644 images/closed-spec1.png create mode 100644 images/closed-spec2.png create mode 100644 images/invalid_roles.png create mode 100644 images/pretty-error.png diff --git a/advanced/composing_routers.html b/advanced/composing_routers.html index f28e8d19..40d9cd8a 100644 --- a/advanced/composing_routers.html +++ b/advanced/composing_routers.html @@ -1150,7 +1150,7 @@ diff --git a/advanced/configuring_routers.html b/advanced/configuring_routers.html index b11ea00c..63e675d3 100644 --- a/advanced/configuring_routers.html +++ b/advanced/configuring_routers.html @@ -860,7 +860,7 @@ diff --git a/advanced/dev_workflow.html b/advanced/dev_workflow.html index 4365137f..d3677367 100644 --- a/advanced/dev_workflow.html +++ b/advanced/dev_workflow.html @@ -915,7 +915,7 @@ diff --git a/advanced/different_routers.html b/advanced/different_routers.html index deb9c0a0..cec914ac 100644 --- a/advanced/different_routers.html +++ b/advanced/different_routers.html @@ -863,7 +863,7 @@ diff --git a/advanced/route_validation.html b/advanced/route_validation.html index c9e6c367..95f61e14 100644 --- a/advanced/route_validation.html +++ b/advanced/route_validation.html @@ -951,7 +951,7 @@ diff --git a/advanced/shared_routes.html b/advanced/shared_routes.html index 780c3224..a5ccbf3a 100644 --- a/advanced/shared_routes.html +++ b/advanced/shared_routes.html @@ -872,7 +872,7 @@ diff --git a/basics/name_based_routing.html b/basics/name_based_routing.html index 93976c25..7a0097a0 100644 --- a/basics/name_based_routing.html +++ b/basics/name_based_routing.html @@ -874,7 +874,7 @@ diff --git a/basics/path_based_routing.html b/basics/path_based_routing.html index 74ea7b4d..09f8d438 100644 --- a/basics/path_based_routing.html +++ b/basics/path_based_routing.html @@ -832,7 +832,7 @@ diff --git a/basics/route_conflicts.html b/basics/route_conflicts.html index 3c7391c5..403c0ad5 100644 --- a/basics/route_conflicts.html +++ b/basics/route_conflicts.html @@ -875,7 +875,7 @@ diff --git a/basics/route_data.html b/basics/route_data.html index f3723f81..43b9ed9d 100644 --- a/basics/route_data.html +++ b/basics/route_data.html @@ -926,7 +926,7 @@ diff --git a/basics/route_data_validation.html b/basics/route_data_validation.html index 7cf8d5ba..f8f26e53 100644 --- a/basics/route_data_validation.html +++ b/basics/route_data_validation.html @@ -774,7 +774,7 @@ ["/api" {:handler "identity"}]) ; #object[reitit.core$...] -

Fails fast with clojure.spec validation turned on:

+

Failing fast with clojure.spec validation turned on:

(require '[reitit.spec :as rs])
 
 (r/router
@@ -790,6 +790,16 @@
 ;
 ; {:problems (#reitit.spec.Problem{:path "/api", :scope nil, :data {:handler "identity"}, :spec :reitit.spec/default-data, :problems #:clojure.spec.alpha{:problems ({:path [:handler], :pred clojure.core/fn?, :val "identity", :via [:reitit.spec/default-data :reitit.spec/handler], :in [:handler]}), :spec :reitit.spec/default-data, :value {:handler "identity"}}})}, compiling: ...
 
+

Pretty errors

+

Turning on Pretty Errors will give much nicer error messages:

+
(require '[reitit.dev.pretty :as pretty])
+
+(r/router
+  ["/api" {:handler "identity"}]
+  {:validate rs/validate
+   :exception pretty/exception})
+
+

Pretty error

Customizing spec validation

rs/validate reads the following router options:

@@ -805,15 +815,14 @@ - - + +
the spec to verify the route data (default ::rs/default-data)
::rs/explaincustom explain function (default clojure.spec.alpha/explain-str):reitit.spec/wrapfunction of spec => spec to wrap all route specs

NOTE: clojure.spec implicitly validates all values with fully-qualified keys if specs exist with the same name.

-

Below is an example of using expound to pretty-print route data problems.

+

Invalid spec value:

(require '[clojure.spec.alpha :as s])
-(require '[expound.alpha :as e])
 
 (s/def ::role #{:admin :manager})
 (s/def ::roles (s/coll-of ::role :into #{}))
@@ -821,67 +830,36 @@
 (r/router
   ["/api" {:handler identity
            ::roles #{:adminz}}]
-  {::rs/explain e/expound-str
-   :validate rs/validate})
-; CompilerException clojure.lang.ExceptionInfo: Invalid route data:
-;
-; -- On route -----------------------
-;
-; "/api"
-;
-; -- Spec failed --------------------
-;
-; {:handler ..., :user/roles #{:adminz}}
-;                              ^^^^^^^
-;
-; should be one of: `:admin`,`:manager`
-;
-; -- Relevant specs -------
-;
-; :user/role:
-; #{:admin :manager}
-; :user/roles:
-; (clojure.spec.alpha/coll-of :user/role :into #{})
-; :reitit.spec/default-data:
-; (clojure.spec.alpha/keys
-;   :opt-un
-;   [:reitit.spec/name :reitit.spec/handler])
-;
-; -------------------------
-; Detected 1 error
-;
-; {:problems (#reitit.spec.Problem{:path "/api", :scope nil, :data {:handler #object[clojure.core$identity 0x15b59b0e "clojure.core$identity@15b59b0e"], :user/roles #{:adminz}}, :spec :reitit.spec/default-data, :problems #:clojure.spec.alpha{:problems ({:path [:user/roles], :pred #{:admin :manager}, :val :adminz, :via [:reitit.spec/default-data :user/roles :user/role], :in [:user/roles 0]}), :spec :reitit.spec/default-data, :value {:handler #object[clojure.core$identity 0x15b59b0e "clojure.core$identity@15b59b0e"], :user/roles #{:adminz}}}})}, compiling: ...
+  {:validate rs/validate
+  :exception pretty/exception})
 
-

Explicitly requiring a ::roles key in a route data:

+

Pretty error

+

Closed Specs

+

To fail-fast on non-defined and misspelled keys on route data, we can close the specs using :reitit.spec/wrap options with value of spec-tools.spell/closed that closed the top-level specs.

+

Requiring a:description and validating using closed specs:

+
(require '[spec-tools.spell :as spell])
+
+(s/def ::description string?)
+
+(r/router
+  ["/api" {:summary "kikka"}]
+  {:validate rs/validate
+   :spec (s/merge ::rs/default-data
+                  (s/keys :req-un [::description]))
+   ::rs/wrap spell/closed
+   :exception pretty/exception})
+
+

Pretty error

+

It catches also typing errors:

(r/router
-  ["/api" {:handler identity}]
-  {:spec (s/merge (s/keys :req [::roles]) ::rs/default-data)
-   ::rs/explain e/expound-str
-   :validate rs/validate})
-; CompilerException clojure.lang.ExceptionInfo: Invalid route data:
-;
-; -- On route -----------------------
-;
-; "/api"
-;
-; -- Spec failed --------------------
-;
-; {:handler
-;  #object[clojure.core$identity 0x15b59b0e "clojure.core$identity@15b59b0e"]}
-;
-; should contain key: `:user/roles`
-;
-; |         key |                                   spec |
-; |-------------+----------------------------------------|
-; | :user/roles | (coll-of #{:admin :manager} :into #{}) |
-;
-;
-;
-; -------------------------
-; Detected 1 error
-;
-; {:problems (#reitit.spec.Problem{:path "/api", :scope nil, :data {:handler #object[clojure.core$identity 0x15b59b0e "clojure.core$identity@15b59b0e"]}, :spec #object[clojure.spec.alpha$merge_spec_impl$reify__2124 0x7461744b "clojure.spec.alpha$merge_spec_impl$reify__2124@7461744b"], :problems #:clojure.spec.alpha{:problems ({:path [], :pred (clojure.core/fn [%] (clojure.core/contains? % :user/roles)), :val {:handler #object[clojure.core$identity 0x15b59b0e "clojure.core$identity@15b59b0e"]}, :via [], :in []}), :spec #object[clojure.spec.alpha$merge_spec_impl$reify__2124 0x7461744b "clojure.spec.alpha$merge_spec_impl$reify__2124@7461744b"], :value {:handler #object[clojure.core$identity 0x15b59b0e "clojure.core$identity@15b59b0e"]}}})}, compiling:(/Users/tommi/projects/metosin/reitit/test/cljc/reitit/spec_test.cljc:151:1)
+  ["/api" {:descriptionz "kikka"}]
+  {:validate rs/validate
+   :spec (s/merge ::rs/default-data
+                  (s/keys :req-un [::description]))
+   ::rs/wrap spell/closed
+   :exception pretty/exception})
 
+

Pretty error

@@ -925,7 +903,7 @@ diff --git a/basics/route_syntax.html b/basics/route_syntax.html index 1845c03a..d73bef00 100644 --- a/basics/route_syntax.html +++ b/basics/route_syntax.html @@ -885,7 +885,7 @@ diff --git a/basics/router.html b/basics/router.html index ae690bbc..dfcd6498 100644 --- a/basics/router.html +++ b/basics/router.html @@ -886,7 +886,7 @@ diff --git a/coercion/clojure_spec_coercion.html b/coercion/clojure_spec_coercion.html index b0312f40..ea67594f 100644 --- a/coercion/clojure_spec_coercion.html +++ b/coercion/clojure_spec_coercion.html @@ -897,7 +897,7 @@ diff --git a/coercion/coercion.html b/coercion/coercion.html index 4de02c91..af2d2ef6 100644 --- a/coercion/coercion.html +++ b/coercion/coercion.html @@ -939,7 +939,7 @@ diff --git a/coercion/data_spec_coercion.html b/coercion/data_spec_coercion.html index 160e8760..3ce4f203 100644 --- a/coercion/data_spec_coercion.html +++ b/coercion/data_spec_coercion.html @@ -838,7 +838,7 @@ diff --git a/coercion/schema_coercion.html b/coercion/schema_coercion.html index ca6d4e16..743f0ff7 100644 --- a/coercion/schema_coercion.html +++ b/coercion/schema_coercion.html @@ -839,7 +839,7 @@ diff --git a/development.html b/development.html index 39dc9bfe..cc28a859 100644 --- a/development.html +++ b/development.html @@ -830,7 +830,7 @@ lein test diff --git a/faq.html b/faq.html index 3c758807..e52b0bd4 100644 --- a/faq.html +++ b/faq.html @@ -907,7 +907,7 @@ diff --git a/frontend/basics.html b/frontend/basics.html index 2219910e..990a6202 100644 --- a/frontend/basics.html +++ b/frontend/basics.html @@ -827,7 +827,7 @@ React breaking due to errors.

diff --git a/frontend/browser.html b/frontend/browser.html index 9b5987ea..ffd200c9 100644 --- a/frontend/browser.html +++ b/frontend/browser.html @@ -829,7 +829,7 @@ go back or forwards, but calling History API functions directly should work:

diff --git a/frontend/controllers.html b/frontend/controllers.html index 5b0f779a..95195ed1 100644 --- a/frontend/controllers.html +++ b/frontend/controllers.html @@ -907,7 +907,7 @@ missing resources.

diff --git a/http/default_interceptors.html b/http/default_interceptors.html index be4ade0c..d3d00e1a 100644 --- a/http/default_interceptors.html +++ b/http/default_interceptors.html @@ -829,7 +829,7 @@ diff --git a/http/interceptors.html b/http/interceptors.html index 39b02824..f227e6be 100644 --- a/http/interceptors.html +++ b/http/interceptors.html @@ -857,7 +857,7 @@ diff --git a/http/pedestal.html b/http/pedestal.html index 7b31378a..77a06a0e 100644 --- a/http/pedestal.html +++ b/http/pedestal.html @@ -868,7 +868,7 @@ diff --git a/http/sieppari.html b/http/sieppari.html index 60f4218a..d000d700 100644 --- a/http/sieppari.html +++ b/http/sieppari.html @@ -869,7 +869,7 @@ diff --git a/http/transforming_interceptor_chain.html b/http/transforming_interceptor_chain.html index e0bc96da..1bab4b2b 100644 --- a/http/transforming_interceptor_chain.html +++ b/http/transforming_interceptor_chain.html @@ -868,7 +868,7 @@ diff --git a/images/closed-spec1.png b/images/closed-spec1.png new file mode 100644 index 0000000000000000000000000000000000000000..456d5fee2a8ac2caeaa45775b039cab313704b3f GIT binary patch literal 84606 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 &|J*k7Qz~sK_a&?RhO*4jL*&T6C#rq zk^ZJ=H`jh=@(DglsGQ##mo&=nN#Ua@#l*z+>Bnu@^}|(=v`uMfJ}6k2^Sek=A+6jL zIjfqiv~XF`szZ{Ls30kXQ#;p+;`3V9QrskdBFI%DNa(1b&FMA^41#(5Wl?UOS==ni zLe(<=m_$RO&`vgORhmJ$t;eLy$$YeGJ(kY%lJq1vo!oI`aIb$Cy3ikC;hW%uamx4e`}r~QoIE*C8Wb=Yefb^8#6`x)UD30Tv2S>m&h&%Hg5`0n{{FL z0E=P*CsHr6KH8{MOrKyE3Vn&e%6^GRDqO8x?Ia0h$xTj{-xR}-?%6cJ9&Ui|`dPi5Qbj=3j{@vf7|hDnIRp4EieT0k&eC=liml2D)5&j~!X zf$WD($I5SZar`k@Zqu{y$_{Y)y3R@a! ziZ={64a)7U+f@Q!0U;3~9xg0Hw_g$XjX)5m{Ac5wcx#q5+?P-dbS2u~_HWS*?3ent z7pry5q$`J!c;cec?Z6&a+2v7B>-ey~ZhCw}w#Y(tI(T;_n@(>0=$a0YRoX-7h%Y9S zV!S4325L{DL7nNhl%_&vEL;6j-s|M%T;U2qIgaEo>I9w*PfGj(cYR-a-){mcVfKEB zgk3J(HoUT?%qzjvbCTu+g4{>zoewekU*9wRjXRr=c9`Za{&lJNm-8uwm6G$nWW|pD z9S;5N0(5r1w13g;{vA3u>PcH*D%Kpbf1?%t-bpEWMB#rce*f;xmHdS?I?C|iHMYM_ zyMJ|3mcsw1`TxF-lFB7IJN~`pLf?OUKGMUV`^S_2efa+eJ%7hClI`FB3*g@Y^WP}= zry2a;De(W`6!@R8x4|os*sz4#*GDc>AGk?~I87&4Y9L3_)ovh_&n6W5>Yvuu8fjAD z0sfY>(-);gz-f@CjtEKgxt$g?5pD`k zS^A5krXn5nYHwqKFS;!w^8!0iq&nN3!3I@_U8b|Lvfmp

9o+i{-Gx{9K)yCc6n> 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 Q72rqVsj6&&v`Nta0Z3OE3jhEB literal 0 HcmV?d00001 diff --git a/images/closed-spec2.png b/images/closed-spec2.png new file mode 100644 index 0000000000000000000000000000000000000000..748fcaa9a28961d8db0bd98dc45d13e7492a6dcc GIT binary patch literal 84067 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 literal 0 HcmV?d00001 diff --git a/images/invalid_roles.png b/images/invalid_roles.png new file mode 100644 index 0000000000000000000000000000000000000000..825683025386d4cbcc8cee5b8b06d49155353e71 GIT binary patch literal 84036 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 z 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 T8`!(2fIl@QEydDDPv86(ZP6z> literal 0 HcmV?d00001 diff --git a/images/pretty-error.png b/images/pretty-error.png new file mode 100644 index 0000000000000000000000000000000000000000..963a5cf526492770f1d8615c1df4d62aca29c205 GIT binary patch literal 75090 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 MEFCQ9<{qd21VMEw$N&HU literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 0d94b233..92c7668b 100644 --- a/index.html +++ b/index.html @@ -932,7 +932,7 @@ diff --git a/performance.html b/performance.html index b40c79e4..b8241b3b 100644 --- a/performance.html +++ b/performance.html @@ -913,7 +913,7 @@ diff --git a/ring/RESTful_form_methods.html b/ring/RESTful_form_methods.html index d5548fff..e9c0da80 100644 --- a/ring/RESTful_form_methods.html +++ b/ring/RESTful_form_methods.html @@ -834,7 +834,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 fb3da622..59a1b103 100644 --- a/ring/coercion.html +++ b/ring/coercion.html @@ -1034,7 +1034,7 @@ diff --git a/ring/compiling_middleware.html b/ring/compiling_middleware.html index 6a78de5b..97ebcbc2 100644 --- a/ring/compiling_middleware.html +++ b/ring/compiling_middleware.html @@ -867,7 +867,7 @@ diff --git a/ring/data_driven_middleware.html b/ring/data_driven_middleware.html index f3a9b671..345cbb62 100644 --- a/ring/data_driven_middleware.html +++ b/ring/data_driven_middleware.html @@ -895,7 +895,7 @@ diff --git a/ring/default_handler.html b/ring/default_handler.html index ca222b57..52713b16 100644 --- a/ring/default_handler.html +++ b/ring/default_handler.html @@ -873,7 +873,7 @@ diff --git a/ring/default_middleware.html b/ring/default_middleware.html index 094c7a82..5ba32208 100644 --- a/ring/default_middleware.html +++ b/ring/default_middleware.html @@ -1046,7 +1046,7 @@ Server: Jetty(9.2.21.v20170120) diff --git a/ring/dynamic_extensions.html b/ring/dynamic_extensions.html index 32f33691..c43b77e3 100644 --- a/ring/dynamic_extensions.html +++ b/ring/dynamic_extensions.html @@ -842,7 +842,7 @@ diff --git a/ring/middleware_registry.html b/ring/middleware_registry.html index bd4e65a3..502b7ac5 100644 --- a/ring/middleware_registry.html +++ b/ring/middleware_registry.html @@ -853,7 +853,7 @@ diff --git a/ring/reverse_routing.html b/ring/reverse_routing.html index f5dce886..8ea0d93a 100644 --- a/ring/reverse_routing.html +++ b/ring/reverse_routing.html @@ -838,7 +838,7 @@ diff --git a/ring/ring.html b/ring/ring.html index ce7a6b67..e4ec2e9d 100644 --- a/ring/ring.html +++ b/ring/ring.html @@ -982,7 +982,7 @@ diff --git a/ring/route_data_validation.html b/ring/route_data_validation.html index 509d217a..a5f684e2 100644 --- a/ring/route_data_validation.html +++ b/ring/route_data_validation.html @@ -1050,7 +1050,7 @@ diff --git a/ring/slash_handler.html b/ring/slash_handler.html index 5d5040ac..8363d85e 100644 --- a/ring/slash_handler.html +++ b/ring/slash_handler.html @@ -876,7 +876,7 @@ diff --git a/ring/static.html b/ring/static.html index 96c49f46..cae6e10a 100644 --- a/ring/static.html +++ b/ring/static.html @@ -878,7 +878,7 @@ diff --git a/ring/swagger.html b/ring/swagger.html index 054fe38b..585aff5f 100644 --- a/ring/swagger.html +++ b/ring/swagger.html @@ -1098,7 +1098,7 @@ see the next example diff --git a/ring/transforming_middleware_chain.html b/ring/transforming_middleware_chain.html index cf0debc5..163df818 100644 --- a/ring/transforming_middleware_chain.html +++ b/ring/transforming_middleware_chain.html @@ -859,7 +859,7 @@ diff --git a/search_index.json b/search_index.json index da35ffa2..f76272b8 100644 --- a/search_index.json +++ b/search_index.json @@ -1 +1 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["\"/api/admin/users\"})","\"/api/ipa\")","\"/api/orders/1\")","\"/api/orders/1\"}","\"/api/orders/2\"}","\"/api/orders/:id\"","\"/api/orders/:id\",","\"/api/ping\"","\"/api/ping\")","\"/api/ping\"}","\"0.3.1\"]","\"1\"}","\"ok\",","\"ok\"})","#match{:templ","#methods{...}","#object[user$handler]}","#partialmatch{:templ","#reitit","#{:id}}","&","'())","'[reitit.cor","'[reitit.r","(","(:api","(app","(clojure.spec),","(def","(defn","(fn","(fnil","(handler","(r/match","(r/partial","(r/router","(requir","(ring/get","(ring/r","(ring/rout","(schema","(updat","200,","2})","2},","::ipa)","::order","::ping)","::ping))","::ping]","::ping}","::ping}]",":a",":admin]]}",":admin}",":api]]",":api]]}",":bodi",":data",":get",":get,",":handler",":middlewar",":name",":path",":post",":put,",":request",":requir",":result",":uri",":user/ord",":wrap",";",">","[\"/admin\"","[\"/api\"","[\"/api/orders/:id\"","[\"/ping\"","[\"/users\"","[[\"/api/ping\"","[[#object[user$wrap]","[[wrap","[_]","[handler","[metosin/reitit","[request]","add","apidoc","app","base","bi","bundl","bundled:","class","clojure(script).","clojure.spec","clojure.spec)","clojurian","coercion","common","compilation,","conflict","conj","core","data","dev","develop","direct","discuss","driven","dynam","exampl","extend","extens","extra","fast","first","frontend","functions,","handler","handler}]]])))","help.","helper","http","http,","id","id)","id))","id)))","id]","id]]))","id}","id},","integr","interceptor","introduct","latest","main","match?","method","method.","middlewar","middleware,","modul","modular","more.","name","nil","nil,","optionally,","param","paramet","part","path","pedest","pluggabl","r])","reitit","request)","requir","resolut","revers","ring","ring,","ring])","rout","router","router)","routing:","schema","separately.","sieppari","simpl","slack","spec","style","support","swagger","swagger2","syntax","tool","true","ui","ui.","util","version","wrap","{:get","{:handler","{:id","{:middlewar","{:name","{:request","{:statu","{}"],"basics/route_syntax.html":["\"/\"","'add","'get","(*path).","(:id)","([\"/get","(case","(cqr","(current","(defn","(for","(name","(non","(str","/","/foo","/foo%20bar.","0.3.0,","::admin]","::admin}]","::db]]","::db]}","::db}]","::ping]","::ping]]","::ping}]]","::pong}]]",":command",":get",":let",":name",":number\"]",":post)]]",":queri",";",";;","[\"\"","[\"/add","[\"/admin\"","[\"/api\"","[\"/api/:version/ping\"]]","[\"/api/admin/db\"","[\"/api/ping\"","[\"/db\"","[\"/files/fil","[\"/files/{name}.{extension}\"]","[\"/ping\"","[\"/ping\"]","[\"/pong\"","[\"/pong\"]]","[\"/public/*path\"]","[\"/public/{*path}\"]","[\"/user/:us","[\"/user/{us","[\"events.{target}.{type}\"]]","[::admin],","[::admin]}","[::api","[:command","[[\"/api/:version\"]","[[\"/api/admin\"","[[\"/api/{version}\"]","[[\"/files/fil","[[\"/ping\"","[[\"/ping\"]","[[\"/users/:us","[[\"/users/{us","[[\"broker.{customer}.{device}.{*data}\"]","[[:queri","[[type","[actions]","[add","[get","[interceptor]}}])])","[path","\\","\\.","action","anywher","appli","argument","arguments:","bar","bracket","brackets,","catch","caus","charact","child","compil","cqr","creat","creation:","data,","defin","deprec","e.g.,","easi","en","enabl","encod","end","error","exampl","flattened:","follow","free","gener","hardcoded)","have","id\"]","id/orders\"]]","ident","id}\"]","id}/orders\"]]","ignored.","interceptor))","interceptor]","it'","keyword","later.","list","method","multipl","need","nest","nil","non","normal","option","order\"","order]])","order]}}])]","paramet","parameter:","parameters:","path","paths.","prefix","programmatically:","qualifi","reitit","rout","route:","router","routes.","routes:","same","sequential)","simpl","slash","start","stop","string","string,","string:","syntax","termin","terminator.","that,","time","two","type","us","user\"","user]","user]}}]","vector","version","wildcard","wrap","yourself.","{*user/path}.","{:get","{:interceptor","{:middlewar","{:name","{:post","{method","{name}","{name}.pdf\"]","{number}.pdf\"]]","{user/id},","{version}.pdf\"]]"],"basics/router.html":["#object[...]","#object[...]}","'[reitit.cor","(def","(defprotocol","(match","(option","(or","(r/option","(r/rout","(r/router","(requir","(reverse)","(rout","(router","(via","::ping]","::user]])","::user]]))","::users]","::users]])",":a",":coerc",":compil",":conflict",":expand",":mix",":router",":user/db}]",":user/ping}",":user/ping}]",":user/user]",":user/users}]",":user/user}",":user/user}]]",":valid",";","[\"/admin\"","[\"/admin/db\"","[\"/api\"","[\"/api/user/:id\"","[\"/ping\"","[\"/user/:id\"","[\"/users\"","[\"/users/:id\"","[:user/p","[[\"/admin/ping\"","[[\"/api/ping\"","[[\"/users\"","[admin","[thi","[this])","admin","argument","automat","base","behind","coerc","compil","compos","conflict","creat","created,","data","data,","defin","detail","done:","easi","expand","flatten","follow","forc","function,","implement","instanc","instance,","it'","map.","merg","more","multipl","name","name]","names:","need","nil]","nil]]","option","option)","optionally,","options)","options:","params]))","path","path])","plain","protocol.","protocol:","r])","raw","reitit.core/rout","resolv","rout","router","router)","router:","routers.","routes])","routing,","routing.","satisfi","scene","select","singl","step","take","tree","tree:","user","valid","via","{:lookup","{:name"],"basics/path_based_routing.html":["\"/api/user/1\"","\"/api/user/1\")","\"/api/user/:id\"","\"/hello\")","\"1\"}}","#match{:templ","'[reitit.cor","(def","(onli","(r/match","(r/router","(requir","::ping]","::user]]))",":a",":data",":path",":result",":user/user}",";","[\"/api\"","[\"/ping\"","[\"/user/:id\"","argument","base","done","exact","following:","function.","given","information:","match","match,","matched,","miss","nil","nil,","nil:","on","param","paramet","partialmatch,","path","provid","r])","reitit.core/match","return","revers","rout","router","router:","routing)","take","us","{:id","{:name"],"basics/name_based_routing.html":["\"/api/ping\"","\"/api/ping\"}","\"/api/user/1\"","\"/api/user/1?iso=m%c3%b6ly\"","\"/api/user/:id\"","\"/api/user/:id\",","\"1\"})","\"1\"}}","\"möly\"}))","#match{:templ","#partialmatch{:templ","#{:id}","#{:id}}","'[reitit.cor","(","(current","(def","(r/match","(r/partial","(r/rout","(r/router","(requir","(reverse)","/api/user/:id:","1})","::kikka)","::ping)","::ping]","::user","::user)","::user))","::user]]))",":a",":data",":name",":path",":requir",":result",":user/ping}",":user/user]",":user/user}",":user/user},",";",">",">path",">path))",">path:","[\"/api\"","[\"/ping\"","[\"/user/:id\"","[:user/p","automat","base","booleans,","coerc","data","defin","except","exceptioninfo","given","help","internal)","keyword","list","map","match","match?","miss","name","name!","name.","names:","nil","nil,","nil:","numbers,","objects:","option","param","paramet","parameters:","partialmatch","path","path,","protocol","provid","queri","r])","reitit.core/match","reitit.impl/intostring.","return","returned:","rout","route:","router","router)","router:","set,","strings,","support","take","throw","too:","true","turn","version:","{:id","{:iso","{:name","{}"],"basics/route_data.html":["\"\".","\"/ping\"","\"/ping\")","\"/ping\"}","\"index.html\")])","#(slurp","#match{:templ","#{:admin}","#{:admin}}","#{:db","'[reitit.cor","(def","(expand","(extend","(java.io.file.","(r/expand","(r/match","(r/rout","(r/router","(requir","(via","::api","::api],","::db]","::ping)","::ping]","::ping}]","::pong]]","::pong]]))","::pong}]]","::swagger]","::swagger}]","::users]","::users}",":a",":append,",":data",":data:",":displac",":expand",":handler",":name",":no",":path",":prepend,",":replac",":result",":role",":user/ping}",":user/ping}]",";","[\"/\"","[\"/admin\"","[\"/api","[\"/api\"","[\"/api/admin/db\"","[\"/api/admin/users\"","[\"/api/ping\"","[\"/api/pong\"","[\"/db\"","[\"/ping\"","[\"/pong\"","[\"/swagger.json\"","[\"/users\"","[::api","[::api]","[::api]}","[::db]","[::session","[::session]}}))","[[\"\"","[[\"/api/ping\"","[[\"/ping\"","[[\"/swagger.json\"","[file","^:replac","accumul","ad","add","admin}}]]","admin}}]]]))","allow","application,","argument","argument:","attach","back","behavior","besid","case","client","collect","compon","creat","creation","custom","data","data,","data.","data:","default","default,","direct","doc","docs\"","docs]","docs]]","docs}]","documentation:","empti","exampl","exclud","expand","expans","extend","featur","file)","first","fragment","function","function,","gener","given","identity]","identity]}","identity}]","identity}}]]","identity}}]]))","implement","implementation.","interceptors.","interpret","introduc","java.io.fil","key","keys.","keyword","leaf","level","map","match","match.","merge.","meta","middlewar","naiv","name","nest","nil","nil]","non","option","option)","options)))","options]","overridden","page","param","path","path.","protocol.","r/expand","r])","raw","react.js,","recurs","recursive.","reitit.","resolv","retriev","return","root","rout","router","router)","routes:","see","sequenti","share","support","swagger","swap","target","them,","time.","top","toward","tree","tree:","trees,","true,","true}","type","us","valid","validation.","valu","via","without","{:data","{:get","{:handler","{:interceptor","{:middlewar","{:name","{:no","{:role","{}"],"basics/route_data_validation.html":["\"/api\"","\"/api\",","\"clojure.core$identity@15b59b0e\"],","\"clojure.core$identity@15b59b0e\"]}","\"clojure.core$identity@15b59b0e\"]},","\"clojure.core$identity@15b59b0e\"]}}})},","\"clojure.spec.alpha$merge_spec_impl$reify__2124@7461744b\"],","\"identity\"","\"identity\",","\"identity\"},","\"identity\"}]","\"identity\"}])","\"identity\"}}})},","#:clojure.spec.alpha{:problem","#object[clojure.core$ident","#object[clojure.spec.alpha$merge_spec_impl$reify__2124","#object[reitit.core$...]","#{:admin","#{:adminz}}","#{:adminz}},","#{:adminz}}]","#{:adminz}}}})},","#{})","#{}))","%","'[clojure.spec.alpha","'[expound.alpha","'[reitit.cor","'[reitit.spec","(#reitit.spec.problem{:path","()","(clojure.core/contains?","(clojure.core/fn","(clojure.spec.alpha/col","(clojure.spec.alpha/key","(coll","(default","(r/router","(requir","(s/coll","(s/def","(s/key","(s/merg","({:path","+","...","...,","0]}),","0x15b59b0e","0x7461744b","1","2","::role","::rs/default","::rs/explain",":a",":adminz,",":coerc",":compil",":data",":in",":into",":manager}",":manager})",":manager},",":opt",":pred",":problem",":reitit.spec/default",":reitit.spec/handl",":reitit.spec/handler])",":reitit.spec/handler],",":req",":role",":scope",":spec",":user/rol",":user/role:",":user/role],",":user/roles)),",":user/roles:",":val",":valid",":valu",":via",";","=>","[\"/api\"","[%]","[::roles])","[:handler]","[:handler],","[:handler]}),","[:reitit.spec/default","[:reitit.spec/nam","[:user/rol","[:user/roles],","[],","[]}),","^^^^^^^","`:admin`,`:manager`","`:user/roles`","accident","ad","anything,","app","appli","ariti","at:","author","below","better","case","clojure.core/fn?,","clojure.lang.exceptioninfo:","clojure.spec","clojure.spec.alpha/explain","compiled.","compilerexcept","compiling:","compiling:(/users/tommi/projects/metosin/reitit/test/cljc/reitit/spec_test.cljc:151:1)","contain","custom","data","data)","data,","data:","descript","detect","e/expound","e])","easi","effect","error","errors.","exampl","except","exist","expect","explain","explicitli","expound","fail","fast","fast,","first","fn?","follow","found.","fulli","function","go","helper","hinder","hook","ident","identity}]","implicitli","in:","instead","invalid","it'","key","key:","main","name.","namespac","nil,","note:","of:","on","on:","opt","options:","part","place.","predicate:","pretti","print","problem.","problems.","qualifi","r])","read","reitit.cor","reitit.spec","relev","requir","rout","router","rs/valid","rs/validate})","rs])","run","s])","same","side","sight","spec","spec:","str","str)","successfuli","throw","tree","turn","un","us","val:","valid","valu","verifi","way.","whole","without","wrong.","{::rs/explain","{:handler","{:problem","{:spec","{:valid","|"],"basics/route_conflicts.html":["#object[reitit.core$linear_router$reify]","'[reitit.cor","(def","(fn","(legaci","(println","(r/path","(r/router","(requir","/:user","/:version/statu","/admin/p","/bulk/:bulk","/ping","/public/*path","::admin]","::ping]","::ping]])",":a",":conflict",";",";:reitit.core/p",";compilerexcept","=>",">","[\"/:user","[\"/:version/status\"]])","[\"/admin\"","[\"/admin/ping\"","[\"/bulk/:bulk","[\"/public/*path\"]","[[\"/ping\"","[[\"/ping\"]","[conflicts]","allow","api)","automatically.","both","case","cases,","check","clojure.lang.exceptioninfo:","compilerexcept","conflict","conflict,","conflicts)))})","conflicts:","contain","creat","default,","defaults:","descript","disabl","ex","fail","fast","id","id\"]","id/ord","id/orders\"]","ignor","info","log","message.","name","names.","names:","nil})","on","option.","overrid","path","paths:","r])","reitit.core/router,","resolut","resolution.","rout","router","routes)","str","thrown","via","way","{:conflict"],"coercion/coercion.html":["\"/:company/users/:us","\"/metosin/users/123\")","\"/metosin/users/123\"))","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"/metosin/users/ikitommi\"))","\"123\"},","\"ikitommi\"))}}","\"metosin\",","#coercionerror{:schema","#match{:templ","#object[reitit.coercion$request_coercer$]},","'[reitit.coercion","'[reitit.coercion.schema])","'[reitit.cor","'[schema.cor","(:reitit.coercion/request","(and","(assoc","(coercion/coerce!","(core.clj:4739)","(def","(defn","(done","(if","(integer?","(match","(not","(r/match","(r/router","(requir","(with","123}}","::user",":a",":body,",":coercion",":data",":error",":form,",":header",":paramet",":parameters.",":path",":path.",":query,",":result",":user",":user/us",";","=>",">","[\"/:company/users/:us","[match","[path]","actual","ad","again:","against","another.","any},","appli","applied.","apply.","attach","back.","base","befor","better","blown","both","catch","clojure.core/ex","clojure.spec","coerc","coerce!","coercer","coercers.","coercers}))","coercion","coercion)","coercion,","coercion.","coercion/compil","coercion])","compil","creation","data","data.","default,","defin","defined).","defined,","depend","differ","do","done","done.","done:","effect","enabl","enough","error:","exampl","exceptioninfo","explain","explicit","failed...","failed:","fails,","follow","format","full","function","helper","here'","hold","http","id","id\"","id\",","implement","implementation.","info","int,","interceptor","int}}},","inventoried.","java.lang.string,","key","key.","level,","magical.","make","manual","match","match))))","match:","middleware,","modules:","much","multipl","need","nil,","non","normal","now","on","once,","param","paramet","parameters:","paremet","pars","part.","path","path)]","perform","plumat","process","protocol","r","r])","reitit","reitit,","reitit.coercion.schema/coercion","reitit.coercion.spec/coercion","reitit.coercion/coerce!","reitit.coercion/coercion","reitit.coercion/compil","request","responses)","ring","rout","router","router,","router.","routing.","rule","s/int}}}]","s/int}}}]))","s/str","s])","schema","schema:","scope","see","separ","ship","singl","spec","step","steps.","strings:","success","syntax","thing","this:","thrown,","time),","transform","two","type","under","us","via","view","view,","view]))","view},","why?","wildcard","within","yield","{:compani","{:compil","{:name","{:path","{:user"],"coercion/schema_coercion.html":["\"/:company/users/:us","\"/metosin/users/123\")","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"123\"},","\"metosin\",","#match{:templ","#object[reitit.coercion$request_coercer$]},","'[reitit.coercion","'[reitit.coercion.schema])","'[reitit.cor","'[schema.cor","(assoc","(coercion/coerce!","(def","(defn","(if","(match","(r/match","(r/router","(requir","123}}","::user",":a",":coercion",":data",":paramet",":path",":result",":user",":user/us",";","=>",">","[\"/:company/users/:us","[match","[path]","clojure(script)","coerce!","coercers}))","coercion","coercion/compil","coercion:","coercion])","data","declar","descript","exceptioninfo","fail","failed...","id","id\"","id\",","int}}},","java.lang.string,","librari","match","match))))","param","path","path)]","plumat","r])","reitit.coercion.schema/coercion","request","router","s/int}}}]","s/str","s])","schema","success","validation.","view","view,","{:compani","{:compil","{:name","{:path"],"coercion/clojure_spec_coercion.html":["\"/:company/users/:us","\"/metosin/users/123\")","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"123\"","\"123\"},","\"123\"}]","\"123\"}]}","\"mation\"}]","\"metosin\",","\"much\"","\"too\"}]}","#match{:templ","#object[reitit.coercion$request_coercer$]},","'[clojure.spec.alpha","'[reitit.coercion","'[reitit.coercion.spec","'[reitit.coercion.spec])","'[reitit.cor","'[spec","'em","(assoc","(coercion/coerce!","(core","(def","(defn","(if","(like","(match","(r/match","(r/router","(requir","(s/coll","(s/def","(s/key","(st/coerc","123}]}","123}}","2116","2251",":123}]","::compani","::mi","::path","::photo","::photos]))","::sku","::user",":a",":coercion",":data",":here",":infor",":into",":paramet",":path",":photo",":photo/id",":req",":result",":sku",":sku/id",":user",":user/us",";",";;","=>",">",">edn","[\"/:company/users/:us","[::compani","[::sku","[:photo/id]))","[:sku/id]))","[]))","[match","[path]","[{:id","add","allow","alpha","api","appli","automatic.","base","both","chang","clj","clojure.spec","clojure.spec,","clojure.spec.alpha/conform,","coerce!","coerced.","coercers}))","coercion","coercion.","coercion/compil","coercion:","coercion])","concid","custom","data","data,","data:","deepli","default,","defin","destructur","doesn't","easili","elegantly.","exampl","exceptioninfo","extra","fail","failed...","gener","go","help","id","id\"","id\",","id]))","infer","int?)","internal,","it'","it,","itself","json","key","keyword?)","later.","lean","librari","match","match))))","need","nest","of,","on","out","param","params}},","params}}]","path","path)]","predicates,","r])","rcs/json","rcs])","records.","regex","reitit","reitit.coercion.spec/coercion","remov","repl.","request","router","s/and,","s/coll","s/every),","s/key","s/keys,","s/map","s/nillabl","s/or,","s])","simpl","solv","spec","spec.","spec])","specifi","specs),","specs,","specs:","st/json","st/string","st])","string","string?)","strip","structur","success","support","test","tool","tools.cor","tools.core/spec,","tools.spec","transform","transformer)","un","up.","us","usag","valid","view","view,","vote","walk","walker","warn","wrap","{:compani","{:compil","{:name","{:path","{:sku","{:too"],"coercion/data_spec_coercion.html":["\"/:company/users/:us","\"/metosin/users/123\")","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"123\"},","\"metosin\",","#match{:templ","#object[reitit.coercion$request_coercer$]},","'[reitit.coercion","'[reitit.coercion.spec])","'[reitit.cor","(assoc","(coercion/coerce!","(def","(defn","(if","(match","(r/match","(r/router","(requir","123}}","::user",":a",":coercion",":data",":paramet",":path",":result",":user",":user/us",";","=>",">","[\"/:company/users/:us","[match","[path]","alternative,","bonus,","box.","clojure.specs.","coerce!","coercers}))","coercion","coercion/compil","coercion:","coercion])","conform","data","defin","exceptioninfo","fail","failed...","free","id","id\"","id\",","int?}}},","int?}}}]","macro","match","match))))","out","param","path","path)]","r])","reitit.coercion.spec/coercion","request","router","runtim","spec","string?","string?,","success","support","syntax","transform","via","view","view,","{:compani","{:compil","{:name","{:path"],"ring/ring.html":["\"\"}","\"/all\"})","\"/api/admin/db\"})","\"/api/get\"})","\"/api/ping\"})","\"/favicon.ico\"})","\"/ping\"","\"/ping\")","\"/ping\"}","\"/ping\"})","\"0.3.1\"]","\"ok\"}","\"ok\"})","#endpoint{...}","#endpoint{...}}","#endpoint{:data","#methods{:get","#object[...]","#object[...]}","#object[...]}}","%","&","'[reitit.cor","'[reitit.r","(","(:get,","(all","(app","(conj","(def","(default","(default:","(defn","(fn","(fnil","(handler","(r/compil","(r/match","(requir","(ring/get","(ring/r","(ring/rout","(see","(updat","200,","::acc","::ping","::ping)",":a",":admin",":admin]]}",":api",":api)]}",":api]]}",":bodi",":data",":db",":db]]",":delet",":delete,",":delete]]",":get",":get,",":handler",":handler)})",":handler]}",":head,",":inject",":middlewar",":ok]}",":option",":options,",":patch,",":path",":post",":post,",":put",":put,",":reitit.core/match",":reitit.core/rout",":reitit.middleware/registri",":reitit.middleware/transform",":reitit.ring/default",":request",":result",":top]]}))",":trace).",":uri",";",";#match{:templ",";;",";[[\"/ping\"","=>",">",">path))","[\"/admin\"","[\"/api\"","[\"/db\"","[\"/get\"","[\"/ping\"","[#(wrap","[::acc]}]","[:api","[:top","[[\"/all\"","[[mw","[[wrap","[])","[]}","[]}}]]","[_]","[handler","[metosin/reitit","[middleware]","[request]","[{:key","abstract","acc","accept","access","add","allow","api,","app","app:","appli","applic","applications,","args*]","argument","asynchron","available:","base","befor","boolean","both","catch","chang","clojur","compil","compon","concepts.","conj","construct","contain","correctly:","cors.","data","default","default,","descript","detail","done:","driven","enabl","endpoint","exampl","expand","follow","found.","frameworks.","function","gener","given","handler","handler\"","handler)","handler:","handler]","handler}]))","handler}]])","handler}]])))","handler}}]]])))","handling.","higher","http","id))))","id]","identity).","include:","inject","inspir","intomiddlewar","it'","key","keyword","level","librari","lookup","map","match","match?","method","method:","methods)","methods:","middlewar","middleware,","middleware.","middleware:","modular","more","mount","name","name,","nest","nil","normal","option","options,","options:","order","param","path","place","python'","r])","rack.","read","record","refer","registri","reitit.middleware/intomiddlewar","reitit.ring/r","replac","request","respons","return","revers","ring","ring])","rout","router","router)","router))","router,","router:","router?","routes))","routing,","routing:","ruby'","sequenc","servers,","share","simpl","simple,","specif","submap.","support","synchron","thing","this):","top","transform","true)","under","unifi","us","valid","valu","values.","varieti","vector","via","web","wrap","wsgi","{:get","{:handler","{:middlewar","{:name","{:request","{:statu","{}"],"ring/reverse_routing.html":["\"/users\"})","\"/users/0?iso=m%c3%b6ly\"}","\"/users/1?iso=m%c3%b6ly\"}","\"/users/2?iso=m%c3%b6ly\"}","\"/users/3?iso=m%c3%b6ly\"}","\"/users/4?iso=m%c3%b6ly\"}","\"/users/5?iso=m%c3%b6ly\"}","\"/users/6?iso=m%c3%b6ly\"}","\"/users/7?iso=m%c3%b6ly\"}","\"/users/8?iso=m%c3%b6ly\"}","\"/users/9?iso=m%c3%b6ly\"})}","\"möly\"}))})})}]","\"user...\"})}]])))","'[reitit.cor","'[reitit.r","(","(a","(app","(constantli","(def","(fn","(for","(r/match","(rang","(requir","(ring/r","(ring/rout","({:uri","10)]","200","200,","::r/match)","::r/router","::user",":a",":bodi",":get",":get,",":uri",";",";;",">",">path",">path,","[\"/users/:id\"","[::r/router]}]","[[\"/users\"","[i","[{:key","app","avail","below","both","convert","endpoints.","exampl","extra","handler","handler:","inject","i})","map","match","method","middlewar","name","on","option","param","paramet","path,","queri","r/match","r])","reitit.ring/r","request","revers","ring","ring])","rout","router","take","that,","too.","us","{:get","{:id","{:iso","{:name","{:request","{:statu","{:uri"],"ring/default_handler.html":["\"\"}","\"\"})","\"\"})))","\"/\"})","\"/invalid\"})","\"/ping\"})","\"/pong\"})","\"kosh\"}","\"kosh\"})","\"kosh\"})})))","'[reitit.r","(app","(constantli","(def","(defn","(handler","(no","(requir","(ring/creat","(ring/r","(ring/rout","200,","404,","405,","406,",":a",":bodi",":get,",":method",":not",":post,",":uri",";","[\"/ping\"","[\"/pong\"","[[\"/ping\"","[_]","accept","allow","app","argument","correct","custom","default","default,","defaults:","differenti","error","found","handler","handler)))","handler:","handler])","handler])))","handler}]","http","match,","matched)","matched),","method","more","nil","nil).","nil)]])","respons","responses,","responses:","return","returned,","ring","ring/creat","ring:","ring])","rout","second","set","used.","valid","{:get","{:not","{:request","{:statu","{:uri"],"ring/slash_handler.html":["\"\",","\"\"}","\"\"})]","\"\"})])))","\"\"})]])","\"/ping\"},","\"/ping/\"})","\"/pong\"})","\"/pong/\"},","'[reitit.r","(app","(constantli","(def","(requir","(ring/creat","(ring/r","(ring/redirect","(ring/rout","(whether)","200,","308,","404,",":a",":add})",":add})))",":bodi",":header",":method",":strip})))",";","[\"/ping\"","[\"/pong/\"","[[\"/ping\"","accept","allow","app","argument","both.","compos","configur","correct","default","defin","desir","error","example,","extra","handl","handler","handler)))","handler))))","handler:","http","match","matches.","miss","missing/extra","more","nil","option","paramet","path","precis","recogn","redirect","request","responses:","ring","ring/rout","ring])","rout","router","same.","second","set","slash","slash,","slash.","slashes.","sometim","trail","us","without","won't","work","{\"location\"","{:method","{:statu","{:uri","{}}"],"ring/static.html":["\"/\"})","\"/*\",","\"/assets/*\".","\"pong\"})]","\"pong\"})])","'[reitit.r","(404","(clojur","(constantli","(requir","(ring/creat","(ring/r","(ring/rout","200,",":",":a",":bodi",":cache,",":etag,",":gzip",":index",":last",":loader",":not",":paramet",":path",":root","[\"/*\"","[\"/assets/*\"","[\"/ping\"","[[\"/ping\"","[\\\"index.html\\\"]","\\\"public\\\"","actual","be","better","class","classpath.","clojurescript","compos","configur","conflict","default","descript","directory,","disabl","e.g.","extern","file","files.","found","found)","function","good","handler","handler))","handler)))","handler)]]","handler)]])","handler.","index","intern","key","keyword","loader","locat","look","map","matched.","miss","modified?,","mount","multipl","name","need","nil)})","non","none","on","only)","option","outsid","parameter,","path","paths,","reitit.ring/cr","request","resolution:","resolv","resourc","return","ring","ring])","root,","rout","router.","routes,","serv","served.","static","support","system","take","thing","to.","todo","two","unnam","us","vector","way","way,","wildcard","work","{:conflict","{:path","{:statu"],"ring/dynamic_extensions.html":["\"/api/admin/ping\",","\"/api/admin/ping\"})","\"/api/ping\"})","\"forbidden\"}","\"ok\"}","\"ok\"}))","#{:admin}}","#{:admin}})","'[clojure.set","'[reitit.r","(affect","(and","(app","(constantli","(def","(defn","(fn","(handler","(if","(let","(not","(requir","(ring/get","(ring/r","(ring/rout","(seq","(set/subset?","(some","200,","403,","::role","::roles)]",":a",":bodi",":data",":get,",":uri",";",">","[\"/admin\"","[\"/ping\"","[::roles]","[[\"/api\"","[handler]","[requir","[wrap","[{:key","access","ad","anonym","app","author","base","better.","build","compil","data","driven","dynam","enforc","exampl","extens","extract","guard","handler","handler]","handler]]]]","hoc","inject","match","match)","match.","method","middlewar","mount","much","nice,","public","reitit.ring/get","request","request)))))","request}]","requir","required)","ring","ring])","role","roles)))","roles:","roles]}})))","rout","route:","router","routes):","routes.","runtim","see","set])","system.","us","user","via","wrap","{::role","{:data","{:middlewar","{:request","{:statu"],"ring/data_driven_middleware.html":["\"/api/ping\"})","\"middlewar","#{:session}","#{:user}","&","'[reitit.middlewar","'[reitit.r","(app","(conj","(def","(defn","(fn","(fnil","(handler","(middleware/cr","(of","(optional)","(requir","(ring/r","(ring/rout","(updat","1]","2","200,","2]]}","3","3]]","::acc","::wrap2","::wrap3",":a",":bodi",":compil",":descript",":get,",":handler",":handler)})",":handler]}",":middlewar",":name",":provides.",":requir",":spec",":uri",":wrap",";","=>","[\"/api\"","[\"/ping\"","[1","[::acc]}]","[[wrap","[[wrap3","[])","[handler","[request]","[wrap2","[{:key","acc","access","actual","against","againt","allowed.","api","app","appli","arbitrari","arg","authorizationmiddlewar","avail","chain","chain,","class","clojure.spec","compil","compilation.","compos","composit","conj","correctly:","creat","data","data,","data:","debug","default,","defin","definit","depend","descript","details.","doc","downsid","driven","duct","e.g.","easi","enabl","endpoint","entri","etc.","expand","first","follow","form","function","function,","function.","functions,","futur","good","handler","handler}}]])))","hard.","id))))","id]","idea","ident","injectuserintorequestmiddlewar","inventories,","issu","it'","key","keys,","keyword","level","make","map","merg","method","middlewar","middleware)","middleware.","middleware])","mount","name","new","normal","opaqu","optim","order.","penalty.","performance.","processing,","produc","protocol.","provid","purpose:","qualifi","raw","record","reitit","reitit.middleware/intomiddlewar","reitit.middleware/middlewar","rel","request","request.","requir","resolut","respons","response.","results,","ring","ring])","rout","router","router.","runtim","see","set","special","style","support","thing","things.\"","thu","top","transform","type","understand","unwrap","us","valid","valu","vector","welcom","wrap","wrap2","wrap3","wrap})","wrap}))","wrong","yield","zero","{:get","{:middlewar","{:name","{:request","{:statu"],"ring/transforming_middleware_chain.html":["\"/api/ping\"})","\"0.3.1\"]","#(interleav","%","'[reitit.middlewar","'[reitit.r","(actually,","(app","(conj","(def","(defn","(fn","(fnil","(handler","(repeat","(requir","(ring/r","(ring/rout","(updat","1","1]","2","200,","2]]}","3","3]]","::acc",":a",":bodi",":debug",":debug]))})))",":get,",":handler",":handler)})",":handler]}",":reitit.middleware/transform",":uri",";","[\"/api\"","[\"/ping\"","[1","[3","[::acc]}]","[[wrap","[])","[handler","[metosin/reitit","[request]","[wrap","[{:key","acc","add","app","applic","between","chain","compil","conj","console.","diff","each","endpoint.","exampl","extra","follow","function","handler","handler}}]]","handler}}]])))","id))))","id]","interleav","it,","method","middlewar","middleware.","middleware])","new","option","option:","out","output:","per","print","reitit.ring.middleware.dev/print","request","return","revers","reverse})))","ring","ring])","router","router):","sampl","transform","transformation,","underli","us","valu","vector","wrap","{::middleware/transform","{:get","{:middlewar","{:request","{:statu"],"ring/middleware_registry.html":["\"/api/bonus\"})","\"goto","\"look","'[reitit.middlewar","'[reitit.r","(all","(app","(def","(defn","(e.g.","(fn","(fnil","(handler","(requir","(ring/r","(ring/rout","(updat","+","0)","10]}})))","200,","20]]}","30}}",":a",":bodi",":bonu",":bonus10",":descript",":get",":get,",":id",":middlewar",":reitit.middleware/registri",":uri",";",";avail",";compilerexcept",";|","=>","[\"/api\"","[\"/bonus\"","[:bonu","[:bonus10]","[[:bonu","[bonus]}]","[handler","[request]","[{:key","app","applic","bad","bonu","bonus}})))","bonus}})}]]","clojure.lang.exceptioninfo:","common","complex","configur","contain","creation","data","databases.","default","defin","definition\"","descript","doesn't","duct","easi","edn","enabl","error","evalu","exampl","expected:","extern","extra","fail","fast","file","files.","format","found","good","handler","handlers)","help","id","indirection,","intomiddleware.","isn't","it'","itself)","keep","key","keyword","keywords.","liter","look","make","map","message.","method","middlewar","middleware:","middleware])","more","options.","persist","prefil","referenc","registri","registry,","registry.","registry:","registry?","reitit","reitit.ring_test$wrap_bonus@59fddabb","remov","request","ring","ring.","ring])","rout","router","source\".","store","support","syntax","thing","todo","under","us","value))))","value]","work","wrap","{::middleware/registri","{:bonu","{:middlewar","{:request","{:statu","|"],"ring/default_middleware.html":["\"/fail\"","\"/fail\"})","\"/fail\"}}","\"0.3.1\"]","\"default\"","\"default\")","\"error\"","\"error\")","\"exception\"","\"exception\")","\"fail\"","\"fail\")))]","\"forc","\"java.lang.exception\"}}","\"kukka\"})}}]]","\"negoti","\"sql","\"text/xml\"}","\"total\":","#'app","&","'[reitit.coercion.spec","'[reitit.r","'[reitit.ring.coercion","'[reitit.ring.middleware.except","'[reitit.ring.middleware.multipart","'[reitit.ring.middleware.muuntaja","'[ring.adapter.jetti","(+","(.getclass","(:uri","(app","(def","(default","(defn","(deriv","(ex","(exception.","(exception/cr","(fn","(handler","(http","(jetty/run","(json,","(merg","(no","(partial","(pr","(println","(requir","(ring/r","(ring/rout","(throw","1)","11","16:59:54","16:59:58","2)","20","200","2018","22","3","3)","3000,","4)","400","5)","500","500,","8",":3000/math",":3000/xml","::default","::error","::except","::exception)","::exception/default","::exception/wrap","::failue})))]","::failur","::horror",":a",":bodi",":body}",":class",":coercion",":consum",":data",":except",":get,",":handler",":header",":join?",":middlewar",":multipart]",":muuntaja",":muuntaja/decod",":muuntaja/request",":muuntaja/respons",":paramet",":parameters}]",":produc",":reitit.coercion/request",":reitit.coercion/respons",":reitit.middleware/transform",":reitit.ring/respons",":reitit.ring/response,",":respons",":type",":uri",":user/failue}",":y",";",";;",";{:statu","=>",">","[\"/fail\"","[\"/xml\"","[:paramet","[[\"/math\"","[_]","[except","[exception/except","[handler","[messag","[metosin/reitit","[muuntaja/format","[x","[{{{:key","accept","accept,","action:","actual","add","alreadi","ancestor","api","app","application/json;","application/x","ariti","aug","automat","automatically.","avail","base","better","between","bodi","captur","cases,","catch","catches:","chain","charset","charset=utf","child","class","class.","clojure.lang.exceptioninfo","coercion","common","compojur","configur","configuration.","contain","content","creat","custom","data","data.","data:","date:","decod","default","default).","default:","defin","definit","descript","diff","doesn't","driven","e","each","easier","edn,","emit","emit'","encod","encoding.","error","ex","exampl","except","exception\")","exception)","exception/cr","exception/default","exception/except","exception])","exist.","expect","explicit","factor","false})","follow","form","format","format.","function.","gener","gmt","handl","handler","handler).","handler.","handlers.","handling.","header","headers.","hierarchi","http","http/1.1","httpie:","https://github.com/metosin/reitit/blob/master/examples/r","idenfi","idenfitifi","identifi","identifier.","info","inspect","instance,","int?,","int?}}","int?}}}","invok","it'","it,","java.sql.sqlexcept","jetti","jetty(9.2.21.v20170120)","jetty])","key","keyword","kukka","length:","lift","lookup","m/instanc","manag","mani","map","match","messag","method","middlewar","middleware,","middleware.","middleware]}})))","mount","multipart","multipart/cr","multipart/multipart","multipart])","muuntaja","muuntaja.core/muuntaja","muuntaja/format","muuntaja])","negoti","negotiation,","note:","noth","ok","option","option:","options.","order:","output:","overrid","param","paramet","params.","partial","parts:","performance.","polish","post","preconfigur","prefer","print","publish","queri","rcs/coercion","rcs])","reitit","reitit.ring.middleware.dev/print","reitit.ring.middleware.parameters/paramet","request","request)))","request))})))","request)}})","request.","request]","respons","response\"","response)","result","return","ring","ring,","ring.middleware.params/wrap","ring])","rout","route.","router","rrc/coerc","rrc])","safe","sampl","see","select","server:","set","set.","singl","sqlexcept","stack","str","super","swagger","swagger/src/example/server.clj.","take","test","text/xml","thrown/rais","trace","transform","transit)\"","two","type","type\"","type:","urlencod","us","valu","version","via","wed,","wrap","wrapper","www","x","x:=1","xml","y)}})}}]","y:=2","y]}","yield","{","{\"content","{200","{:bodi","{:data","{:get","{:messag","{:middlewar","{:muuntaja","{:port","{:post","{:request","{:statu","{:summari","{:total","{:type","{:x","{;;","}"],"ring/coercion.html":["\"","\"(constrain","\"(not","\"/api/ping\"})","\"/api/plus/3\"","\"/plus\"","\"1\",","\"1\"}","\"abba\"}","\"abba\"},","\"any\"","\"any\"},","\"fail\"}","\"fail\"}})","\"int\",","\"pong\"}","\"pong\"})}]","\"y\"","&","'[expound.alpha","'[reitit.coercion.schema])","'[reitit.cor","'[reitit.r","'[reitit.ring.coercion","'[reitit.ring.middleware.except","'[schema.cor","'positiveint))","(","(+","(app","(coercion","(def","(defn","(exception/cr","(expound/custom","(fn","(handler","(integer?","(let","(mapv","(merg","(positiveint","(printer","(r/match","(requir","(ring/get","(ring/r","(ring/rout","(s/constrain","...","...,","10}})","1}","2\"}})","200","200,","2}})","400)","400,","500)}))","500,","6))\"},","6},","6}}","::mw/coerc","::ping","::ping)","::plu","::plus)",":a",":bodi",":body.",":body]}}",":coercion",":error",":figwheel",":form",":get",":get,",":handler",":header",":in",":middlewar",":name)))",":paramet",":parameters}]",":path",":post",":print",":problems))",":queri",":query,",":query}",":reitit.coercion/request",":reitit.coercion/respons",":request",":respons",":result",":schema,",":type",":uri",":valu",":x)",":y",":y)",":z))]",";","=>",">",">>","[\"/api\"","[\"/ping\"","[\"/plus\"","[\"/plus/:z\"","[(exception/cr","[::mw/coerc","[:request","[:respons","[]","[_]","[except","[parameters]}]","[printer","[rrc/coerc","[status]","[total","[x","[{:key","[{{{:key","\\\"abba\\\"))\"},","^^","^^^^^^","access","actual","againt","also,","and/or","anything,","app","app)","appli","apply.","attach","basic","below","bodi","both","chain","clojure.spec","code","coerc","coerced.","coercer","coercion","coercion,","coercion.","coercion/coerc","coercion])","compil","construct","contain","current","data","data.","defin","defined,","defined.","defined:","detail","doesn't","done:","enabl","endpoint","error","errors,","ex","exampl","except","exception/default","exception])","explain","expos","expound","expound])","fail","false})","follow","full","guide.","handler","handler/middlewar","here'","http","implement","int","int?","int?,","int?}}","int?}}}","invalid","inventoried.","it'","itself","key","key.","map","method","middlewar","middleware:","middleware]}})))","models.","modules:","mount","multipl","name","need","normal","optim","param","paramet","params]}}","plu","plumat","po","pos?","positiveint","positiveint)\"},","positiveint}}}","pretti","print","printer","problem","protocol","queri","r])","read","reitit","reitit,","reitit.coercion.schema/coercion","reitit.coercion.spec/coercion","reitit.coercion/coercion","reitit.ring.coercion:","request","request))))","request.","request:","request]","respons","response:","response]","ring","ring,","ring])","rout","route.","router","router,","routes:","rrc/coerc","rrc])","rule","s/int","s/int}","s/int}}","s])","satisfi","schema","schema.","schema:","scope","ship","singl","sourc","spec","specs?","statu","status)]","step","supported:","theme,","thing","total}}))})","total}}))}}]]","transform","type","under","us","used:","valid","valu","value.","within","without","x","y)}})}}]","y]}","{\"x\"","{200","{:bodi","{:coercion","{:data","{:get","{:i","{:middlewar","{:name","{:paramet","{:queri","{:reitit.coercion/request","{:request","{:schema","{:statu","{:theme","{:total","{:uri","{:x","{:z"],"ring/route_data_validation.html":["\"/api/internal/users\"})","\"forbidden\"}","\"ok\"}","\"ok\"})","#{:admin","#{:admin}}}]]","#{:admin}}}]]]","#{:manager}","#{:manager}}","#{:public","#{}))","'[clojure.set","'[clojure.spec.alpha","'[expound.alpha","'[reitit.r","'[reitit.ring.spec","'[reitit.spec","(","(:get,","(and","(app","(def","(defn","(fn","(handler","(if","(let","(not","(println","(requir","(ring/get","(ring/r","(ring/rout","(s/coll","(s/def","(s/key","(seq","(set/subset?","(some","200,","403,","::role","::roles)]","::rs/explain","::zone",":a",":bodi",":data",":delet",":get",":intern",":internal}",":internal})",":into",":manager})",":middlewar",":post",":public",":public}",":req",":spec",":uri",":valid",":wrap",":zone",":zone)]",";",";;",">","[\"/api\"","[\"/api/internal/users\"","[\"/internal\"","[\"/ping\"","[\"/public\"","[\"/users\"","[::roles]","[::zone])","[[\"/api/public/ping\"","[_]","[handler]","[request]","[requir","[zone","[{:key","abil","about.","ad","alway","app","around","behavior","cleanli","clojure.spec","common","contribut","core","creation:","data","data:","defin","design,","differences:","dynam","e/expound","e])","effect","endpoint","endpoints.","enforc","etc.)","even","exampl","explicit","extens","fail","fast","feature,","few","fix","flatten","fulli","good:","handler","handler}","handler}]","handler}]]","handler}}]]]","harder","have","here","ignor","implicit","instead","invalid:","key","key.","keyset.","let'","match)","merg","method","mid","middlewar","middleware]}","miss","on:","option","path","power","powerful.","present","present:","problem:","push","qualifi","reason","reitit.ring.spec/valid","reitit.spec/valid","request","request)))))","request))))})","request}]","requir","required)","reus","reuse)","ring","ring])","role","roles)))","roles]","roles]}","roles]}]","roles]}]]","rout","router","router,","routes:","rrs/valid","rrs])","rs])","s/key","s])","separ","set])","silent","simpl","spec","specs.","str})))","support","turn","un","us","valid","validation,","via","work","wrap","zone","zone)","{:data","{:get","{:handler","{:middlewar","{:name","{:request","{:statu","{:valid","{:zone"],"ring/compiling_middleware.html":["\"middlewar","#(respond","%))","%))))","'[reitit.spec","(","(:request","([request","([request]","(and","(coerc","(coercion/coerc","(coercion/respons","(compiled)","(def","(defn","(fn","(handler","(if","(let","(records,","(requir","(respons","(ring/get","50%","::coerc","::rs/respons",":a",":coercion",":coercion)",":compil",":compile.",":data",":opts)]",":respons",":responses)",":result",":spec",":wrap.","=>",">","?intomiddleware.","[coercer","[coercion","[handler]","[method","[respons","[{:key","`reitit.coercion/coercion`","access","actual","approaches,","below","better.","but,","closur","code,","coerc","coercer","coercion","coercion.","compil","creation","data","data,","decid","defin","demonstr","done","dynam","easi","easier","enabl","enforc","etc.)","everyth","exact","expect","extend","extens","extract","fast","faster","faster.","function","handler","inform","instead","it'","it?","itself","key","know","less","link","local","lookup","match","method","middlewar","middleware/interceptor","mount","mount.\"","much","nil.","normal","nothing.\"","opt","optim","opts)]","opts]","otherwis","pass","pluggabl","processing.","provid","raise))))))","raise)))))))})","raise]","read","reason","reasoning:","record","relev","request","request)","request)))","request.","requir","respond","respons","response))","response)))","responses)","responses]}","return","ring","role","rout","router","rs])","runtim","shape","spec","system.","time","time.","to,","transform","two","type","us","validation.","via","want,","way","wrap","written","yield","{:name"],"ring/swagger.html":["\"/\"","\"/\"}","\"/\"})","\"/api","\"/api/pong\"","\"/one","\"/one/ping\"","\"/one/swagger.json\"}","\"/swagger.json\"","\"/swagger.json\"})","\"/two/deep/ping\")","\"/two/ping\"","\"/two/ping\")","\"/two/swagger.json\"}","\"0.3.1\"]","\"2.0\"","\"download","\"image/png\"}","\"mi","\"ping\"})}]","\"ping\"})}])","\"plu","\"pong\"})}]]","\"reitit.png\"))})}}]]","\"server","\"swagger","\"upload","#'app","#{::one","#{:reitit.swagger/default}","&","'[reitit.r","'[reitit.swagg","(","(\"/common/ping\"","(+","(:requir","(:tags,","(app","(constantli","(def","(defn","(fn","(io/input","(io/resourc","(jetty/run","(keyword","(n","(println","(requir","(ring/creat","(ring/r","(ring/rout","(swagger","(swagger/cr","(without","...","/api","/examples/r","/swagger.json","0..n","2","200","200,","3","3000\"))","3000,","4",":","::one","::one}}","::two","::two}}","::two}}}",":a",":basepath",":basepath)",":bodi",":body}",":config",":descript",":get",":get,",":handler",":header",":id",":id].",":join?",":middlewar",":multipart}",":muuntaja",":no",":paramet",":parameters}]",":path",":post",":produces,",":query}",":respons",":root",":summari",":summary,",":swagger",":tag",":uri",":url",":x",":y",";",";;",";{:statu",">","[\"\"","[\"/api","[\"/deep\"","[\"/download\"","[\"/files\"","[\"/math\"","[\"/one","[\"/one\"","[\"/ping\"","[\"/plus\"","[\"/pong\"","[\"/swagger.json\"","[\"/two\"","[\"/upload\"","[\"files\"]}}","[\"image/png\"]}","[\"math\"]}}","[:swagger","[;;","[[\"/api\"","[[\"/common\"","[[\"/swagger.json\"","[]","[_]","[clojure.java.io","[file]}","[metosin/reitit","[muuntaja.cor","[reitit.coercion.spec]","[reitit.r","[reitit.ring.coercion","[reitit.ring.middleware.except","[reitit.ring.middleware.multipart","[reitit.ring.middleware.muuntaja","[reitit.ring.middleware.paramet","[reitit.swagg","[ring.adapter.jetti","[ring.middleware.param","[x","[{{{:key","accept","act","actual","ad","annot","anoth","api","api\"}","apis.","app","application.","apply.","argument","bodi","boolean","both","classpath.","clojur","clojure.","clojure.spec","clojurescript","coerc","coercion","coercion/coerc","coercion]","collect","complet","configur","content","contribut","correctli","creat","currently,","custom","data","data,","data.","decod","default","defin","definitions,","descript","doc","docs\"","docs\"})))","docs/*\"","docs/index.html\"})","docs:","document","documentation,","each","easili","easy,","enabl","encod","endpoint","endpoint,","endpoint.","etc.","exampl","example.serv","except","exception/except","exception]","exceptions,","exclud","extract","false})","feature,","file","file\"","file}})}}]","follow","form","format","formatter.","gener","hander","handl","handler","handler))))","handler)}]","handler)}]]])))","handler)}}]","handler)}}])","handler)}}]])","handler.","handler:","host","http://localhost:3000","http://spec.commonmark.org/","id","identifi","index","input","int?,","int?}}","int?}}}","integr","interact","interceptor","interceptor.","interest","interfac","io]))","is.","it'","jetti","jetty]","key","keys)","keys.","keyword","keywords)","keywords.","long","m/instanc","m]","macchiato","make","map","method","middlewar","middleware]}})","miss","modul","module.","more","mount","multipart","multipart/multipart","multipart/temp","multipart]","multipl","muuntaja/format","muuntaja]","name","need","negat","negoti","negotiation,","new","next","normal","note","note:","now","on.","option","options:","outsid","page,","param","paramet","parameter,","parameters\"","parameters/paramet","parameters]","params]","part","particip","part}}","part}}}","pass","path","ping","port","post","pr!","pre","prefix","process","project","queri","real","reitit","reitit.coercion.spec/coercion","reitit.swagg","reitit.swagger.swagg","reitit.swagger/cr","render","request","resourc","responess,","respons","return","ring","ring]","ring])","root,","rout","route,","route]","route]]","route]])))","router.","router:","rule","run","same","schema","scope","see","separ","sequenc","serv","set","short","simpl","slash","slash)","spec","spec,","spec:","specif","specification,","specification.","specification:","start","store","stream","string","summari","support","swagger","swagger.","swagger2","swagger]","swagger])","swaggger","tag","take","thank","thing","time","to.","todo","too.","tool","tools.","trail","true","true}","turn","two","two\"","two/swagger.json\"}","type\"","ui","ui\"","ui,","ui.","ui/creat","ui:","ui]","ui])","under","unnam","us","use,","user","valid","valu","version","via","visual","way","webjar","welcom","whole","wildcard","with:","within","work","world","wrap","x","y)}})}","y)}})}}]]]","y]}","{\"/api/ping\"","{\"content","{200","{:bodi","{:coercion","{:data","{:file","{:get","{:id","{:info","{:multipart","{:no","{:path","{:port","{:post","{:produc","{:queri","{:request","{:statu","{:summari","{:swagger","{:tag","{:titl","{:total","{:x","{}}","{}}}}}"],"ring/RESTful_form_methods.html":["\"_method\"","\"_method\"])","\"_method\"]))))","\"delete\"","\"get\"","\"patch\"","\"post\"","(:request","(=","(and","(assoc","(def","(defn","(fn","(get","(handler","(hidden","(if","(keyword","(note:","(or","(pioneer","(reitit.ring/cr","(reitit.ring/r","(reitit.ring/rout","...)","::wrap",":form",":multipart",":post",":request",":wrap",";;","[:form","[:multipart","[fm","[handler]","[reitit.ring.middleware.parameters/paramet","[request]","appli","applic","befor","browser","come","data","default","design","do","don't","field","field.","fm))","form","forms.","given","handler","handler)","here","hidden","insid","look","lot","map","match","method","method.)","method]})","middlewar","need","out","param","pattern","place","rails)","reitit","reitit.ring.middleware.multipart/multipart","reitit.ring/handler.","replac","request","request))","request))))})","request))]","request,","rest","rout","solv","spesif","submit","support","swap","this:","us","whatev","wrap","wrapper","wrong","{:middlewar","{:name"],"http/interceptors.html":["\"\",","\"/\"})","\"/api/number\"})","\"0.3.1\"]","'[reitit.http","'[reitit.interceptor.sieppari","'[reitit.r","(app","(def","(defn","(fn","(fnil","(http/ring","(http/router","(requir","(ring/creat","(select","(updat","+","0)","03","08","1)]}","10)]","100)]","111}}","200","200,","404,",":a",":bodi",":executor",":get",":get,",":handler",":header",":interceptor",":middlewar",":number]",":uri",";",";;","[\"/api\"","[\"/number\"","[(interceptor","[:number])})}}]])","[:request","[ctx]","[metosin/reitit","[number]","[req]","altern","app","basic","build","chain","chains.","context.","ctx","data","default","details.","differences:","enqueu","exampl","execut","executor","extra","features.","handl","handler","handler)","have","http","http])","https://quanttype.net/posts/2018","https://www.reddit.com/r/clojure/comments/9csmty/why_interceptors/","implement","instead","interceptor","interceptors.html","interceptors?","key","librari","match","method","middleware.","modul","number))})","option","optionally,","package.","pedest","reitit","reitit.http/http","reitit.http/rout","reitit.interceptor","reitit.interceptor/executor","req","requir","ring","ring])","rout","router","same","see","shipped,","sieppari","sieppari/executor}))","sieppari])","simpl","support","top","type","us","{:enter","{:executor","{:interceptor","{:number","{:request","{:statu","{}}"],"http/pedestal.html":["\"0.3.1\"]","\"0.5.5\"]","#interceptor","&","'[io.pedestal.http","'[reitit.http","'[reitit.pedest","'[reitit.r","(","(coercion,","(context","(context)","(def","(defn","(fn","(fnil","(http/router","(pedestal/replac","(pedestal/rout","(requir","(select","(server/cr","(server/default","(server/dev","(server/start))","(updat","+","0)","1","1)]}","10)]","100)]","2","200","3000","::server/join?","::server/port","::server/rout",":a",":bodi",":error",":get",":handler",":jetti",":number]",";",";;",">","[\"/api\"","[\"/number\"","[(interceptor","[:number])})}}]])","[:request","[]}","[ctx]","[io.pedestal/pedestal.jetti","[io.pedestal/pedestal.servic","[metosin/reitit","[number]","[req]","altern","ariti","async","backend","backslashes.","be","both","class","clojur","clojure.","clojurian","coercion","common","compar","compat","complet","conflict","ctx","currently,","custom","data","default","defined.","discuss","doc","enabled:","engin","etc.)","even","exampl","except","exception).","fals","faster.","first","fix","framework","frontend.","full","guide.","handl","handler","http])","https://github.com/metosin/reitit/tree/master/examples/pedest","instead","interceptor","interceptors)","interceptors,","interceptors:","key","known","last","minimalist","model,","model.","more","mostli","number))})","on","out","paramet","pedest","pedestal'","pedestal.","pedestal])","problem","provid","read","reitit","reitit,","reitit.http.interceptors.exception/except","req","resolution.","ring])","rout","router","router.","routes)))","routing.","routing?","server)","server])","sieppari","simpl","slack.","spec","support","swagger","swagger.","swap","sync","syntax,","take","trail","us","validation.","web","welcom","{::server/typ","{:enter","{:interceptor","{:statu"],"http/sieppari.html":["\"","\"/api/ping\"}","\"/api/ping\"})","\"0.3.1\"]","\"enter","\"leav","\"pong\"}","\"pong\"}))","&","'[reitit.http","'[reitit.interceptor.sieppari","(app","(def","(defn","(deref","(fn","(futur","(http/ring","(http/router","(let","(println","(promise)]","(requir","1000","200,","::timeout))",":a",":api",":api)]}",":bodi",":get",":get)]",":get,",":handler",":leav",":ping",":ping)]",":uri",";=>",";enter",";leav","[\"/api\"","[\"/ping\"","[(i","[_]","[ctx]","[metosin/reitit","[respond","[x]","app","async","attach","batteri","both","chains.","clojure,","code:","coercion","compil","core.async,","ctx)","ctx)})","default","exampl","example,","execut","fast","handler","handler}}]])","http","http,","http])","https://github.com/metosin/reitit/tree/master/examples/http","implement","interceptor","interceptors,","manifold","method","model,","need","new","nil)","pluggabl","promesa.","reitit","reitit.interceptor.sieppari/executor","respond","ring","router","same","seamlesli","share","sieppari","sieppari.","sieppari/executor}))","sieppari])","simpl","support","support:","swagger","sync","synchron","syncron","together.","us","work","x)","{:enter","{:executor","{:interceptor","{:request","{:statu"],"http/default_interceptors.html":["\"0.3.1\"]","[metosin/reitit","action:","app","content","default","exampl","except","handl","https://github.com/metosin/reitit/blob/master/examples/http","interceptor","interceptors.","middleware,","multipart","negoti","paramet","reitit.http.interceptors.exception/except","reitit.http.interceptors.multipart/multipart","reitit.http.interceptors.muuntaja/format","reitit.http.interceptors.parameters/paramet","request","respons","ring","see","swagger/src/example/server.clj."],"http/transforming_interceptor_chain.html":["\"/api/ping\"})","\"0.3.1\"]","#(interleav","%","'[reitit.http","'[reitit.interceptor.sieppari","(actually,","(app","(def","(defn","(fn","(fnil","(http/ring","(http/router","(interceptor","(interceptor/transform","(repeat","(requir","(select","(uncom","(updat","1)","1]}}","2","2)]}","200","200,","3","3)]","3]}}",":a",":bodi",":debug",":debug)))})",":debug]}}",":get,",":handler",":message]",":reitit.interceptor/transform",":uri",";","[\"/api\"","[\"/ping\"","[(interceptor","[1","[3","[:message])})","[:request","[])","[ctx]","[message]","[metosin/reitit","[req]","add","app","appli","applic","between","butlast","chain","chain,","clojure.core/revers","compil","conj","console.","context","ctx","diff","diffs):","each","effect","endpoint.","exampl","extra","first","follow","function","handler","handler,","handler}}]]","handler}}]])","helper","http","http])","https://github.com/metosin/reitit/blob/master/examples/http","https://github.com/metosin/reitit/blob/master/examples/pedest","interceptor","interceptor.","interceptors.","interleav","it,","key","last","make","message))})","method","new","note:","option","option:","out","output:","pedestal:","per","print","put","reitit.http.interceptor.dev/print","reitit.http.interceptors.dev/print","reitit.interceptor/transform","req","rest","return","revers","reverse)})","router","router):","sampl","see","sieppari/executor}))","sieppari:","sieppari])","swagger/src/example/server.clj","transform","transformation,","underli","unreachable.","us","usual","valu","vector","{::interceptor/transform","{:enter","{:executor","{:get","{:interceptor","{:messag","{:request","{:statu"],"frontend/basics.html":[":paramet","addit","allow","attach","basic","break","browser","built","chang","code","coerc","coercer","coercion","compil","console.warn","control","core","default.","due","easi","enabled,","enabled.","error","errors.","event","extens","featur","few","frontend","function","functions:","hash","histori","html","includ","instead","integr","javascript,","layers:","log","match","multipl","name","name!","next","option","orient","origin","param","paramet","parameters.","pars","path","prevent","property,","property.","provid","queri","react","read","regardless","reitit","reitit.frontend","router","same","state","store","string,","throw","uri","us","version","wrap","wrapper"],"frontend/browser.html":["#.","(.back","(.go","(index.html).","1)",";;","allow","alway","anyway","api","api:","applications,","back","browser","call","calls.","chang","check","correct","current","directli","doesn't","downsid","easi","entri","event","events.","exampl","example.","file","follow","forwards,","fragment","fragment,","frontend","function","go","handler","histori","history.","html5","i.e.","includ","instanc","integr","integrations.","js/window.histori","js/window.history)","know","leav","look","make","manag","manipul","mean","modifi","never","normal,","page","part","pass","previou","provid","push","reitit","reitit.frontend.easi","replac","request","requir","respond","return","ring","rout","route,","router","server","server.","simpl","singl","somewher","stack,","state","store","two","uri","url","us","without","work:","wrapper"],"frontend/controllers.html":["\"item","\"root","&","(","(:control","(:requir","(also","(assoc","(atom","(def","(defn","(defonc","(e.g.","(fn","(get","(js/console.log","(mayb","(n","(rfc/appli","(rfe/start!","(swap!","(when","...])","/item/someth","/item/something,",":a",":control",":id)))",":id)))}]}]",":id]))",":path",":start",":stop",">","[\"/\"","[\"/item/:id\"","[:id]}","[:path","[]","[_]","[item","[match]","[new","[old","[parameters]","[reitit.frontend.control","[reitit.frontend.easi","[{:param","[{:paramet","[{:start","ad","add","affect","again.","all,","altern","alway","api","appli","applic","arbitrari","authent","automat","bad","befor","both","call","callback","chang","change.","changes.","check","code","code,","concaten","consid","contain","control","controller,","current","data","declar","declaration,","describ","differ","disabl","done","done).","done,","done.","easi","else,","else.","elsewher","enabl","enter","even","event","example.","example:","exit","first","frame","frontend.cor","full","function","function,","functions,","get","graphql","handler).","https://github.com/metosin/reitit/tree/master/examples/frontend","id))","id))}]}]]","id]","ident","implement","init!","initi","isn't","item","keechma","leav","left.","load","logic","manual","map","match","match)","match))))))))","match,","match]","merged.","miss","navig","need","nest","new","next","nil))","nil.","old","out","param","paramet","params.","per","possibl","prevent","previou","properties:","query)","re","reinitialized:","reitit.frontend.controllers/appli","reitit.frontend.easy:","rememb","request","requir","resolv","resourc","resources,","resources.","return","rfc]))","rfe]","root","rout","route,","router","run","same","see","server.","set,","similar","solut","someth","start","start\"","start\"))}]}","started.","state","statu","stay","stop","stop\"","take","them.","time","tip","to:","tree,","tree:","tri","unauthent","until","updat","url","us","user","valu","value,","value.","vector.","way","whenev","whole","work","yet.","{:control","{:path"],"advanced/configuring_routers.html":["#{route}}","()","(data)","(default",":coerc",":compil",":conflict",":data",":except",":expand",":path",":rout",":router",":spec",":valid","=>","[])","actual","arg","avail","base","clojure.spec","coerc","compil","configur","conflict","creation","data","data,","definit","descript","effect","except","expand","follow","function","handl","handler","implement","initi","key","nil","opt","option","options.","overrid","path","reitit.core/expand)","reitit.core/router:","reitit.exception/exception)","reitit.spec","resolv","result","return","rout","route,","router","see","side","throw","time","us","valid","via","{rout","{})"],"advanced/composing_routers.html":["\"/\"","\"/\"))]","\"/avaruus\"","\"/avaruus\"}]","\"/beers/lager\")","\"/beers/sahti\")","\"/beers/saison\")","\"/dynamic\"","\"/dynamic/duo\"","\"/dynamic/duo\")","\"/gin/napue\")","\"/kerran/*\"","\"/kerran/avaruus\"}","\"/olipa/*\"","\"/olipa/iso/kala\"}","\"/olipa/kerran/avaruus\")","\"/olipa/kerran/avaruus\"}","\"/olipa/kerran/iso/kala\")","\"/vodka/russian\")","\"avaruus\"}","\"beer\"","\"bock\"])","\"duo\"","\"kerran/avaruus\"}","\"kerran/iso/kala\"}","\"sahti\"","#object[...]","#object[...]}","#object[reitit.core$lookup_router]}","#object[reitit.core$mixed_router]}","#object[user$reify__24359]}]]","#reitit.core.match{:templ","'[clojure.str","'[compojure.cor","'[reitit.cor","(","(:templat","(add","(app","(appli","(atom","(comp","(con","(constantli","(context","(creat","(def","(defn","(deref","(for","(if","(into","(keyword","(let","(list","(map","(mapv","(merg","(name","(nested)","(r/match","(r/option","(r/rout","(r/router","(rand","(recurs","(reifi","(request","(requir","(reset","(reset!","(some","(str","(str/last","(sub","(swap!","+","/:this/should/:fail","/baz/:id/:subid","/beers/sahti","/beers/saison","/ciders/weston","/dynamic/duo","/gin/napu","/saison","100)))]))))","12000n","20000n","23ns.","40n","440n","600n","::bar]]))","::baz]]))","::fail]])","::foo]","::route1])","::route2])","::route3])))",":a",":avaruus]",":avaruus}",":beer",":beer/bock}]",":beer/lager}]",":beer/sahti}]",":ciders]",":ciders}]",":coerc",":compil",":conflict",":data",":data))))",":duo",":duo)))",":duo55]",":duo71]",":dynam",":dynamic,",":expand",":get})",":ihminen]])}]])}]]))",":kerran",":lager]",":lager]])))",":makkara]",":name",":napue]",":napue}]",":olipa",":olut]",":path",":ping]",":refer",":request",":result",":router",":router)]",":saison]",":saison]])",":user/bar}]",":user/bar}]]",":user/baz}]]",":user/foo}]",":user/route1}]",":user/route2}]",":user/route3}]]",";",";#match{:templ",";[#reitit.core.match{:templ",";[:beer/sahti]",";[[\"/foo\"",";[[\"/gin/napue\"",";[[\"/route1\"",";compilerexcept",";{:lookup",">",">>","@router","@router)","[\"/bar/:id\"","[\"/baz/:id/:subid\"","[\"/beers\"","[\"/beers/*\"","[\"/beers/bock\"","[\"/beers/lager\"","[\"/beers/sahti\"","[\"/ciders/*\"","[\"/duo\"","[\"/dynamic/*\"","[\"/ihminen\"","[\"/kerran/*\"","[\"/makkara\"","[\"/olipa/*\"","[\"/route1\"","[\"/route2\"","[\"/route3\"","[\"lager\"","[&","[(str","[:beer","[:dynam","[:napue]","[:olipa","[[\"/:this/should/:fail\"","[[\"/avaruus\"","[[\"/baz/:id/:subid\"","[[\"/foo\"","[[\"/gin/napue\"","[[\"/lager\"","[[\"/olut\"","[[\"/ping\"","[[\"/saison\"","[]","[_]","[beer","[beers]","[context])","[match","[router","[submatch","[subpath","[subrout","above,","achiev","ad","add","against","ahead","allow","and/or","anyth","app","applied,","approach","around","atom:","avoided.","background,","beer","beer)","beer)])]","beers)))","beers:","beers]","below","benchmark","better","both","can't","cases,","cases.","catch","chains.","chang","changed.","changed:","choise.","clojure.lang.exceptioninfo:","clojure.lang.ideref","compar","compil","compojur","compojure.","compojure:","compos","conflict","constant","contain","core","correctly?","cost.","creat","created,","creation","data","data,","data:","database.","deepli","didn't","disabled,","doesn't","don't","driven","dynam","each","effect","embed","entri","exampl","expected:","expos","extra","faster.","faster?","first,","fulli","function","gave","generation,","have","helper","here'","hook","immut","immutat","implement","includ","index","insert","instead","int","interceptor","invalid","it'","it:","key","key,","key.","let'","level","level,","lookup","lookups:","magnitud","make","match","match)","match))))","match,","matches.","matches:","mayb","merg","method","middlewar","modifi","more","much","multipl","name","need","nest","nester","nesting/composition.","new","nil","nil)))","non","normal","not...","now","ns","on","onc","one:","ones,","option","option.","options.","options:","order","origin","over","param","parameter.","path","path)","path)]","path.","path:","path]","paths:","perform","performance.","previou","protocol","queri","quick","r/option","r/options.","r/rout","r])","re","recreat","recurs","recursive,","refer","references:","reitit","reitit.core/merg","request.","request:","reset","resolution:","resolv","return","ring","root","rout","route.","route:","router","router!","router)","router)))","router,","router2","router2)","router:","routers))","routers))))","routers,","routers.","routers:","routers?","routers]","router}]","router}]]))","routes)","routes,","routes.","routes:","routes]","routing,","rule","saison!?","second,","see","separ","slower","slower,","slowest","small","so,","specs,","static","static.","str])","submatch)))","subpath)]","subrout","subrouters.","such","support","sure.","swap","system","that,","that?","then,","this,","through","time","time)","time,","time.","todo","too.","top","tree","tree:","trivial","two","type","under","understand","updat","us","valid","vector","via","walk","wanted,","we'll","whole","work","works:","wrap","{:","{:name","{:uri","{}"],"advanced/different_routers.html":["'[reitit.cor","(def","(r/router","(requir","::ping]","::users]]","::users]]))",":a",":linear",":lookup",":mix",":quarantin",":router",":singl",":trie",";","[\"/api/:users\"","[[\"/ping\"","ask","base","catch","configur","conflict","conflicts.","contain","creat","descript","differ","expand","fast","faster","found.","function","hash","implement","implementation.","implementation:","inspect","lookup","manual","match","much","name","non","on","optim","option,","origin","out","overrid","paramet","path","pedest","protocol,","r/linear","r])","reitit","resolv","rout","route.","router","router)","router,","router:","routers.","routers:","router}))","routes.","search","see","select","set","sever","ship","slow,","start","static","string","suitabl","super","table.","top","trees.","trie","two","until","us","valid","wildcard","work","{:router"],"advanced/route_validation.html":["\"/\"))","\"/\")))","\"/\"))))","\"0.4.0\"]","\"tenant1\"","#'reitit.core/rout","%","%)","'[clojure.spec.alpha","'[clojure.spec.test.alpha","'[expound.alpha","'[reitit.cor","'[reitit.spec","'[reitit.spec])","(*","(?","([\"/api\"","([...","(and","(blank?","(cat","(clojure.core/fn","(clojure.core/or","(clojure.spec.alpha/*","(clojure.spec.alpha/?","(clojure.spec.alpha/and","(clojure.spec.alpha/cat","(clojure.spec.alpha/col","(clojure.spec.alpha/nil","(clojure.spec.alpha/or","(clojure.string/blank?","(clojure.string/start","(def","(fn","(nilabl","(or","(r/router","(requir","(s/explain","(s/valid?","(set!","(start","(stest/instru","...","...])","2","::spec/raw","::tenant1])",":a",":arg",":child",":clojure.spec.alpha/spec",":clojure.spec.alpha/valu",":dev",":into",":path",":path]",":reitit.spec/arg)",":reitit.spec/path",":reitit.spec/path:",":reitit.spec/raw",":rout",":user/tenant1",":user/tenant1]",";","[\"/api\"","[\"/ping\"]","[\"/public\"","[\"pong\"]]])","[\"tenant1\"","[%]","[...","[0]","[1]","[:rout","[:routes]","[]))","[expound","^^^^^^","`reitit/router)","add","argument","at:","bootstrapping:","call","clojure.core/string?","clojure.lang.exceptioninfo:","clojure.spec","compilerexcept","conform","contain","db","db)","definit","depend","detect","develop","error","exampl","expound","expound/printer)","expound])","fail","fals","first","function","go:","higher","in:","instrument","namespac","options.","out*","predicate:","pretti","print","problems.","r])","raw","readi","reitit.core/rout","reitit.spec","relev","rout","route))))","route:","router","routes,","routes:","s/*explain","s])","satisfi","spec","spec:","spec])","stest])","time","to:","tool","us","val:","valid","with?"],"advanced/dev_workflow.html":["!","\"/api/ns2/more/bar\")","\"/api/ns2/more/bar\",","\"/api/ns2/more/bar\"}","#(r/router","'[ns1])","'[ns2])","'[reitit.cor","(:requir","(constantli","(def","(defn","(n","(ns1/routes)]])","(ns2/routes)]","(r/match","(r/router","(requir","(router)","(routes)))","(routes))))",":","::bar","::bar])","::ping]","::ping]])",":a",":data",":ns1/bar",":ns1/bar},",":path",":result",";#reitit.core.match{:templ",";;",";[\"/bar\"",";the","?","[\"/api\"","[\"/bar\"","[\"/more\"","[\"/ns2\"","[\"/ping\"","[[\"/ping\"","[]","[reitit.cor","again","alway","appli","applic","astut","bit","call","chang","consid","contrari","correct,","crude","dev","dev,","developement,","developement.","differ","dure","dynam","easi","exampl","expect","fast","fix","frankli","full","function","function.","functions.","goal","goe","hit","inde","invocation.","it,","iterations.","let'","mani","match","multipl","name","name]","name])","namespac","namespace,","namespace.","namespaces.","name},","need","new","nil,","notic","now","ns1","ns1)","ns1,","ns1/rout","ns1/routes]])","ns2)","ns2/routes]","ns3)","ns3.","on","onc","order","param","pass","path","perform","possible,","practic","problem","prod","product","production.","queri","quit","r])","r]))","reader","recompil","reitit,","reitit.","reload","replac","requir","result","rout","router","routers,","routes))","sampl","see","slower","small","solut","span","still","sun.","that'","time.","top","tree","tree,","two","under","us","var","want","way","we'll","we'r","whole","without","workflow","worklfow","{:name","{},"],"advanced/shared_routes.html":["\"/kikka\"","\"/kikka\"}","\"/kikka\"})","\"bar\"})","\"get\"})","\"post\"}","\"post\"})","#?(:clj","#?@(:clj","&","'[reitit.cor","'[reitit.r","(app","(assoc","(declar","(def","(defn","(fn","(if","(in","(keyword?","(mi","(r/expand","(r/match","(r/router","(requir","(ring/r","(ring/rout","(some",".cljc","200,","::bar","::bar]]","::bar]])","::kikka","::kikka)","::kikka]",":a",":bodi",":data",":expand",":handler",":name",":path",":post",":post,",":result",":uri",":user/kikka}",";",";#match{:templ",";;",">","[\"/bar\"","[\"/kikka\"","[:get","[:post","[[\"/kikka\"","[_]","[data","[registry]","app","application,","argument,","backend","backend,","bar","bar})})))","both","both,","clojur","clojurescript,","clojurescript:","common","condit","core","custom","data","data)","data))","default","defin","enabl","expand","file):","files.","first,","frontend","frontend,","function","function.","get","given","handler","kikka","kikka))","kikka}","kikka}])","kikka}])}])","method","multimethod.","multipl","name","need","nil","non","on","option","opts)","opts))))","opts]","param","post","processing,","r])","raw","reader","registri","reitit","reitit.core.rout","reitit.core/expand","request","revers","ring])","rout","router","routes))","routes:","routing.","sequenti","share","tabl","table.","those","us","work","{::kikka","{:expand","{:get","{:handler","{:name","{:request","{:statu"],"performance.html":["\"/auth/login\")))","\"/ping\"})))","\"/workspace/1/1\")))","\"ok\"})])","'[criterium.cor","'[reitit.cor","'[reitit.r","(30x","(a","(app","(ataraxy,","(cc/quick","(constantli","(creat","(def","(defn","(dotim","(let","(matches,","(micro","(or","(per","(r/match","(r/router","(real","(requir","(ring/creat","(ring/r","(ring/rout","(static","(wildcard","(with",")benchmark","/api/command/add","1","100","1000)","1000):","1000]","110x","115","130n","16","18","2,5","200,","256","3.2","300","312m","4","50%","50+","500x","6","8.7m","80n",":",":a",":auth/login]",":auth/recovery]",":bodi",":get,",":inject",":lookup",":mix",":request",":segment",":uri",":workspace/page]]))",";;",">","[\"/auth/recovery/token/:token\"","[\"/ping\"","[\"/workspace/:project/:page\"","[[\"/auth/login\"","[_","[app","[options]","`lein","above).","abstract","accur","actual","against.","algorithms,","also,","alway","anoth","api","ataraxi","average,","awesome.","base","baselin","bench","benchmark.","best","better","better,","between","bide","bidi,","both","box","busi","but,","cach","cache:","calfpath","can't","card","case,","case.","cc])","chosen","ci","code","compil","compojur","comput","conflict","contain","core","core):","cores:","cqr","creat","creation","data.","default","default,","definit","definitions.","degrade.","depends.","describ","differ","do","don't","dynam","e.g.","effect","enabl","ensur","environment.","error.","errors.","even","exampl","execut","extensions.","fail","fallback","false,","false.","false})]","fast","fast.","faster","faster!","fastest","featur","few","first","flatten","follow","found","function","gb","ghz","go","go.","handl","handler","handler)","handler.","have","help","here.","hierarchi","http","hw","i7","idea","identifier:","immut","implementation.","indic","infinit","inject","inlin","intel","interceptor","interceptor)","interceptors,","intern","invok","it'","java","jvm","kb","kinda","know.","l2","l3","larg","large!","less","lib","librari","libs.","life","life)","life,","linearrouter,","look","lookup","lot","lot.","lupapiste.","macbook","macbookpro11,3","magnitud","magnitude.","manag","map","match","match?","matter","matter?","mb","mean","measur","measure?","memory:","method","mid","middlewar","middleware,","mix","model","modif","more","mount","move","much","multimethod","multipl","mutabl","name:","nano","need","new","nice","nil)]","non","not.","notabl","note:","nothing.","ns","number","ok","on","opensensor","ops/sec","optim","option","options))","order","order.","out","over","paramet","parameters.","path","path)","path.","pedest","pedestal).","perf","perform","performance,","performance.","performance:","pleas","poke","possibl","precompute/compil","prefix","present.","pro","process","processor","processors:","proof","protocol","pull","quick","quit","r])","radix","rational","re","readme:","real","realistic.","realli","really,","record","regress","reitit","reitit.http/r","reitit.http/rout","reitit.ring/r","remov","repl","repl`","repo","request","request.","rest","rest(ish)","result","revers","ring","ring])","rout","router","router,","router:","router?","routers.","routes,","run","same","sampl","save","scenario","scientif","second","serv","set","sets)","setup:","shine","simpl","site","size","slower","slowest","small","snappi","so,","someth","speed:","stabl","start","static","static,","still","style","swagger","tabl","take","taken","ten","test","test).","test,","tests,","thank","thing","three","time","time,","tip","todo","total","tree","tree),","tree,","tree.","trees,","tri","trie","trust","two","unmount","us","usual","view","want","welcome!","well,","wild","wildcard","wildcard,","without","work","write","{:inject","{:request","{:statu","µs","µs."],"development.html":["\"1.0.0\"","#","./scripts/lein","./scripts/set","./scripts/test.sh","break","build","built","bump","chang","changes!","clean,","cli","clj","clojar","deploy","develop","document","g","gitbook","gitbook.","includ","instal","instruct","lein","level","locally:","modul","never","new","npm","patch","preview","promise:","rememb","run","serv","test","up","us","version","version:","versioning.","work"],"faq.html":["\"/\"","\"/api\"","\"/users/:id\"","#reitit","&","(","(clojure)","(context","(def","(defrout","(fn","(get","(human","(ok","(reitit","(simple)","(wrap","30",":","::ping]","::ping}]",":auth/login]",":auth/recovery]",":bodi",":get",":handler",":id))))}",":name",":page",":rout",":secure]]}",":token]",":workspace/page]])",":workspace/page]]]]])",";;",">","[\"/\"","[\"/api\"","[\"/api/ping\"","[\"/auth/recovery/token/:token\"","[\"/pizza\"","[\"/users/:id\"","[\"/workspace/:project","[\"workspace/\"","[[\"/auth/login\"","[[\"auth/login\"","[[\"auth/recovery/token/\"","[[[:project","[[wrap","[]","[id","[parameters]}]","[wrap","[{:key","ad","algorithm.","allow","alreadi","anoth","api","appli","apps,","argument","ask","awesome.","base","behav","best","bi","bidi","bidi.","bidi:","bidi?","both","busi","channel","class","clojur","clojure,","clojure.","clojurescript","clojurescript.","clojurian","coercion.","compil","compojur","compojure,","compojure.","compojure:","compojure?","compos","conflict","contribute?","core","data","data,","debug.","destructur","differ","differences:","differently,","direct","discuss","dispatch","driven","driven,","dynam","easi","effect","enough","exist","expos","extensions.","extra","faq","fast.","faster","featur","felt","first","frequent","frontend","full","fun","function","goal","good","great","guard","hacki","handler}]]])","hard","here","http","ident","identity,","influenc","int?}}}","interceptor","issues.","it'","it.","join","keyword","known","lib","librari","library?","log]","machin","macro","main","make","mani","map","maps.","margin","match","micro","mid","middlewar","missing:","mix","modul","module:","mostli","much","multipl","name","need","none","on","optim","order","origin","overal","param","paramet","part","path","pattern","pedest","pedestal,","pedestal:","pedestal?","perfect.","perform","performance.","pizza","pluggabl","post","process","projects.","proven","provid","question","readabl","readable)","realli","really,","reitit","reitit,","reitit.","reitit:","relat","represent","representation.","request.","resolut","resolv","ring","roadmap","rout","router","routes,","same","same.","seconds,","separ","ship","similar","slack","so,","source:","spec","special","specs,","speed","static","still","string","sub","support","syntax","syntax,","syntax.","syntax:","tabl","take","taken","target","terse,","thank","things.","thu","thus,","time","too).","took","tree","trickeri","trivial","us","user","uuid","uuid\"","uuid/:pag","uuid]","verbose.","wildcard","work","works,","written","{:get","{:id","{:middlewar","{:paramet","{:path","{:post"]},"length":44},"tokenStore":{"root":{"0":{"3":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}},"8":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}},"docs":{},".":{"3":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"docs":{}}},"docs":{},".":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"]":{"docs":{},"}":{"docs":{},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}},"x":{"1":{"5":{"docs":{},"b":{"5":{"9":{"docs":{},"b":{"0":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.012474012474012475}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"7":{"4":{"6":{"1":{"7":{"4":{"4":{"docs":{},"b":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},"1":{"0":{"0":{"0":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}},"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},")":{"docs":{},"]":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},")":{"docs":{},")":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"docs":{},")":{"docs":{},"]":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"1":{"0":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"1":{"docs":{},"}":{"docs":{},"}":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}},"5":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"2":{"0":{"0":{"0":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"docs":{}},"3":{"docs":{},"}":{"docs":{},"}":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"]":{"docs":{},"}":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"docs":{}},"3":{"0":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{}},"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},":":{"5":{"9":{"docs":{},":":{"5":{"4":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"8":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"8":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.013761467889908258}}}},"]":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415}},"}":{"docs":{},"}":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}},"]":{"docs":{},"}":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}},"2":{"0":{"0":{"0":{"0":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},",":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.034220532319391636},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"1":{"8":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},"docs":{}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}},"1":{"1":{"6":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"docs":{}},"docs":{}},"2":{"5":{"1":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"docs":{}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},"3":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"5":{"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{}},"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"}":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415}}}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"]":{"docs":{},"}":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}},"\"":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},",":{"5":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{}}},"3":{"0":{"0":{"0":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"8":{"docs":{},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463}}}},"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"}":{"docs":{},"}":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"1":{"2":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{}},"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},"]":{"docs":{},"]":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415}}},"}":{"docs":{},"}":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"]":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}},".":{"2":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{}}},"4":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},"3":{"docs":{},",":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},"4":{"docs":{},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.022222222222222223},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}},"5":{"docs":{},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334}}}},"6":{"docs":{},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334}}}},"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"4":{"0":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"5":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{},"%":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"+":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"6":{"0":{"0":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"8":{"0":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},".":{"7":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{}}},"docs":{},"\"":{"0":{"docs":{},".":{"3":{"docs":{},".":{"1":{"docs":{},"\"":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"docs":{}}},"5":{"docs":{},".":{"5":{"docs":{},"\"":{"docs":{},"]":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}}}},"docs":{}}},"docs":{}}},"1":{"2":{"3":{"docs":{},"\"":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"]":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}},"}":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965}}}}}}},"docs":{}},"docs":{},"\"":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"}":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505}}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}},".":{"0":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}},"docs":{}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"docs":{}}},"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.004878048780487805}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"}":{"docs":{},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"\"":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"2":{"docs":{},"\"":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.004878048780487805}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"}":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"3":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628}}}},"docs":{}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"1":{"docs":{},"\"":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.013761467889908258}},")":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}}},"s":{"2":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}},"}":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}}}}}}}}}}}},"docs":{}}}},"\"":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}}}}}},"l":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}},")":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},")":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778}},")":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0076045627376425855}}}}},"/":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171}}}}},"/":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.011406844106463879}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"u":{"docs":{},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"1":{"2":{"3":{"docs":{},"\"":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"}":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}},"docs":{}},"docs":{}},"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"}":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}},"/":{"0":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"1":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"2":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"3":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"4":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"5":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"6":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"7":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"8":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"9":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}}}}}}}}},"*":{"docs":{},"\"":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"/":{"docs":{},"k":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"/":{"docs":{},"k":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"o":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"\"":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"d":{"docs":{},"k":{"docs":{},"a":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"1":{"docs":{},"/":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"\"":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"]":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"m":{"docs":{},"ö":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.01060070671378092},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"]":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"\"":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}}}},"\"":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.02666666666666667},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}},")":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}},"]":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}},"]":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171}}}}}}},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}}}}}},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"\"":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"$":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"@":{"1":{"5":{"docs":{},"b":{"5":{"9":{"docs":{},"b":{"0":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"]":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}}},"}":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"_":{"2":{"1":{"2":{"4":{"docs":{},"@":{"7":{"4":{"6":{"1":{"7":{"4":{"4":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"]":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"]":{"docs":{},"}":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"1":{"docs":{},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"docs":{}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"k":{"docs":{},"o":{"docs":{},"s":{"docs":{},"h":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}}}}}}}}},"u":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"/":{"docs":{},"k":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}},")":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"}":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"\"":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}},"c":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},")":{"docs":{},")":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"e":{"docs":{},"t":{"docs":{},"\"":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},"}":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"u":{"docs":{},"o":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"n":{"docs":{},"y":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"y":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"\"":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.018867924528301886}},"]":{"docs":{},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"#":{"docs":{"development.html":{"ref":"development.html","tf":0.046153846153846156}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.012195121951219513},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.013761467889908258},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"{":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"[":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"$":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"_":{"2":{"4":{"3":{"5":{"9":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.016877637130801686},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}},"}":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"$":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.012474012474012475}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"_":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"_":{"2":{"1":{"2":{"4":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"$":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"]":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"$":{"docs":{},"]":{"docs":{},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"}":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008316008316008316},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}},"z":{"docs":{},"}":{"docs":{},"}":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}},":":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"}":{"docs":{},"}":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}}}}}},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"{":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"{":{"docs":{},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"{":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}}}}}}}}}}}}},"'":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}},"?":{"docs":{},"(":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}},"@":{"docs":{},"(":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}}}}},"&":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"'":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"[":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"]":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"]":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}}}}}},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"e":{"docs":{},"p":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},"t":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}}}}},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"1":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257}}}}},"2":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"docs":{}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"e":{"docs":{},"m":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"(":{"3":{"0":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{}},"4":{"0":{"4":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}},"i":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}},"a":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"p":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.044444444444444446},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.034220532319391636},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"l":{"docs":{},"i":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},"n":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"l":{"docs":{},"l":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"s":{"docs":{},"o":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}}},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"d":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},")":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"a":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}},"*":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.012285012285012284}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}}}},"o":{"docs":{},"r":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"k":{"docs":{},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"?":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}},"f":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"o":{"docs":{},"r":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"q":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"e":{"docs":{},"!":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}},",":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}},"r":{"docs":{},"e":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{},":":{"4":{"7":{"3":{"9":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"j":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.02666666666666667},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.034220532319391636},"ring/static.html":{"ref":"ring/static.html","tf":0.018433179723502304},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}},"m":{"docs":{},"p":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}},"c":{"docs":{},"/":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.006211180124223602}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/router.html":{"ref":"basics/router.html","tf":0.012658227848101266},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.008680555555555556},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0189873417721519},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0062047569803516025},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.008704061895551257},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"n":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.006769825918762089},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.03571428571428571}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585}}}},"e":{"docs":{},"f":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}},"f":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.020151133501259445},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},"/":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}},"u":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.02195121951219512},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.024691358024691357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.05045871559633028},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.01060070671378092},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}},"t":{"docs":{},"h":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.016877637130801686},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.006769825918762089}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.012658227848101266},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.011389521640091117},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008316008316008316},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.012572533849129593},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008316008316008316},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0176678445229682},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0215633423180593},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0234375},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.010680907877169559},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.012658227848101266},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.01606425702811245},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.0171990171990172},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.027989821882951654},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}},"e":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"!":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},"r":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016877637130801686},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.022813688212927757},"ring/static.html":{"ref":"ring/static.html","tf":0.018433179723502304},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016877637130801686},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.027649769585253458},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843}},"e":{"docs":{},"r":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"f":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"!":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}},"t":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"/":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.026954177897574125},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}},"e":{"docs":{},"e":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"q":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"?":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}},"!":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"v":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}}}}}}}}},"p":{"docs":{},"!":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},"u":{"docs":{},"b":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}},"*":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}},"[":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.022900763358778626}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.008704061895551257}}}}},"o":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"e":{"docs":{},":":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}},"s":{"1":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}}}}},"2":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}}}}}}},"docs":{}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"p":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},"v":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"y":{"docs":{},"b":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"i":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}},"r":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}},"f":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"k":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"v":{"docs":{},"i":{"docs":{},"a":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.02109704641350211},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},"e":{"docs":{},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"/":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.012594458438287154}}}}}}}}}}}}}}}},"#":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"{":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856}}},"{":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}},"i":{"docs":{},"k":{"docs":{},"e":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"s":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"p":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}}}},"e":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},"]":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796}}}}}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.004658385093167702}}}}},"i":{"docs":{},"f":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"n":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968}},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},")":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}}}}}}}}}}}}},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}}},"n":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"+":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"o":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}},"\"":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},"?":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}},"=":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"k":{"docs":{},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}},":":{"1":{"2":{"3":{"docs":{},"}":{"docs":{},"]":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}}}}},"docs":{}},"docs":{}},"3":{"0":{"0":{"0":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.014634146341463415}}}}}},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01366742596810934},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.007317073170731708}},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467}},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}}}}},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}},"s":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}},"l":{"docs":{},"u":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"s":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},"p":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893}},"]":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}}},"c":{"docs":{},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}},"d":{"docs":{},"b":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}},"s":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}},")":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"]":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467}}},"}":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}},"k":{"docs":{},"u":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"?":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.010395010395010396},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.023206751054852322}},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"1":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"2":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"3":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"docs":{}}}}},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}}},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"m":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965}}},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585}}}}}},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585}}},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"o":{"docs":{},"o":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"1":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"docs":{}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"]":{"docs":{},"]":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}},"z":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"a":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008316008316008316},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.012367491166077738},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.024193548387096774},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.018867924528301886},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.010680907877169559},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011780104712041885},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.014767932489451477},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.017580144777662874},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.01606425702811245},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"z":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}},"d":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}},")":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}}}},"p":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.022222222222222223}},"]":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},")":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"r":{"docs":{},"g":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0234375},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.06222222222222222},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.057034220532319393},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.03225806451612903},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.009345794392523364},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.024869109947643978},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010548523206751054},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.01344364012409514},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"y":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"n":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}},"s":{"1":{"0":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}},"docs":{}},"docs":{}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"/":{"docs":{},"b":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.014634146341463415},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.005802707930367505},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},"b":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},"]":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843}},"e":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444}}},"]":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}},"]":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}}}}},"}":{"docs":{},"}":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}},"v":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"u":{"docs":{},"o":{"5":{"5":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"7":{"1":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},"i":{"docs":{},"c":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.014767932489451477},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.027777777777777776},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.02666666666666667},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},")":{"docs":{},"]":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}},"}":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007238883143743537},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},")":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}},"]":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.022813688212927757},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"r":{"docs":{},"e":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}},"x":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"]":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.015945330296127564},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},"p":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"]":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}},"o":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"s":{"1":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}},"}":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}}}}}},"docs":{}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.026829268292682926},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.024691358024691357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.03211009174311927},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.015901060070671377},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.007736943907156673},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"c":{"docs":{},"h":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.015901060070671377},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0062047569803516025},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"}":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"u":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}}}},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}},"s":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.016172506738544475}},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.022222222222222223}},")":{"docs":{},"]":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.014634146341463415},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.010395010395010396}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.0171990171990172}},":":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.04176904176904177}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"e":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"r":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.013539651837524178},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},")":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}}}},"o":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.035555555555555556},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.022968197879858657},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"d":{"docs":{},"b":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},"u":{"docs":{},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},"s":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}},"}":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505}},"]":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843}}}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.012474012474012475}},"e":{"docs":{},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},"]":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"1":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"2":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"3":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"docs":{}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"o":{"docs":{},"o":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},"z":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"1":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"docs":{}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"]":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},"e":{"docs":{},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.014134275618374558},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"i":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"a":{"docs":{},"v":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013089005235602094}}},"y":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}},"i":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}},"u":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}},"i":{"docs":{},"a":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}}}}},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"t":{"docs":{},"o":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}},"a":{"docs":{},"l":{"docs":{},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}},"d":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"]":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},")":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"}":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},")":{"docs":{},"}":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"h":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.008680555555555556}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}}}},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}},"k":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}},"u":{"docs":{},"t":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.014553014553014554},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}},"k":{"docs":{},"u":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}},"o":{"docs":{},"p":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}}}}}},"e":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"i":{"docs":{},"g":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"i":{"docs":{},"e":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628}}}}},"a":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"?":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"y":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}},"x":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}},"z":{"docs":{},")":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},")":{"docs":{},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.09024390243902439},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.01532567049808429},"basics/router.html":{"ref":"basics/router.html","tf":0.04219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.07407407407407407},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.11467889908256881},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.05694760820045558},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.12681912681912683},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.15463917525773196},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0636042402826855},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.08064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.04043126684636118},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.03819444444444445},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0859375},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.044444444444444446},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.04182509505703422},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.010680907877169559},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.049738219895287955},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.01606425702811245},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.05415860735009671},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.2727272727272727},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.021551724137931036}},";":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.050314465408805034},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.027950310559006212},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}}},"#":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"1":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}}}}}}}}},"#":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"b":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"\"":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}},"|":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005}}},"{":{"docs":{},":":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"=":{"docs":{},">":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.03333333333333333}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.03333333333333333}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}},">":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.05154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013089005235602094},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}},")":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},",":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}}}},">":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"[":{"0":{"docs":{},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"1":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"3":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},"docs":{},"\"":{"docs":{},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"/":{"docs":{},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}}}},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}},"p":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008316008316008316},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.012658227848101266},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}}}},":":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.011389521640091117}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"/":{"docs":{},":":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"z":{"docs":{},"z":{"docs":{},"a":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"/":{"docs":{},"\"":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"*":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}},"{":{"docs":{},"*":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"}":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}},"\"":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"/":{"docs":{},":":{"docs":{},"z":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}}},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"/":{"docs":{},":":{"docs":{},"u":{"docs":{},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}},"{":{"docs":{},"u":{"docs":{},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"u":{"docs":{},"o":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218}}}}},"{":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},".":{"docs":{},"{":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}}}}}}}}},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"u":{"docs":{},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"l":{"docs":{},"k":{"docs":{},"/":{"docs":{},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"l":{"docs":{},"k":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}}},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}}}}}}},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}},"z":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},":":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"b":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"s":{"docs":{},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"\"":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"*":{"docs":{},"\"":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}}}}}}},"h":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}},"s":{"2":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}},"docs":{}}},"c":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"\"":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"1":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"2":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"3":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"docs":{}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"/":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"{":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"}":{"docs":{},".":{"docs":{},"{":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"}":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"1":{"docs":{},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"docs":{}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}},"[":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}}}}}}}}}}}}}},":":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},"{":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}},"\"":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"u":{"docs":{},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"{":{"docs":{},"u":{"docs":{},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},":":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},":":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"z":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},":":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"\"":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"{":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},".":{"docs":{},"{":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"}":{"docs":{},".":{"docs":{},"{":{"docs":{},"*":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"}":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"/":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}}}}}}}}}}},"#":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"[":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"$":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.02926829268292683},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},":":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}},"m":{"docs":{},"w":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}},"[":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}},"_":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"]":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"e":{"docs":{},"]":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}}}}}}}}},"u":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}}}}}},"i":{"docs":{},"r":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},"]":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"d":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"]":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}}}}},":":{"docs":{},":":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"]":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},"p":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}}},"c":{"docs":{},"c":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}}}}},"d":{"docs":{},"b":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}}}}},"k":{"docs":{},"u":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"m":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"]":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},"}":{"docs":{},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"t":{"docs":{},"h":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"s":{"docs":{},"k":{"docs":{},"u":{"docs":{},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}},"s":{"1":{"0":{"docs":{},"]":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}},"docs":{}},"docs":{}}}}},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"]":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"i":{"docs":{},"d":{"docs":{},"]":{"docs":{},"}":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}},"d":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}}},"p":{"docs":{},"p":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"i":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},")":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}}}},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}},"]":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}},"}":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.012658227848101266}},"s":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.016877637130801686}}}}}}},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"m":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},"%":{"docs":{},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}}},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"]":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}},"t":{"docs":{},"x":{"docs":{},"]":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"{":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.03234501347708895}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"e":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}},"{":{"docs":{},"{":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}}},"#":{"docs":{},"(":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"\\":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\\":{"docs":{},"\"":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"s":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"]":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}}},"i":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.02390438247011952}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.02109704641350211}}}}}},";":{"docs":{},";":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}},"e":{"docs":{},"w":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}},"&":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}},"a":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.008704061895551257},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"i":{"docs":{},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},":":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}},"p":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/ring.html":{"ref":"ring/ring.html","tf":0.012152777777777778},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0189873417721519},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.044444444444444446},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"l":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"y":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}},"u":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467}}}}},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"s":{"docs":{},"s":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"h":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"n":{"docs":{},"y":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}}},"a":{"docs":{},"y":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}},"t":{"docs":{},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}},"n":{"docs":{},"y":{"docs":{},"m":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"r":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}},"s":{"docs":{},"*":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}}}},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.03526448362720403}}}}}}},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"s":{"docs":{},"o":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}}}}},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}},"o":{"docs":{},"m":{"docs":{},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"g":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"s":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}}}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"i":{"docs":{},"l":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.022222222222222223}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}},"k":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"t":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"w":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":3.3580246913580245},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":3.3379204892966357},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"i":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"frontend/basics.html":{"ref":"frontend/basics.html","tf":10.01}}}}},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"c":{"docs":{},"k":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"d":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"d":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.01694915254237288}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"development.html":{"ref":"development.html","tf":0.015384615384615385}}},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}},"t":{"docs":{},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}}}}}},"s":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"m":{"docs":{},"p":{"docs":{"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218}},"s":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.03},"frontend/browser.html":{"ref":"frontend/browser.html","tf":5.036231884057971}}}}}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}}},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}},"a":{"docs":{},"v":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.006769825918762089}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{},")":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},".":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}},"n":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}},"s":{"docs":{},",":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}}}}}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}},"d":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},")":{"docs":{"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":10.008086253369273},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}}}}}}}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"s":{"docs":{},".":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"n":{"docs":{},"?":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}},"e":{"docs":{},"x":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},":":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}}}}}}},",":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"a":{"docs":{},"r":{"docs":{"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"i":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}},"j":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"development.html":{"ref":"development.html","tf":0.03076923076923077}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},",":{"docs":{"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}}}},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":5.035335689045937},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.016172506738544475},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/coercion.html":{"ref":"ring/coercion.html","tf":5.031413612565445},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.026392961876832845},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02}},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},":":{"docs":{"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625}}}}}},"e":{"docs":{},"!":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.024193548387096774},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0234375}}},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02346041055718475},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},"s":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}},"d":{"docs":{},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.014134275618374558},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.016722408026755852},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":5.0146627565982405},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}},"r":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158}},"(":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{},"c":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{},"c":{"docs":{},":":{"1":{"5":{"1":{"docs":{},":":{"1":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":5.003868471953578},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"i":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"e":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}},"a":{"docs":{},"r":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}}},"u":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"e":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":5.061855670103093},"ring/static.html":{"ref":"ring/static.html","tf":0.018433179723502304},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927}}},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.017857142857143},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}},"j":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.012016021361815754},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}},"x":{"docs":{},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968}},".":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"e":{"docs":{},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}},"o":{"docs":{},"l":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":10.083123425692696}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}},"c":{"docs":{},"i":{"docs":{},"d":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.03},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},",":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}}},")":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"s":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"?":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"d":{"docs":{},"e":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},":":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}},"s":{"docs":{},"t":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.005802707930367505},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"u":{"docs":{},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"s":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}},"s":{"docs":{},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"p":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"l":{"docs":{},"l":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.027707808564231738},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}},"s":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"f":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"c":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"r":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}},"n":{"docs":{},"g":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"development.html":{"ref":"development.html","tf":0.015384615384615385}},"e":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"s":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"!":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}},"d":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"i":{"docs":{},"n":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":3.3479674796747965},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":3.3492695883134127}},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},"s":{"docs":{},".":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}},"o":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"q":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.016877637130801686},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.015463917525773196},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.014506769825918761},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862}}}}}},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}},"t":{"docs":{},"x":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},"}":{"docs":{},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"c":{"docs":{},"]":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":5.034168564920273},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.3499653499653497},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":5.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":3.350055741360089},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.010680907877169559},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.3502109704641345},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009307135470527405},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.026785714285714284},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862},"faq.html":{"ref":"faq.html","tf":0.012711864406779662}},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008316008316008316},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.012474012474012475},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"e":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}},"e":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":5.010178117048346}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"development.html":{"ref":"development.html","tf":5.015384615384615}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.01060070671378092},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013089005235602094},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010548523206751054},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"i":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":5.022222222222222},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.011406844106463879},"ring/static.html":{"ref":"ring/static.html","tf":0.03686635944700461},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":5.005340453938585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0062047569803516025},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.020080321285140562},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":5.066666666666666},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"s":{"docs":{},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}},")":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},".":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"s":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"s":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}},"b":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"i":{"docs":{},"r":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}},"g":{"docs":{},"n":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},",":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.00801068090787717},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"i":{"docs":{},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}},"l":{"docs":{},"i":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"f":{"docs":{},"f":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968}},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":5.011494252873563},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.014830508474576272}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}},"s":{"docs":{},")":{"docs":{},":":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}},"d":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":3.3366778149386844},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":5.012903225806451},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.013539651837524178},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"o":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"n":{"docs":{},"e":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}},")":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"'":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.011389521640091117},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009307135470527405},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"s":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}},"}":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"development.html":{"ref":"development.html","tf":0.03076923076923077}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"w":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}},"e":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},"r":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"b":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},"x":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.00801068090787717},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007238883143743537},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.020080321285140562},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.044444444444444446},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"e":{"docs":{},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},":":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"c":{"docs":{},"t":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"s":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":5.019354838709678},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"r":{"docs":{},"n":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"r":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.03017241379310345}}},"s":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":5.001766784452297},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"]":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}},"s":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.03871829105473965},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.026785714285714284}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"\"":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941}}}}}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"l":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"c":{"docs":{},"h":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},",":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},".":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}},"s":{"docs":{},".":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},".":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.02109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"e":{"docs":{},"r":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"s":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},"i":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"'":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"b":{"docs":{},"e":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843}}}}}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"y":{"docs":{},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}},"d":{"docs":{},"n":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"e":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"s":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}},"r":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},"e":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.006211180124223602},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"?":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.004658385093167702}}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}},"i":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.010395010395010396},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.012285012285012284},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"s":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"l":{"docs":{},"s":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"e":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"q":{"docs":{"faq.html":{"ref":"faq.html","tf":10}}}},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"l":{"docs":{},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.03686635944700461},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},":":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}},"s":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"x":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.018867924528301886}},".":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"e":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}},"m":{"docs":{},"e":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}}},"n":{"docs":{},"k":{"docs":{},"l":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}},"u":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.008680555555555556},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.016722408026755852},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.03},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.0625},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.005802707930367505},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.017811704834605598},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},":":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},".":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"l":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}},"m":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":3.3459119496855343}},"a":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"s":{"docs":{},".":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},"e":{"docs":{},",":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"s":{"docs":{},".":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}},"w":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"l":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"n":{"docs":{},"?":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}},"m":{"docs":{},")":{"docs":{},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.010680907877169559},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.06666666666666667},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"ring/ring.html":{"ref":"ring/ring.html","tf":0.034722222222222224},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":5.04},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":5.0494296577946765},"ring/static.html":{"ref":"ring/static.html","tf":0.041474654377880185},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.02403204272363151},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011780104712041885},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0379746835443038},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.01344364012409514},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"]":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},"]":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},")":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}}}}}},"\"":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"]":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"]":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}},")":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}},"]":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"s":{"docs":{},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"/":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}},",":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"r":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"e":{"docs":{},"r":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"v":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"s":{"docs":{},"h":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921}}}}}},"r":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"'":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},"s":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}},"/":{"1":{"docs":{},".":{"1":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},"docs":{}}},"docs":{}},"i":{"docs":{},"e":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"2":{"0":{"1":{"8":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"r":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"9":{"docs":{},"c":{"docs":{},"s":{"docs":{},"m":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"w":{"docs":{},"h":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"3":{"0":{"0":{"0":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"m":{"docs":{},"l":{"5":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608}}},"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}},"g":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.03773584905660377}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.043478260869565216}}},"y":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"l":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"c":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"s":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"w":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"i":{"7":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.024734982332155476},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}},"}":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.004878048780487805}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}},"\"":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.022670025188916875},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},"}":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},")":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"f":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"f":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"a":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.04},"frontend/browser.html":{"ref":"frontend/browser.html","tf":5.0144927536231885}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":10.064705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.040160642570281124},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.022222222222222223},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":5.222222222222222},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":3.381142098273572},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}},"?":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}},",":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},":":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}}}}}}}},"n":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"t":{"docs":{"./":{"ref":"./","tf":10.002439024390243}}}}}}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}}}}}},"?":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}},"}":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"]":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},"e":{"docs":{},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}},"e":{"docs":{},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"l":{"docs":{"development.html":{"ref":"development.html","tf":0.06153846153846154}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"r":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"c":{"docs":{},"t":{"docs":{"development.html":{"ref":"development.html","tf":5.015384615384615}}}}}}},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"i":{"docs":{},"d":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"f":{"docs":{},"o":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"r":{"docs":{},"m":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008316008316008316},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},"s":{"docs":{},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"development.html":{"ref":"development.html","tf":0.015384615384615385}},"e":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"x":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}}},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"i":{"docs":{},"t":{"docs":{},"!":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}},"t":{"docs":{},"'":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}},"?":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"e":{"docs":{},"m":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.010075566750629723}}},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},":":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"a":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"}":{"docs":{},")":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"o":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},".":{"docs":{},"e":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}}}}}},"l":{"2":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"3":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}},"r":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"s":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}}},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}},"r":{"docs":{},"g":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}}},"y":{"docs":{},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}},"s":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"f":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"n":{"docs":{},"k":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"v":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.012152777777777778},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"development.html":{"ref":"development.html","tf":0.015384615384615385}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}},"t":{"docs":{},"'":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.007736943907156673},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}},"s":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"f":{"docs":{},"t":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"i":{"docs":{},"n":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}},"o":{"docs":{},"g":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},"i":{"docs":{},"c":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"]":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"o":{"docs":{},"k":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"u":{"docs":{},"p":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},"s":{"docs":{},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"a":{"docs":{},"d":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}},"e":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}},"l":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}}}},"n":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.04938271604938271},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02932551319648094},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.04},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.017632241813602016},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0183752417794971},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.006211180124223602},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"?":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},",":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"s":{"docs":{},".":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395}}},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"?":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"p":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"g":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}},"k":{"docs":{},"e":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"n":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}},"a":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"p":{"docs":{},"r":{"docs":{},"o":{"1":{"1":{"docs":{},",":{"3":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"y":{"docs":{},"b":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/ring.html":{"ref":"ring/ring.html","tf":0.029513888888888888},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.04},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":3.40251572327044},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"s":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"]":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}},"a":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}},"r":{"docs":{},"g":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.006769825918762089}},"e":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"d":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"e":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.004658385093167702}},"e":{"docs":{},"?":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"i":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.026041666666666668},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":3.413600891861761},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":3.3723577235772355},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":5.057268722466961},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":5.03871829105474},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.01832460732984293},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.029535864978902954},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":5.035190615835777},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.011375387797311272},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.03773584905660377},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"]":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"development.html":{"ref":"development.html","tf":0.046153846153846156},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"i":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"i":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"d":{"docs":{},"?":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}}}},"e":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"s":{"docs":{},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},",":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}},"r":{"docs":{},"e":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007238883143743537},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{},"\"":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"v":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"u":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.014634146341463415},"basics/router.html":{"ref":"basics/router.html","tf":0.03375527426160337},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":3.3792048929663605},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}},"s":{"docs":{},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"e":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"s":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}},"!":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},".":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"}":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"i":{"docs":{},"v":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.017632241813602016}}}}},"n":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.02195121951219512},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.024691358024691357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.011406844106463879},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.008704061895551257},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}},":":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},"}":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},".":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"]":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}},"}":{"docs":{},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"c":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.005802707930367505},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.012572533849129593}},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.007736943907156673},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"development.html":{"ref":"development.html","tf":0.015384615384615385}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.00801068090787717},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.044444444444444446}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"x":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}},"t":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}}}},"h":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"\"":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"i":{"docs":{},"c":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"w":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.022900763358778626}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}},"s":{"1":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}}}},"2":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}},"3":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"p":{"docs":{},"m":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.044642857142857144}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.055299539170506916},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.010341261633919338},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"s":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.02109704641350211}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},":":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}},"m":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"s":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}}},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.007763975155279503},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},")":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"n":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},"c":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"e":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"l":{"docs":{},"y":{"docs":{},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"e":{"docs":{},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"s":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},"a":{"docs":{},"l":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"f":{"docs":{},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}}},"u":{"docs":{},"t":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},":":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"*":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"k":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}},"l":{"docs":{},"d":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.014634146341463415},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.022935779816513763},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.017015706806282723},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.03773584905660377},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.022988505747126436},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.013761467889908258},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.012367491166077738},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.020942408376963352},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.03},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.020151133501259445},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"s":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},".":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"s":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"}":{"docs":{},"}":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"]":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}},",":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"p":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"s":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.04597701149425287},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":3.4320987654320985},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.030927835051546393},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0176678445229682},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.022243713733075435},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"performance.html":{"ref":"performance.html","tf":0.009316770186335404},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"s":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152}}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"]":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"c":{"docs":{},"h":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}},"g":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"s":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":10.040160642570282},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"faq.html":{"ref":"faq.html","tf":0.01694915254237288}},"a":{"docs":{},"l":{"docs":{},"'":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},"]":{"docs":{},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},":":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}},"r":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.010869565217391304}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":10.006211180124224},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}},"l":{"docs":{},"u":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"g":{"docs":{},"g":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":5.016129032258065},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}},"c":{"docs":{},"e":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"r":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"l":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}},"s":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"c":{"docs":{},"i":{"docs":{},"s":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}}},"m":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"e":{"docs":{},"w":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}}},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}},"e":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}}},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},"s":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"s":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}},"d":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}},"u":{"docs":{},"c":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},".":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},".":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}},"o":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"e":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},"!":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"s":{"docs":{},"h":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}},"s":{"docs":{},"h":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},"l":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"o":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"s":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"?":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"e":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"k":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669}}}},"z":{"docs":{},"z":{"docs":{},"a":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046}},"]":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"e":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.041463414634146344},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.028112449799196786},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.010869565217391304},"faq.html":{"ref":"faq.html","tf":0.05084745762711865}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},":":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"!":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"e":{"docs":{},"p":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"c":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}}},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"/":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"$":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"@":{"5":{"9":{"docs":{},"f":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"/":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.08888888888888889}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}},"y":{"docs":{},":":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}}}},"q":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.024390243902439025},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.025367156208277702},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.010471204188481676},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0062047569803516025},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.0440251572327044},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.044444444444444446},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047}},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},"}":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"]":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"}":{"docs":{},"]":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},",":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},":":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"v":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":5.050691244239632},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.010075566750629723}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.020026702269692925},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.04398826979472141},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}}},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},":":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}},"]":{"docs":{},"}":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"s":{"docs":{},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":3.3459119496855343},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"e":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":5.015625},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}}},")":{"docs":{},"}":{"docs":{},")":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.024691358024691357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}}}}},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},"i":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"e":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"l":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"y":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.020066889632107024},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"s":{"docs":{},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"g":{"docs":{},"n":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"l":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}},"e":{"docs":{},"v":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}}},"a":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"g":{"docs":{},"e":{"docs":{},"x":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":5.022026431718062},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"y":{"docs":{},",":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},":":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}},"?":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}},"p":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"a":{"docs":{},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"`":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.011406844106463879}}}}}}}},"u":{"docs":{},"s":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"e":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.012195121951219513},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":5.022569444444445},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0234375},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":5.00261780104712},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.022222222222222223},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}}},":":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},"/":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.02195121951219512},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":5.057471264367816},"basics/router.html":{"ref":"basics/router.html","tf":0.0759493670886076},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":3.3703703703703702},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":3.356269113149847},"basics/route_data.html":{"ref":"basics/route_data.html","tf":5.063781321184511},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.3665973665973663},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":5.061855670103093},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.019434628975265017},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":5.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.3502109704641345},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.03519061583577713},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.01964839710444674},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.024096385542168676},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.028985507246376812},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.030226700251889168},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.037717601547388784},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.04597701149425287},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":5.031941031941032},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.04834605597964377},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":5.0344827586206895},"performance.html":{"ref":"performance.html","tf":0.04503105590062112},"faq.html":{"ref":"faq.html","tf":0.07627118644067797}},"e":{"docs":{},"r":{"2":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{"./":{"ref":"./","tf":0.03414634146341464},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":10.050632911392405},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.04938271604938271},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.029612756264236904},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.041237113402061855},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.015901060070671377},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":5.013888888888889},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.028985507246376812},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.035714285714286},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":5.0638297872340425},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":5.1321839080459775},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.027989821882951654},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"performance.html":{"ref":"performance.html","tf":0.009316770186335404},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.02531645569620253},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},":":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"s":{"docs":{},".":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}}},"?":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},"?":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"!":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},")":{"docs":{},")":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}},"s":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436}}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},":":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},".":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},")":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}},"?":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}},"o":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"l":{"docs":{},"e":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},":":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"a":{"docs":{},"w":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"c":{"docs":{},"k":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"d":{"docs":{},"i":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"s":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"}":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"u":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"development.html":{"ref":"development.html","tf":0.015384615384615385}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"l":{"docs":{},"e":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"b":{"docs":{},"y":{"docs":{},"'":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}},"]":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"s":{"docs":{},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843}}}}}}}},"]":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"f":{"docs":{},"c":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"e":{"docs":{},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":5.016129032258065},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"y":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"]":{"docs":{},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},"s":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}},"r":{"docs":{},"v":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.03686635944700461},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"development.html":{"ref":"development.html","tf":0.015384615384615385}},"e":{"docs":{},"r":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},"]":{"docs":{},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"d":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"i":{"docs":{},"e":{"docs":{},"p":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":10.027777777777779}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}},".":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}},":":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"e":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}},"d":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"t":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"z":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}},"s":{"docs":{},"h":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":5.0418250950570345},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}},".":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"s":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.018711018711018712},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.029649595687331536},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":5.015625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016877637130801686},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.014477766287487074},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.012285012285012284},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}},"]":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"i":{"docs":{},"f":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"s":{"docs":{},")":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}},":":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}},"?":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"s":{"docs":{},"i":{"docs":{},"f":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}},"e":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"a":{"docs":{},"n":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.017632241813602016},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"\"":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},")":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{},"}":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":5.018433179723503},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"u":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"e":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"c":{"docs":{},"k":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}},"y":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"o":{"docs":{},"p":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.012594458438287154}},"\"":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"r":{"docs":{},"e":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}}}}},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395}}}},"?":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},",":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"p":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843}}}}}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"e":{"docs":{},"p":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"s":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"]":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.004136504653568},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.014830508474576272}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},":":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"b":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"i":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}},"n":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.056876938986556},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":5.007662835249042},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},",":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"c":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},".":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"p":{"docs":{},"l":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}},"f":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"!":{"docs":{},"?":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"v":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":5.012931034482759}}}},"p":{"docs":{},"e":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"i":{"docs":{},"p":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}},"n":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"}":{"docs":{},"]":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}},")":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"s":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"*":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}},"u":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}},"h":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"e":{"docs":{},"\"":{"docs":{},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"q":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},".":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},")":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"k":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"d":{"docs":{},"o":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}}},":":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"e":{"docs":{},"e":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.012658227848101266},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.012658227848101266},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"s":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},")":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":3.3430894308943087},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":3.3492695883134127}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"i":{"docs":{},"l":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.04182509505703422},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},"c":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"v":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"e":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"s":{"docs":{},"t":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"performance.html":{"ref":"performance.html","tf":0.020186335403726708},"development.html":{"ref":"development.html","tf":0.03076923076923077}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"?":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"'":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"n":{"docs":{},"k":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"/":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"e":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"e":{"docs":{},"m":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"e":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"n":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341}}}}}}},"s":{"docs":{},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}}},")":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"p":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"w":{"docs":{},"o":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"/":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"b":{"docs":{},"l":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.020682523267838676}},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}}}}}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.009345794392523364},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.029411764705882353},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.03},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.010075566750629723},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.03879310344827586},"performance.html":{"ref":"performance.html","tf":0.007763975155279503},"development.html":{"ref":"development.html","tf":0.015384615384615385},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},"e":{"docs":{},"r":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}}}}},"d":{"docs":{},".":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"a":{"docs":{},"g":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.008680555555555556},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}},"l":{"docs":{},"i":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"p":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"r":{"docs":{},"l":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"i":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"/":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"]":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"development.html":{"ref":"development.html","tf":0.03076923076923077}},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"development.html":{"ref":"development.html","tf":0.015384615384615385}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.3520443520443517},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.3459915611814344},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":5.002457002457002}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},",":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}},"u":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}},"]":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}}},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"i":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"i":{"docs":{},"a":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"e":{"docs":{},"w":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"s":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.02109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"}":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"performance.html":{"ref":"performance.html","tf":0.006211180124223602},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0076045627376425855},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"i":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}}}}},"a":{"docs":{},"y":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"l":{"docs":{},"k":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"r":{"docs":{},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"n":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}},"y":{"docs":{},"?":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"v":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"e":{"docs":{},"b":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"e":{"docs":{},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"l":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"d":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}},"'":{"docs":{},"l":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}},"s":{"docs":{},"g":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}},"r":{"docs":{},"k":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"development.html":{"ref":"development.html","tf":0.015384615384615385},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},":":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}},"s":{"docs":{},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":5.002544529262087}}}}}},"l":{"docs":{},"f":{"docs":{},"o":{"docs":{},"w":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}},"l":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"w":{"docs":{},"w":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"{":{"2":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}},"docs":{}},"docs":{}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.011375387797311272},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.02702702702702703},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0189873417721519},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}}}},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047}},"d":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.027522935779816515},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.022988505747126436},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.011389521640091117},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.02390438247011952}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"s":{"docs":{},"o":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.02926829268292683},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.01762114537444934},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010548523206751054},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.011406844106463879}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}}}},"u":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.012195121951219513},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/router.html":{"ref":"basics/router.html","tf":0.03375527426160337},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01366742596810934},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.012367491166077738},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.027079303675048357},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}},"o":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.035555555555555556},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0234375},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.06222222222222222},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.057034220532319393},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.03225806451612903},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.010471204188481676},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010548523206751054},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009307135470527405},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}},"k":{"docs":{},"u":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.013477088948787063}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006237006237006237}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0176678445229682},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},":":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}}}},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.022968197879858657},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125}}}}},"i":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"r":{"docs":{},"i":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.034220532319391636},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"a":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.022026431718061675}}}},"d":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"z":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0189873417721519}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"}":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}},"*":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"}":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},".":{"docs":{},"p":{"docs":{},"d":{"docs":{},"f":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},".":{"docs":{},"p":{"docs":{},"d":{"docs":{},"f":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},".":{"docs":{},"p":{"docs":{},"d":{"docs":{},"f":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"x":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047}}}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}},";":{"docs":{},";":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}},"/":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},"%":{"2":{"0":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}},"docs":{}},"docs":{}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},":":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"l":{"docs":{},"k":{"docs":{},"/":{"docs":{},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"l":{"docs":{},"k":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927}}}}}}}}}}},"a":{"docs":{},"z":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},":":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"i":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"*":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"o":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}},"\\":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"\"":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"\\":{"docs":{},"\"":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"\\":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}}}},"g":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.015113350125944584},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"development.html":{"ref":"development.html","tf":0.046153846153846156}},".":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}}}}},"o":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"o":{"docs":{},"d":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},":":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"a":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"m":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"q":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"h":{"docs":{},"z":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.010395010395010396},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.008680555555555556},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.012016021361815754},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0062047569803516025},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.01762114537444934},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"?":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"s":{"docs":{},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"e":{"docs":{},"t":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"e":{"docs":{},"p":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}},"u":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}},"n":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862}},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"]":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"}":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}},"y":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},":":{"docs":{},"=":{"2":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"docs":{}}},"]":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}},"e":{"docs":{},"t":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"^":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}},"^":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"^":{"docs":{},"^":{"docs":{},"^":{"docs":{},"^":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}},"^":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}}}}}}}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.013477088948787063}}}},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}},"y":{"docs":{},")":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"y":{"docs":{},"(":{"9":{"docs":{},".":{"2":{"docs":{},".":{"2":{"1":{"docs":{},".":{"docs":{},"v":{"2":{"0":{"1":{"7":{"0":{"1":{"2":{"0":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"v":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"%":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"+":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.004158004158004158},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}},"]":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{},"c":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"/":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{"development.html":{"ref":"development.html","tf":0.046153846153846156}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}}}}}}}}}}}}}}}},"=":{"docs":{},">":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.0625}}}},"`":{"docs":{},":":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"`":{"docs":{},",":{"docs":{},"`":{"docs":{},":":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"`":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"`":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.002079002079002079}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"`":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"|":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.016632016632016633},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.022026431718061675}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},":":{"docs":{},"=":{"1":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"docs":{}}},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}}}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"?":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}}}}}}}}}},"@":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}},"!":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257}}},")":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}},"µ":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"length":7340},"corpusTokens":["!","\"","\"\",","\"\".","\"\"}","\"\"})","\"\"})))","\"\"})]","\"\"})])))","\"\"})]])","\"(constrain","\"(not","\"/\"","\"/\"))","\"/\")))","\"/\"))))","\"/\"))]","\"/\"}","\"/\"})","\"/*\",","\"/:company/users/:us","\"/all\"})","\"/api","\"/api\"","\"/api\",","\"/api/admin/db\"})","\"/api/admin/ping\",","\"/api/admin/ping\"})","\"/api/admin/users\"})","\"/api/bonus\"})","\"/api/get\"})","\"/api/internal/users\"})","\"/api/ipa\")","\"/api/ns2/more/bar\")","\"/api/ns2/more/bar\",","\"/api/ns2/more/bar\"}","\"/api/number\"})","\"/api/orders/1\")","\"/api/orders/1\"}","\"/api/orders/2\"}","\"/api/orders/:id\"","\"/api/orders/:id\",","\"/api/ping\"","\"/api/ping\")","\"/api/ping\"}","\"/api/ping\"})","\"/api/plus/3\"","\"/api/pong\"","\"/api/user/1\"","\"/api/user/1\")","\"/api/user/1?iso=m%c3%b6ly\"","\"/api/user/:id\"","\"/api/user/:id\",","\"/assets/*\".","\"/auth/login\")))","\"/avaruus\"","\"/avaruus\"}]","\"/beers/lager\")","\"/beers/sahti\")","\"/beers/saison\")","\"/dynamic\"","\"/dynamic/duo\"","\"/dynamic/duo\")","\"/fail\"","\"/fail\"})","\"/fail\"}}","\"/favicon.ico\"})","\"/gin/napue\")","\"/hello\")","\"/invalid\"})","\"/kerran/*\"","\"/kerran/avaruus\"}","\"/kikka\"","\"/kikka\"}","\"/kikka\"})","\"/metosin/users/123\")","\"/metosin/users/123\"))","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"/metosin/users/ikitommi\"))","\"/olipa/*\"","\"/olipa/iso/kala\"}","\"/olipa/kerran/avaruus\")","\"/olipa/kerran/avaruus\"}","\"/olipa/kerran/iso/kala\")","\"/one","\"/one/ping\"","\"/one/swagger.json\"}","\"/ping\"","\"/ping\")","\"/ping\"}","\"/ping\"})","\"/ping\"})))","\"/ping\"},","\"/ping/\"})","\"/plus\"","\"/pong\"})","\"/pong/\"},","\"/swagger.json\"","\"/swagger.json\"})","\"/two/deep/ping\")","\"/two/ping\"","\"/two/ping\")","\"/two/swagger.json\"}","\"/users\"})","\"/users/0?iso=m%c3%b6ly\"}","\"/users/1?iso=m%c3%b6ly\"}","\"/users/2?iso=m%c3%b6ly\"}","\"/users/3?iso=m%c3%b6ly\"}","\"/users/4?iso=m%c3%b6ly\"}","\"/users/5?iso=m%c3%b6ly\"}","\"/users/6?iso=m%c3%b6ly\"}","\"/users/7?iso=m%c3%b6ly\"}","\"/users/8?iso=m%c3%b6ly\"}","\"/users/9?iso=m%c3%b6ly\"})}","\"/users/:id\"","\"/vodka/russian\")","\"/workspace/1/1\")))","\"0.3.1\"]","\"0.4.0\"]","\"0.5.5\"]","\"1\",","\"1\"}","\"1\"})","\"1\"}}","\"1.0.0\"","\"123\"","\"123\"},","\"123\"}]","\"123\"}]}","\"2.0\"","\"_method\"","\"_method\"])","\"_method\"]))))","\"abba\"}","\"abba\"},","\"any\"","\"any\"},","\"avaruus\"}","\"bar\"})","\"beer\"","\"bock\"])","\"clojure.core$identity@15b59b0e\"],","\"clojure.core$identity@15b59b0e\"]}","\"clojure.core$identity@15b59b0e\"]},","\"clojure.core$identity@15b59b0e\"]}}})},","\"clojure.spec.alpha$merge_spec_impl$reify__2124@7461744b\"],","\"default\"","\"default\")","\"delete\"","\"download","\"duo\"","\"enter","\"error\"","\"error\")","\"exception\"","\"exception\")","\"fail\"","\"fail\")))]","\"fail\"}","\"fail\"}})","\"forbidden\"}","\"forc","\"get\"","\"get\"})","\"goto","\"identity\"","\"identity\",","\"identity\"},","\"identity\"}]","\"identity\"}])","\"identity\"}}})},","\"ikitommi\"))}}","\"image/png\"}","\"index.html\")])","\"int\",","\"item","\"java.lang.exception\"}}","\"kerran/avaruus\"}","\"kerran/iso/kala\"}","\"kosh\"}","\"kosh\"})","\"kosh\"})})))","\"kukka\"})}}]]","\"leav","\"look","\"mation\"}]","\"metosin\",","\"mi","\"middlewar","\"much\"","\"möly\"}))","\"möly\"}))})})}]","\"negoti","\"ok\",","\"ok\"}","\"ok\"})","\"ok\"}))","\"ok\"})])","\"patch\"","\"ping\"})}]","\"ping\"})}])","\"plu","\"pong\"}","\"pong\"}))","\"pong\"})]","\"pong\"})])","\"pong\"})}]","\"pong\"})}]]","\"post\"","\"post\"}","\"post\"})","\"reitit.png\"))})}}]]","\"root","\"sahti\"","\"server","\"sql","\"swagger","\"tenant1\"","\"text/xml\"}","\"too\"}]}","\"total\":","\"upload","\"user...\"})}]])))","\"y\"","#","#'app","#'reitit.core/rout","#(interleav","#(r/router","#(respond","#(slurp","#.","#:clojure.spec.alpha{:problem","#?(:clj","#?@(:clj","#coercionerror{:schema","#endpoint{...}","#endpoint{...}}","#endpoint{:data","#interceptor","#match{:templ","#methods{...}","#methods{:get","#object[...]","#object[...]}","#object[...]}}","#object[clojure.core$ident","#object[clojure.spec.alpha$merge_spec_impl$reify__2124","#object[reitit.coercion$request_coercer$]},","#object[reitit.core$...]","#object[reitit.core$linear_router$reify]","#object[reitit.core$lookup_router]}","#object[reitit.core$mixed_router]}","#object[user$handler]}","#object[user$reify__24359]}]]","#partialmatch{:templ","#reitit","#reitit.core.match{:templ","#{::one","#{:admin","#{:adminz}}","#{:adminz}},","#{:adminz}}]","#{:adminz}}}})},","#{:admin}","#{:admin}}","#{:admin}})","#{:admin}}}]]","#{:admin}}}]]]","#{:db","#{:id}","#{:id}}","#{:manager}","#{:manager}}","#{:public","#{:reitit.swagger/default}","#{:session}","#{:user}","#{route}}","#{})","#{}))","%","%)","%))","%))))","&","'())","'[clojure.set","'[clojure.spec.alpha","'[clojure.spec.test.alpha","'[clojure.str","'[compojure.cor","'[criterium.cor","'[expound.alpha","'[io.pedestal.http","'[ns1])","'[ns2])","'[reitit.coercion","'[reitit.coercion.schema])","'[reitit.coercion.spec","'[reitit.coercion.spec])","'[reitit.cor","'[reitit.http","'[reitit.interceptor.sieppari","'[reitit.middlewar","'[reitit.pedest","'[reitit.r","'[reitit.ring.coercion","'[reitit.ring.middleware.except","'[reitit.ring.middleware.multipart","'[reitit.ring.middleware.muuntaja","'[reitit.ring.spec","'[reitit.spec","'[reitit.spec])","'[reitit.swagg","'[ring.adapter.jetti","'[schema.cor","'[spec","'add","'em","'get","'positiveint))","(","(\"/common/ping\"","(#reitit.spec.problem{:path","()","(*","(*path).","(+","(.back","(.getclass","(.go","(30x","(404","(:api","(:control","(:get,","(:id)","(:reitit.coercion/request","(:request","(:requir","(:tags,","(:templat","(:uri","(=","(?","([\"/api\"","([\"/get","([...","([request","([request]","(a","(actually,","(add","(affect","(all","(also","(and","(app","(appli","(assoc","(ataraxy,","(atom","(blank?","(case","(cat","(cc/quick","(clojur","(clojure)","(clojure.core/contains?","(clojure.core/fn","(clojure.core/or","(clojure.spec),","(clojure.spec.alpha/*","(clojure.spec.alpha/?","(clojure.spec.alpha/and","(clojure.spec.alpha/cat","(clojure.spec.alpha/col","(clojure.spec.alpha/key","(clojure.spec.alpha/nil","(clojure.spec.alpha/or","(clojure.string/blank?","(clojure.string/start","(coerc","(coercion","(coercion,","(coercion/coerc","(coercion/coerce!","(coercion/respons","(coll","(comp","(compiled)","(con","(conj","(constantli","(context","(context)","(core","(core.clj:4739)","(cqr","(creat","(current","(data)","(declar","(def","(default","(default:","(defn","(defonc","(defprotocol","(defrout","(deref","(deriv","(done","(dotim","(e.g.","(ex","(exception.","(exception/cr","(expand","(expound/custom","(extend","(fn","(fnil","(for","(futur","(get","(handler","(hidden","(http","(http/ring","(http/router","(human","(if","(in","(index.html).","(integer?","(interceptor","(interceptor/transform","(into","(io/input","(io/resourc","(java.io.file.","(jetty/run","(js/console.log","(json,","(keyword","(keyword?","(legaci","(let","(like","(list","(map","(mapv","(match","(matches,","(mayb","(merg","(mi","(micro","(middleware/cr","(n","(name","(nested)","(nilabl","(no","(non","(not","(note:","(ns1/routes)]])","(ns2/routes)]","(of","(ok","(onli","(option","(optional)","(or","(partial","(pedestal/replac","(pedestal/rout","(per","(pioneer","(positiveint","(pr","(printer","(println","(promise)]","(r/compil","(r/expand","(r/match","(r/option","(r/partial","(r/path","(r/rout","(r/router","(rand","(rang","(real","(records,","(recurs","(reifi","(reitit","(reitit.ring/cr","(reitit.ring/r","(reitit.ring/rout","(repeat","(request","(requir","(reset","(reset!","(respons","(reverse)","(rfc/appli","(rfe/start!","(ring/creat","(ring/get","(ring/r","(ring/redirect","(ring/rout","(rout","(router","(router)","(routes)))","(routes))))","(s/coll","(s/constrain","(s/def","(s/explain","(s/key","(s/merg","(s/valid?","(schema","(see","(select","(seq","(server/cr","(server/default","(server/dev","(server/start))","(set!","(set/subset?","(simple)","(some","(st/coerc","(start","(static","(stest/instru","(str","(str/last","(sub","(swagger","(swagger/cr","(swap!","(throw","(uncom","(updat","(via","(when","(whether)","(wildcard","(with","(without","(wrap","({:path","({:uri",")benchmark","+","...","...)","...,","...])","./scripts/lein","./scripts/set","./scripts/test.sh",".cljc","/","/:this/should/:fail","/:user","/:version/statu","/admin/p","/api","/api/command/add","/api/user/:id:","/baz/:id/:subid","/beers/sahti","/beers/saison","/bulk/:bulk","/ciders/weston","/dynamic/duo","/examples/r","/foo","/foo%20bar.","/gin/napu","/item/someth","/item/something,","/ping","/public/*path","/saison","/swagger.json","0)","0..n","0.3.0,","03","08","0]}),","0x15b59b0e","0x7461744b","1","1)","1)]}","10)]","100","100)))]))))","100)]","1000","1000)","1000):","1000]","10]}})))","10}})","11","110x","111}}","115","12000n","123}]}","123}}","130n","16","16:59:54","16:59:58","18","1]","1]}}","1}","1})","2","2\"}})","2)","2)]}","2,5","20","200","200,","20000n","2018","20]]}","2116","22","2251","23ns.","256","2]]}","2})","2},","2}})","3","3)","3)]","3.2","30","300","3000","3000\"))","3000,","308,","30}}","312m","3]]","3]}}","4","4)","400","400)","400,","403,","404,","405,","406,","40n","440n","5)","50%","50+","500","500)}))","500,","500x","6","6))\"},","600n","6},","6}}","8","8.7m","80n",":",":123}]",":3000/math",":3000/xml","::acc","::admin]","::admin}]","::api","::api],","::bar","::bar])","::bar]]","::bar]])","::bar]]))","::baz]]))","::coerc","::compani","::db]","::db]]","::db]}","::db}]","::default","::error","::except","::exception)","::exception/default","::exception/wrap","::fail]])","::failue})))]","::failur","::foo]","::horror","::ipa)","::kikka","::kikka)","::kikka]","::mi","::mw/coerc","::one","::one}}","::order","::path","::photo","::photos]))","::ping","::ping)","::ping))","::ping]","::ping]]","::ping]])","::ping}","::ping}]","::ping}]]","::plu","::plus)","::pong]]","::pong]]))","::pong}]]","::r/match)","::r/router","::role","::roles)]","::route1])","::route2])","::route3])))","::rs/default","::rs/explain","::rs/respons","::server/join?","::server/port","::server/rout","::sku","::spec/raw","::swagger]","::swagger}]","::tenant1])","::timeout))","::two","::two}}","::two}}}","::user","::user)","::user))","::user]])","::user]]))","::users]","::users]]","::users]])","::users]]))","::users}","::wrap","::wrap2","::wrap3","::zone",":a",":add})",":add})))",":admin",":admin]]}",":adminz,",":admin}",":api",":api)]}",":api]]",":api]]}",":append,",":arg",":auth/login]",":auth/recovery]",":avaruus]",":avaruus}",":basepath",":basepath)",":beer",":beer/bock}]",":beer/lager}]",":beer/sahti}]",":bodi",":body,",":body.",":body]}}",":body}",":bonu",":bonus10",":cache,",":child",":ciders]",":ciders}]",":class",":clojure.spec.alpha/spec",":clojure.spec.alpha/valu",":coerc",":coercion",":coercion)",":command",":compil",":compile.",":config",":conflict",":consum",":control",":data",":data))))",":data:",":db",":db]]",":debug",":debug)))})",":debug]))})))",":debug]}}",":delet",":delete,",":delete]]",":descript",":dev",":displac",":duo",":duo)))",":duo55]",":duo71]",":dynam",":dynamic,",":error",":etag,",":except",":executor",":expand",":figwheel",":form",":form,",":get",":get)]",":get,",":get})",":gzip",":handler",":handler)})",":handler]}",":head,",":header",":here",":id",":id)))",":id))))}",":id)))}]}]",":id]))",":id].",":ihminen]])}]])}]]))",":in",":index",":infor",":inject",":interceptor",":intern",":internal}",":internal})",":into",":jetti",":join?",":kerran",":lager]",":lager]])))",":last",":leav",":let",":linear",":loader",":lookup",":makkara]",":manager}",":manager})",":manager},",":message]",":method",":middlewar",":mix",":multipart",":multipart]",":multipart}",":muuntaja",":muuntaja/decod",":muuntaja/request",":muuntaja/respons",":name",":name)))",":napue]",":napue}]",":no",":not",":ns1/bar",":ns1/bar},",":number\"]",":number]",":ok]}",":olipa",":olut]",":opt",":option",":options,",":opts)]",":page",":paramet",":parameters.",":parameters}]",":patch,",":path",":path.",":path]",":photo",":photo/id",":ping",":ping)]",":ping]",":post",":post)]]",":post,",":pred",":prepend,",":print",":problem",":problems))",":produc",":produces,",":provides.",":public",":public}",":put",":put,",":quarantin",":queri",":query,",":query}",":refer",":reitit.coercion/request",":reitit.coercion/respons",":reitit.core/match",":reitit.core/rout",":reitit.interceptor/transform",":reitit.middleware/registri",":reitit.middleware/transform",":reitit.ring/default",":reitit.ring/respons",":reitit.ring/response,",":reitit.spec/arg)",":reitit.spec/default",":reitit.spec/handl",":reitit.spec/handler])",":reitit.spec/handler],",":reitit.spec/path",":reitit.spec/path:",":reitit.spec/raw",":replac",":req",":request",":requir",":respons",":responses)",":result",":role",":root",":rout",":router",":router)]",":saison]",":saison]])",":schema,",":scope",":secure]]}",":segment",":singl",":sku",":sku/id",":spec",":start",":stop",":strip})))",":summari",":summary,",":swagger",":tag",":token]",":top]]}))",":trace).",":trie",":type",":uri",":url",":user",":user/bar}]",":user/bar}]]",":user/baz}]]",":user/db}]",":user/failue}",":user/foo}]",":user/kikka}",":user/ord",":user/ping}",":user/ping}]",":user/rol",":user/role:",":user/role],",":user/roles)),",":user/roles:",":user/route1}]",":user/route2}]",":user/route3}]]",":user/tenant1",":user/tenant1]",":user/us",":user/user]",":user/users}]",":user/user}",":user/user},",":user/user}]]",":val",":valid",":valu",":via",":workspace/page]])",":workspace/page]]))",":workspace/page]]]]])",":wrap",":wrap.",":x",":x)",":y",":y)",":z))]",":zone",":zone)]",";",";#match{:templ",";#reitit.core.match{:templ",";:reitit.core/p",";;",";=>",";[\"/bar\"",";[#reitit.core.match{:templ",";[:beer/sahti]",";[[\"/foo\"",";[[\"/gin/napue\"",";[[\"/ping\"",";[[\"/route1\"",";avail",";compilerexcept",";enter",";leav",";the",";{:lookup",";{:statu",";|","=>",">",">>",">edn",">path",">path))",">path,",">path:","?","?intomiddleware.","@router","@router)","[\"\"","[\"/\"","[\"/*\"","[\"/:company/users/:us","[\"/:user","[\"/:version/status\"]])","[\"/add","[\"/admin\"","[\"/admin/db\"","[\"/admin/ping\"","[\"/api","[\"/api\"","[\"/api/:users\"","[\"/api/:version/ping\"]]","[\"/api/admin/db\"","[\"/api/admin/users\"","[\"/api/internal/users\"","[\"/api/orders/:id\"","[\"/api/ping\"","[\"/api/pong\"","[\"/api/user/:id\"","[\"/assets/*\"","[\"/auth/recovery/token/:token\"","[\"/bar\"","[\"/bar/:id\"","[\"/baz/:id/:subid\"","[\"/beers\"","[\"/beers/*\"","[\"/beers/bock\"","[\"/beers/lager\"","[\"/beers/sahti\"","[\"/bonus\"","[\"/bulk/:bulk","[\"/ciders/*\"","[\"/db\"","[\"/deep\"","[\"/download\"","[\"/duo\"","[\"/dynamic/*\"","[\"/fail\"","[\"/files\"","[\"/files/fil","[\"/files/{name}.{extension}\"]","[\"/get\"","[\"/ihminen\"","[\"/internal\"","[\"/item/:id\"","[\"/kerran/*\"","[\"/kikka\"","[\"/makkara\"","[\"/math\"","[\"/more\"","[\"/ns2\"","[\"/number\"","[\"/olipa/*\"","[\"/one","[\"/one\"","[\"/ping\"","[\"/ping\"]","[\"/pizza\"","[\"/plus\"","[\"/plus/:z\"","[\"/pong\"","[\"/pong\"]]","[\"/pong/\"","[\"/public\"","[\"/public/*path\"]","[\"/public/{*path}\"]","[\"/route1\"","[\"/route2\"","[\"/route3\"","[\"/swagger.json\"","[\"/two\"","[\"/upload\"","[\"/user/:id\"","[\"/user/:us","[\"/user/{us","[\"/users\"","[\"/users/:id\"","[\"/workspace/:project","[\"/workspace/:project/:page\"","[\"/xml\"","[\"events.{target}.{type}\"]]","[\"files\"]}}","[\"image/png\"]}","[\"lager\"","[\"math\"]}}","[\"pong\"]]])","[\"tenant1\"","[\"workspace/\"","[#(wrap","[%]","[&","[(exception/cr","[(i","[(interceptor","[(str","[...","[0]","[1","[1]","[3","[::acc]}]","[::admin],","[::admin]}","[::api","[::api]","[::api]}","[::compani","[::db]","[::mw/coerc","[::r/router]}]","[::roles]","[::roles])","[::session","[::session]}}))","[::sku","[::zone])","[:api","[:beer","[:bonu","[:bonus10]","[:command","[:dynam","[:form","[:get","[:handler]","[:handler],","[:handler]}),","[:id]}","[:message])})","[:multipart","[:napue]","[:number])})}}]])","[:olipa","[:paramet","[:path","[:photo/id]))","[:post","[:reitit.spec/default","[:reitit.spec/nam","[:request","[:respons","[:rout","[:routes]","[:sku/id]))","[:swagger","[:top","[:user/p","[:user/rol","[:user/roles],","[;;","[[\"\"","[[\"/:this/should/:fail\"","[[\"/admin/ping\"","[[\"/all\"","[[\"/api\"","[[\"/api/:version\"]","[[\"/api/admin\"","[[\"/api/ping\"","[[\"/api/public/ping\"","[[\"/api/{version}\"]","[[\"/auth/login\"","[[\"/avaruus\"","[[\"/baz/:id/:subid\"","[[\"/common\"","[[\"/files/fil","[[\"/foo\"","[[\"/gin/napue\"","[[\"/kikka\"","[[\"/lager\"","[[\"/math\"","[[\"/olut\"","[[\"/ping\"","[[\"/ping\"]","[[\"/saison\"","[[\"/swagger.json\"","[[\"/users\"","[[\"/users/:us","[[\"/users/{us","[[\"auth/login\"","[[\"auth/recovery/token/\"","[[\"broker.{customer}.{device}.{*data}\"]","[[#object[user$wrap]","[[:bonu","[[:queri","[[[:project","[[mw","[[type","[[wrap","[[wrap3","[\\\"index.html\\\"]","[]","[])","[]))","[],","[]}","[]}),","[]}}]]","[_","[_]","[actions]","[add","[admin","[app","[beer","[beers]","[bonus]}]","[clojure.java.io","[coercer","[coercion","[conflicts]","[context])","[ctx]","[data","[except","[exception/except","[expound","[file","[file]}","[fm","[get","[handler","[handler]","[i","[id","[interceptor]}}])])","[io.pedestal/pedestal.jetti","[io.pedestal/pedestal.servic","[item","[match","[match]","[messag","[message]","[method","[metosin/reitit","[middleware]","[muuntaja.cor","[muuntaja/format","[new","[number]","[old","[options]","[parameters]","[parameters]}]","[path","[path]","[printer","[registry]","[reitit.coercion.spec]","[reitit.cor","[reitit.frontend.control","[reitit.frontend.easi","[reitit.r","[reitit.ring.coercion","[reitit.ring.middleware.except","[reitit.ring.middleware.multipart","[reitit.ring.middleware.muuntaja","[reitit.ring.middleware.paramet","[reitit.ring.middleware.parameters/paramet","[reitit.swagg","[req]","[request]","[requir","[respond","[respons","[ring.adapter.jetti","[ring.middleware.param","[router","[rrc/coerc","[status]","[submatch","[subpath","[subrout","[thi","[this])","[total","[wrap","[wrap2","[x","[x]","[zone","[{:id","[{:key","[{:param","[{:paramet","[{:start","[{{{:key","\\","\\\"abba\\\"))\"},","\\\"public\\\"","\\.","^:replac","^^","^^^^^^","^^^^^^^","`:admin`,`:manager`","`:user/roles`","`lein","`reitit.coercion/coercion`","`reitit/router)","abil","about.","above).","above,","abstract","acc","accept","accept,","access","accident","accumul","accur","achiev","act","action","action:","actual","ad","add","addit","admin","admin}}]]","admin}}]]]))","affect","again","again.","again:","against","against.","againt","ahead","algorithm.","algorithms,","all,","allow","allowed.","alpha","alreadi","also,","altern","alternative,","alway","ancestor","and/or","annot","anonym","anoth","another.","anyth","anything,","anyway","anywher","any},","api","api\"}","api)","api,","api:","apidoc","apis.","app","app)","app:","appli","applic","application,","application.","application/json;","application/x","applications,","applied,","applied.","apply.","approach","approaches,","apps,","arbitrari","arg","args*]","argument","argument,","argument:","arguments:","ariti","around","ask","astut","async","asynchron","at:","ataraxi","atom:","attach","aug","authent","author","authorizationmiddlewar","automat","automatic.","automatically.","avail","available:","average,","avoided.","awesome.","back","back.","backend","backend,","background,","backslashes.","bad","bar","bar})})))","base","baselin","basic","batteri","be","beer","beer)","beer)])]","beers)))","beers:","beers]","befor","behav","behavior","behind","below","bench","benchmark","benchmark.","besid","best","better","better,","better.","between","bi","bide","bidi","bidi,","bidi.","bidi:","bidi?","bit","blown","bodi","bonu","bonus,","bonus}})))","bonus}})}]]","boolean","booleans,","bootstrapping:","both","both,","both.","box","box.","bracket","brackets,","break","browser","build","built","bump","bundl","bundled:","busi","but,","butlast","cach","cache:","calfpath","call","callback","calls.","can't","captur","card","case","case,","case.","cases,","cases.","catch","catches:","caus","cc])","chain","chain,","chains.","chang","change.","changed.","changed:","changes!","changes.","channel","charact","charset","charset=utf","check","child","choise.","chosen","ci","class","class.","classpath.","clean,","cleanli","cli","client","clj","clojar","clojur","clojure(script)","clojure(script).","clojure,","clojure.","clojure.core/ex","clojure.core/fn?,","clojure.core/revers","clojure.core/string?","clojure.lang.exceptioninfo","clojure.lang.exceptioninfo:","clojure.lang.ideref","clojure.spec","clojure.spec)","clojure.spec,","clojure.spec.alpha/conform,","clojure.spec.alpha/explain","clojure.specs.","clojurescript","clojurescript,","clojurescript.","clojurescript:","clojurian","closur","code","code,","code:","coerc","coerce!","coerced.","coercer","coercers.","coercers}))","coercion","coercion)","coercion,","coercion.","coercion/coerc","coercion/compil","coercion:","coercion]","coercion])","collect","come","common","compar","compat","compil","compilation,","compilation.","compiled.","compilerexcept","compiling:","compiling:(/users/tommi/projects/metosin/reitit/test/cljc/reitit/spec_test.cljc:151:1)","complet","complex","compojur","compojure,","compojure.","compojure:","compojure?","compon","compos","composit","comput","concaten","concepts.","concid","condit","configur","configuration.","conflict","conflict,","conflicts)))})","conflicts.","conflicts:","conform","conj","consid","console.","console.warn","constant","construct","contain","content","context","context.","contrari","contribut","contribute?","control","controller,","convert","core","core):","core.async,","cores:","correct","correct,","correctli","correctly:","correctly?","cors.","cost.","cqr","creat","created,","creation","creation:","crude","ctx","ctx)","ctx)})","current","currently,","custom","data","data)","data))","data,","data.","data:","database.","databases.","date:","db","db)","debug","debug.","decid","declar","declaration,","decod","deepli","default","default).","default,","default.","default:","defaults:","defin","defined).","defined,","defined.","defined:","definit","definition\"","definitions,","definitions.","degrade.","demonstr","depend","depends.","deploy","deprec","describ","descript","design","design,","desir","destructur","detail","details.","detect","dev","dev,","develop","developement,","developement.","didn't","diff","differ","differences:","differenti","differently,","diffs):","direct","directli","directory,","disabl","disabled,","discuss","dispatch","do","doc","docs\"","docs\"})))","docs/*\"","docs/index.html\"})","docs:","docs]","docs]]","docs}]","document","documentation,","documentation:","doesn't","don't","done","done).","done,","done.","done:","downsid","driven","driven,","duct","due","dure","dynam","e","e.g.","e.g.,","e/expound","e])","each","easi","easier","easili","easy,","edn","edn,","effect","elegantly.","else,","else.","elsewher","embed","emit","emit'","empti","en","enabl","enabled,","enabled.","enabled:","encod","encoding.","end","endpoint","endpoint,","endpoint.","endpoints.","enforc","engin","enough","enqueu","ensur","enter","entri","environment.","error","error.","error:","errors,","errors.","etc.","etc.)","evalu","even","event","events.","everyth","ex","exact","exampl","example,","example.","example.serv","example:","except","exception\")","exception)","exception).","exception/cr","exception/default","exception/except","exception]","exception])","exceptioninfo","exceptions,","exclud","execut","executor","exist","exist.","exit","expand","expans","expect","expected:","explain","explicit","explicitli","expos","expound","expound/printer)","expound])","extend","extens","extensions.","extern","extra","extract","factor","fail","failed...","failed:","fails,","fallback","fals","false,","false.","false})","false})]","faq","fast","fast,","fast.","faster","faster!","faster.","faster?","fastest","featur","feature,","features.","felt","few","field","field.","file","file\"","file)","file):","files.","file}})}}]","first","first,","fix","flatten","flattened:","fm))","fn?","follow","following:","forc","form","format","format.","formatter.","forms.","forwards,","found","found)","found.","fragment","fragment,","frame","framework","frameworks.","frankli","free","frequent","frontend","frontend,","frontend.","frontend.cor","full","fulli","fun","function","function,","function.","functions,","functions.","functions:","futur","g","gave","gb","gener","generation,","get","ghz","gitbook","gitbook.","given","gmt","go","go.","go:","goal","goe","good","good:","graphql","great","guard","guide.","hacki","hander","handl","handler","handler\"","handler)","handler))","handler)))","handler))))","handler).","handler)]]","handler)]])","handler)}]","handler)}]]])))","handler)}}]","handler)}}])","handler)}}]])","handler,","handler.","handler/middlewar","handler:","handler]","handler])","handler])))","handler]]]]","handlers)","handlers.","handler}","handler}]","handler}]))","handler}]]","handler}]])","handler}]])))","handler}]]])","handler}]]])))","handler}}]]","handler}}]])","handler}}]])))","handler}}]]]","handler}}]]])))","handling.","hard","hard.","hardcoded)","harder","hash","have","header","headers.","help","help.","helper","here","here'","here.","hidden","hierarchi","higher","hinder","histori","history.","hit","hoc","hold","hook","host","html","html5","http","http,","http/1.1","http://localhost:3000","http://spec.commonmark.org/","http])","httpie:","https://github.com/metosin/reitit/blob/master/examples/http","https://github.com/metosin/reitit/blob/master/examples/pedest","https://github.com/metosin/reitit/blob/master/examples/r","https://github.com/metosin/reitit/tree/master/examples/frontend","https://github.com/metosin/reitit/tree/master/examples/http","https://github.com/metosin/reitit/tree/master/examples/pedest","https://quanttype.net/posts/2018","https://www.reddit.com/r/clojure/comments/9csmty/why_interceptors/","hw","i.e.","i7","id","id\"","id\",","id\"]","id)","id))","id)))","id))))","id))}]}]]","id/ord","id/orders\"]","id/orders\"]]","id]","id]))","id]]))","idea","idenfi","idenfitifi","ident","identifi","identifier.","identifier:","identity).","identity,","identity]","identity]}","identity}]","identity}}]]","identity}}]]))","id}","id}\"]","id},","id}/orders\"]]","ignor","ignored.","immut","immutat","implement","implementation.","implementation:","implicit","implicitli","in:","includ","include:","inde","index","indic","indirection,","infer","infinit","influenc","info","inform","information:","init!","initi","inject","injectuserintorequestmiddlewar","inlin","input","insert","insid","inspect","inspir","instal","instanc","instance,","instead","instruct","instrument","int","int,","int?","int?)","int?,","int?}}","int?}}}","int?}}},","int?}}}]","integr","integrations.","intel","interact","interceptor","interceptor)","interceptor))","interceptor.","interceptor]","interceptors)","interceptors,","interceptors.","interceptors.html","interceptors:","interceptors?","interest","interfac","interleav","intern","internal)","internal,","interpret","intomiddlewar","intomiddleware.","introduc","introduct","int}}},","invalid","invalid:","inventoried.","inventories,","invocation.","invok","io]))","is.","isn't","issu","issues.","it'","it,","it.","it:","it?","item","iterations.","itself","itself)","i})","java","java.io.fil","java.lang.string,","java.sql.sqlexcept","javascript,","jetti","jetty(9.2.21.v20170120)","jetty]","jetty])","join","js/window.histori","js/window.history)","json","jvm","kb","keechma","keep","key","key,","key.","key:","keys)","keys,","keys.","keyset.","keyword","keyword?)","keywords)","keywords.","kikka","kikka))","kikka}","kikka}])","kikka}])}])","kinda","know","know.","known","kukka","l2","l3","larg","large!","last","later.","latest","layers:","leaf","lean","leav","left.","lein","length:","less","let'","level","level,","lib","librari","library?","libs.","life","life)","life,","lift","linearrouter,","link","list","liter","load","loader","local","locally:","locat","log","log]","logic","long","look","lookup","lookups:","lot","lot.","lupapiste.","m/instanc","m]","macbook","macbookpro11,3","macchiato","machin","macro","magical.","magnitud","magnitude.","main","make","manag","mani","manifold","manipul","manual","map","map.","maps.","margin","match","match)","match))))","match))))))))","match,","match.","match:","match?","match]","matched)","matched),","matched,","matched.","matches.","matches:","matter","matter?","mayb","mb","mean","measur","measure?","memory:","merg","merge.","merged.","messag","message))})","message.","meta","method","method.","method.)","method:","method]})","methods)","methods:","micro","mid","middlewar","middleware)","middleware,","middleware.","middleware/interceptor","middleware:","middleware])","middleware]}","middleware]}})","middleware]}})))","minimalist","miss","missing/extra","missing:","mix","model","model,","model.","models.","modif","modifi","modified?,","modul","modular","module.","module:","modules:","more","more.","mostli","mount","mount.\"","move","much","multimethod","multimethod.","multipart","multipart/cr","multipart/multipart","multipart/temp","multipart]","multipart])","multipl","mutabl","muuntaja","muuntaja.core/muuntaja","muuntaja/format","muuntaja]","muuntaja])","naiv","name","name!","name,","name.","name:","name]","name])","names.","names:","namespac","namespace,","namespace.","namespaces.","name},","nano","navig","need","negat","negoti","negotiation,","nest","nester","nesting/composition.","never","new","next","nice","nice,","nil","nil)","nil))","nil)))","nil).","nil)]","nil)]])","nil)})","nil,","nil.","nil:","nil]","nil]]","nil})","non","none","normal","normal,","not.","not...","notabl","note","note:","noth","nothing.","nothing.\"","notic","now","npm","ns","ns1","ns1)","ns1,","ns1/rout","ns1/routes]])","ns2)","ns2/routes]","ns3)","ns3.","number","number))})","numbers,","objects:","of,","of:","ok","old","on","on.","on:","onc","once,","one:","ones,","only)","opaqu","opensensor","ops/sec","opt","optim","option","option)","option,","option.","option:","optionally,","options)","options))","options)))","options,","options.","options:","options]","opts)","opts))))","opts)]","opts]","order","order\"","order.","order:","order]])","order]}}])]","orient","origin","otherwis","out","out*","output:","outsid","over","overal","overrid","overridden","package.","page","page,","param","paramet","parameter,","parameter.","parameter:","parameters\"","parameters.","parameters/paramet","parameters:","parameters]","params.","params]","params]))","params]}}","params}},","params}}]","paremet","pars","part","part.","partial","partialmatch","partialmatch,","particip","parts:","part}}","part}}}","pass","patch","path","path)","path)]","path,","path.","path:","path]","path])","paths,","paths.","paths:","pattern","pedest","pedestal'","pedestal).","pedestal,","pedestal.","pedestal:","pedestal?","pedestal])","penalty.","per","perf","perfect.","perform","performance,","performance.","performance:","persist","ping","pizza","place","place.","plain","pleas","plu","pluggabl","plumat","po","poke","polish","port","pos?","positiveint","positiveint)\"},","positiveint}}}","possibl","possible,","post","power","powerful.","pr!","practic","pre","precis","precompute/compil","preconfigur","predicate:","predicates,","prefer","prefil","prefix","present","present.","present:","pretti","prevent","preview","previou","print","printer","pro","problem","problem.","problem:","problems.","process","processing,","processing.","processor","processors:","prod","produc","product","production.","programmatically:","project","projects.","promesa.","promise:","proof","properties:","property,","property.","protocol","protocol,","protocol.","protocol:","proven","provid","public","publish","pull","purpose:","push","put","python'","qualifi","queri","query)","question","quick","quit","r","r/expand","r/linear","r/match","r/option","r/options.","r/rout","r])","r]))","rack.","radix","rails)","raise))))))","raise)))))))})","raise]","rational","raw","rcs/coercion","rcs/json","rcs])","re","react","react.js,","read","readabl","readable)","reader","readi","readme:","real","realistic.","realli","really,","reason","reasoning:","recogn","recompil","record","records.","recreat","recurs","recursive,","recursive.","redirect","refer","referenc","references:","regardless","regex","registri","registry,","registry.","registry:","registry?","regress","reinitialized:","reitit","reitit,","reitit.","reitit.coercion.schema/coercion","reitit.coercion.spec/coercion","reitit.coercion/coerce!","reitit.coercion/coercion","reitit.coercion/compil","reitit.cor","reitit.core.rout","reitit.core/expand","reitit.core/expand)","reitit.core/match","reitit.core/merg","reitit.core/rout","reitit.core/router,","reitit.core/router:","reitit.exception/exception)","reitit.frontend","reitit.frontend.controllers/appli","reitit.frontend.easi","reitit.frontend.easy:","reitit.http.interceptor.dev/print","reitit.http.interceptors.dev/print","reitit.http.interceptors.exception/except","reitit.http.interceptors.multipart/multipart","reitit.http.interceptors.muuntaja/format","reitit.http.interceptors.parameters/paramet","reitit.http/http","reitit.http/r","reitit.http/rout","reitit.impl/intostring.","reitit.interceptor","reitit.interceptor.sieppari/executor","reitit.interceptor/executor","reitit.interceptor/transform","reitit.middleware/intomiddlewar","reitit.middleware/middlewar","reitit.ring.coercion:","reitit.ring.middleware.dev/print","reitit.ring.middleware.multipart/multipart","reitit.ring.middleware.parameters/paramet","reitit.ring.spec/valid","reitit.ring/cr","reitit.ring/get","reitit.ring/handler.","reitit.ring/r","reitit.ring_test$wrap_bonus@59fddabb","reitit.spec","reitit.spec/valid","reitit.swagg","reitit.swagger.swagg","reitit.swagger/cr","reitit:","rel","relat","relev","reload","rememb","remov","render","repl","repl.","repl`","replac","repo","represent","representation.","req","request","request)","request))","request)))","request))))","request)))))","request))))})","request))]","request))})))","request)}})","request,","request.","request:","request]","request}]","requir","required)","reset","resolut","resolution.","resolution:","resolv","resourc","resources,","resources.","respond","responess,","respons","response\"","response)","response))","response)))","response.","response:","response]","responses)","responses,","responses:","responses]}","rest","rest(ish)","result","results,","retriev","return","returned,","returned:","reus","reuse)","revers","reverse)})","reverse})))","rfc]))","rfe]","ring","ring,","ring.","ring.middleware.params/wrap","ring/creat","ring/rout","ring:","ring]","ring])","roadmap","role","roles)))","roles:","roles]","roles]}","roles]}]","roles]}]]","roles]}})))","root","root,","rout","route))))","route,","route.","route:","route]","route]]","route]])))","router","router!","router)","router))","router)))","router):","router,","router.","router2","router2)","router:","router?","routers))","routers))))","routers,","routers.","routers:","routers?","routers]","router}))","router}]","router}]]))","routes)","routes))","routes)))","routes):","routes,","routes.","routes:","routes]","routes])","routing)","routing,","routing.","routing:","routing?","rrc/coerc","rrc])","rrs/valid","rrs])","rs/valid","rs/validate})","rs])","ruby'","rule","run","runtim","s/*explain","s/and,","s/coll","s/every),","s/int","s/int}","s/int}}","s/int}}}]","s/int}}}]))","s/key","s/keys,","s/map","s/nillabl","s/or,","s/str","s])","safe","saison!?","same","same.","sampl","satisfi","save","scenario","scene","schema","schema.","schema:","scientif","scope","seamlesli","search","second","second,","seconds,","see","select","separ","separately.","sequenc","sequenti","sequential)","serv","served.","server","server)","server.","server:","server])","servers,","set","set,","set.","set])","sets)","setup:","sever","shape","share","shine","ship","shipped,","short","side","sieppari","sieppari.","sieppari/executor}))","sieppari:","sieppari])","sight","silent","similar","simpl","simple,","singl","site","size","slack","slack.","slash","slash)","slash,","slash.","slashes.","slow,","slower","slower,","slowest","small","snappi","so,","solut","solv","someth","sometim","somewher","sourc","source\".","source:","span","spec","spec,","spec.","spec:","spec])","special","specif","specifi","specification,","specification.","specification:","specs),","specs,","specs.","specs:","specs?","speed","speed:","spesif","sqlexcept","st/json","st/string","st])","stabl","stack","stack,","start","start\"","start\"))}]}","started.","state","static","static,","static.","statu","status)]","stay","step","steps.","stest])","still","stop","stop\"","store","str","str)","str])","stream","string","string,","string:","string?","string?)","string?,","strings,","strings:","strip","structur","str})))","style","sub","submap.","submatch)))","submit","subpath)]","subrout","subrouters.","success","successfuli","such","suitabl","summari","sun.","super","support","support:","supported:","sure.","swagger","swagger.","swagger/src/example/server.clj","swagger/src/example/server.clj.","swagger2","swagger]","swagger])","swaggger","swap","sync","synchron","syncron","syntax","syntax,","syntax.","syntax:","system","system.","tabl","table.","tag","take","taken","target","ten","termin","terminator.","terse,","test","test).","test,","tests,","text/xml","thank","that'","that,","that?","them,","them.","theme,","then,","thing","things.","things.\"","this):","this,","this:","those","three","through","throw","thrown","thrown,","thrown/rais","thu","thus,","time","time)","time),","time,","time.","tip","to,","to.","to:","todo","together.","too).","too.","too:","took","tool","tools.","tools.cor","tools.core/spec,","tools.spec","top","total","total}}))})","total}}))}}]]","toward","trace","trail","transform","transformation,","transformer)","transit)\"","tree","tree),","tree,","tree.","tree:","trees,","trees.","tri","trickeri","trie","trivial","true","true)","true,","true}","trust","turn","two","two\"","two/swagger.json\"}","type","type\"","type:","ui","ui\"","ui,","ui.","ui/creat","ui:","ui]","ui])","un","unauthent","under","underli","understand","unifi","unmount","unnam","unreachable.","until","unwrap","up","up.","updat","uri","url","urlencod","us","usag","use,","used.","used:","user","user\"","user]","user]}}]","usual","util","uuid","uuid\"","uuid/:pag","uuid]","val:","valid","validation,","validation.","valu","value))))","value,","value.","value]","values.","var","varieti","vector","vector.","verbose.","verifi","version","version:","versioning.","via","view","view,","view]))","view},","visual","vote","walk","walker","want","want,","wanted,","warn","way","way,","way.","we'll","we'r","web","webjar","wed,","welcom","welcome!","well,","whatev","whenev","whole","why?","wild","wildcard","wildcard,","with:","with?","within","without","won't","work","work:","workflow","worklfow","works,","works:","world","wrap","wrap2","wrap3","wrapper","wrap})","wrap}))","write","written","wrong","wrong.","wsgi","www","x","x)","x:=1","xml","y)}})}","y)}})}}]","y)}})}}]]]","y:=2","y]}","yet.","yield","yourself.","zero","zone","zone)","{","{\"/api/ping\"","{\"content","{\"location\"","{\"x\"","{*user/path}.","{200","{:","{::interceptor/transform","{::kikka","{::middleware/registri","{::middleware/transform","{::role","{::rs/explain","{::server/typ","{:bodi","{:bonu","{:coercion","{:compani","{:compil","{:conflict","{:control","{:data","{:enter","{:executor","{:expand","{:file","{:get","{:handler","{:i","{:id","{:info","{:inject","{:interceptor","{:iso","{:lookup","{:messag","{:method","{:middlewar","{:multipart","{:muuntaja","{:name","{:no","{:not","{:number","{:paramet","{:path","{:port","{:post","{:problem","{:produc","{:queri","{:reitit.coercion/request","{:request","{:role","{:router","{:schema","{:sku","{:spec","{:statu","{:summari","{:swagger","{:tag","{:theme","{:titl","{:too","{:total","{:type","{:uri","{:user","{:valid","{:x","{:z","{:zone","{;;","{method","{name}","{name}.pdf\"]","{number}.pdf\"]]","{rout","{user/id},","{version}.pdf\"]]","{}","{})","{},","{}}","{}}}}}","|","}","µs","µs."],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"Introduction\nReitit is a fast data-driven router for Clojure(Script).\n\nSimple data-driven route syntax\nRoute conflict resolution\nFirst-class route data\nBi-directional routing\nPluggable coercion (schema & clojure.spec)\nHelpers for ring, http, pedestal & frontend\nExtendable\nModular\nFast\n\nThere is #reitit in Clojurians Slack for discussion & help.\nMain Modules\n\nreitit - all bundled\nreitit-core - the routing core\nreitit-ring - a ring router\nreitit-middleware - common middleware for reitit-ring\nreitit-spec clojure.spec coercion\nreitit-schema Schema coercion\nreitit-swagger Swagger2 apidocs\nreitit-swagger-ui Integrated Swagger UI.\nreitit-frontend Tools for frontend routing\nreitit-http http-routing with Pedestal-style Interceptors\nreitit-interceptors - common interceptors for reitit-http\nreitit-sieppari support for Sieppari Interceptors\nreitit-dev - development utilities\n\nExtra modules\n\nreitit-pedestal support for Pedestal\n\nLatest version\nAll bundled:\n[metosin/reitit \"0.3.1\"]\n\nOptionally, the parts can be required separately.\nExamples\nSimple router\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [[\"/api/ping\" ::ping]\n [\"/api/orders/:id\" ::order-by-id]]))\n\nRouting:\n(r/match-by-path router \"/api/ipa\")\n; nil\n\n(r/match-by-path router \"/api/ping\")\n; #Match{:template \"/api/ping\"\n; :data {:name ::ping}\n; :result nil\n; :path-params {}\n; :path \"/api/ping\"}\n\n(r/match-by-path router \"/api/orders/1\")\n; #Match{:template \"/api/orders/:id\"\n; :data {:name ::order-by-id}\n; :result nil\n; :path-params {:id \"1\"}\n; :path \"/api/orders/1\"}\n\nReverse-routing:\n(r/match-by-name router ::ipa)\n; nil\n\n(r/match-by-name router ::ping)\n; #Match{:template \"/api/ping\"\n; :data {:name ::ping}\n; :result nil\n; :path-params {}\n; :path \"/api/ping\"}\n\n(r/match-by-name router ::order-by-id)\n; #PartialMatch{:template \"/api/orders/:id\"\n; :data {:name :user/order-by-id}\n; :result nil\n; :path-params nil\n; :required #{:id}}\n\n(r/partial-match? (r/match-by-name router ::order-by-id))\n; true\n\n(r/match-by-name router ::order-by-id {:id 2})\n; #Match{:template \"/api/orders/:id\",\n; :data {:name ::order-by-id},\n; :result nil,\n; :path-params {:id 2},\n; :path \"/api/orders/2\"}\n\nRing-router\nRing-router adds support for :handler functions, :middleware and routing based on :request-method. It also supports pluggable parameter coercion (clojure.spec), data-driven middleware, route and middleware compilation, dynamic extensions and more.\n(require '[reitit.ring :as ring])\n\n(defn handler [_]\n {:status 200, :body \"ok\"})\n\n(defn wrap [handler id]\n (fn [request]\n (update (handler request) :wrap (fnil conj '()) id)))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[wrap :api]]}\n [\"/ping\" {:get handler\n :name ::ping}]\n [\"/admin\" {:middleware [[wrap :admin]]}\n [\"/users\" {:get handler\n :post handler}]]])))\n\nRouting:\n(app {:request-method :get, :uri \"/api/admin/users\"})\n; {:status 200, :body \"ok\", :wrap (:api :admin}\n\n(app {:request-method :put, :uri \"/api/admin/users\"})\n; nil\n\nReverse-routing:\n(require '[reitit.core :as r])\n\n(-> app (ring/get-router) (r/match-by-name ::ping))\n; #Match{:template \"/api/ping\"\n; :data {:middleware [[#object[user$wrap] :api]]\n; :get {:handler #object[user$handler]}\n; :name ::ping}\n; :result #Methods{...}\n; :path-params nil\n; :path \"/api/ping\"}\n\n"},"basics/route_syntax.html":{"url":"basics/route_syntax.html","title":"Route Syntax","keywords":"","body":"Route Syntax\nRoutes are defined as vectors of String path and optional (non-sequential) route argument child routes.\nRoutes can be wrapped in vectors and lists and nil routes are ignored.\nPaths can have path-parameters (:id) or catch-all-parameters (*path). Since version 0.3.0, parameters can also be wrapped in brackets, enabling use of qualified keywords {user/id}, {*user/path}. The non-bracket syntax might be deprecated later.\nExamples\nSimple route:\n[\"/ping\"]\n\nTwo routes:\n[[\"/ping\"]\n [\"/pong\"]]\n\nRoutes with route arguments:\n[[\"/ping\" ::ping]\n [\"/pong\" {:name ::pong}]]\n\nRoutes with path parameters:\n[[\"/users/:user-id\"]\n [\"/api/:version/ping\"]]\n\n[[\"/users/{user-id}\"]\n [\"/files/file-{number}.pdf\"]]\n\nRoute with catch-all parameter:\n[\"/public/*path\"]\n\n[\"/public/{*path}\"]\n\nNested routes:\n[\"/api\"\n [\"/admin\" {:middleware [::admin]}\n [\"\" ::admin]\n [\"/db\" ::db]]\n [\"/ping\" ::ping]]\n\nSame routes flattened:\n[[\"/api/admin\" {:middleware [::admin], :name ::admin}]\n [\"/api/admin/db\" {:middleware [::admin], :name ::db}]\n [\"/api/ping\" {:name ::ping}]]\n\nEncoding\nReitit does not apply any encoding to your paths. If you need that, you must encode them yourself. E.g., /foo bar should be /foo%20bar.\nWildcards\nNormal path-parameters (:id) can start anywhere in the path string, but have to end either to slash / (currently hardcoded) or to en end of path string:\n[[\"/api/:version\"]\n [\"/files/file-:number\"]\n [\"/user/:user-id/orders\"]]\n\nBracket path-parameters can start and stop anywhere in the path-string, the following character is used as a terminator.\n[[\"/api/{version}\"]\n [\"/files/{name}.{extension}\"]\n [\"/user/{user-id}/orders\"]]\n\nHaving multiple terminators after a bracket path-path parameter with identical path prefix will cause a compile-time error at router creation:\n[[\"/files/file-{name}.pdf\"] ;; terminator \\.\n [\"/files/file-{name}-{version}.pdf\"]] ;; terminator \\-\n\nSlash Free Routing\n[[\"broker.{customer}.{device}.{*data}\"]\n [\"events.{target}.{type}\"]]\n\nGenerating routes\nRoutes are just data, so it's easy to create them programmatically:\n(defn cqrs-routes [actions]\n [\"/api\" {:interceptors [::api ::db]}\n (for [[type interceptor] actions\n :let [path (str \"/\" (name interceptor))\n method (case type\n :query :get\n :command :post)]]\n [path {method {:interceptors [interceptor]}}])])\n\n(cqrs-routes\n [[:query 'get-user]\n [:command 'add-user]\n [:command 'add-order]])\n; [\"/api\" {:interceptors [::api ::db]}\n; ([\"/get-user\" {:get {:interceptors [get-user]}}]\n; [\"/add-user\" {:post {:interceptors [add-user]}}]\n; [\"/add-order\" {:post {:interceptors [add-order]}}])]\n\n"},"basics/router.html":{"url":"basics/router.html","title":"Router","keywords":"","body":"Router\nRoutes are just data and to do routing, we need a router instance satisfying the reitit.core/Router protocol. Routers are created with reitit.core/router function, taking the raw routes and optionally an options map.\nThe Router protocol:\n(defprotocol Router\n (router-name [this])\n (routes [this])\n (options [this])\n (route-names [this])\n (match-by-path [this path])\n (match-by-name [this name] [this name params]))\n\nCreating a router:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/api\"\n [\"/ping\" ::ping]\n [\"/user/:id\" ::user]]))\n\nName of the created router:\n(r/router-name router)\n; :mixed-router\n\nThe flattened route tree:\n(r/routes router)\n; [[\"/api/ping\" {:name :user/ping}]\n; [\"/api/user/:id\" {:name :user/user}]]\n\nWith a router instance, we can do Path-based routing or Name-based (Reverse) routing.\nMore details\nRouter options:\n(r/options router)\n{:lookup #object[...]\n :expand #object[...]\n :coerce #object[...]\n :compile #object[...]\n :conflicts #object[...]}\n\nRoute names:\n(r/route-names router)\n; [:user/ping :user/user]\n\nThe compiled route tree:\n(r/routes router)\n; [[\"/api/ping\" {:name :user/ping} nil]\n; [\"/api/user/:id\" {:name :user/user} nil]]\n\nComposing\nAs routes are defined as plain data, it's easy to merge multiple route trees into a single router\n(def user-routes\n [[\"/users\" ::users]\n [\"/users/:id\" ::user]]) \n\n(def admin-routes\n [\"/admin\"\n [\"/ping\" ::ping]\n [\"/users\" ::users]]) \n\n(r/router\n [admin-routes\n user-routes])\n\nMerged route tree:\n(r/routes router)\n; [[\"/admin/ping\" {:name :user/ping}]\n; [\"/admin/db\" {:name :user/db}]\n; [\"/users\" {:name :user/users}]\n; [\"/users/:id\" {:name :user/user}]]\n\nMore details on composing routers.\nBehind the scenes\nWhen router is created, the following steps are done:\n\nroute tree is flattened\nroute arguments are expanded (via :expand option)\nroutes are coerced (via :coerce options)\nroute tree is compiled (via :compile options)\nroute conflicts are resolved (via :conflicts options)\noptionally, route data is validated (via :validate options)\nrouter implementation is automatically selected (or forced via :router options) and created\n\n"},"basics/path_based_routing.html":{"url":"basics/path_based_routing.html","title":"Path-based Routing","keywords":"","body":"Path-based Routing\nPath-based routing is done using the reitit.core/match-by-path function. It takes the router and path as arguments and returns one of the following:\n\nnil, no match\nPartialMatch, path matched, missing path-parameters (only in reverse-routing)\nMatch, an exact match\n\nGiven a router:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/api\"\n [\"/ping\" ::ping]\n [\"/user/:id\" ::user]]))\n\nNo match returns nil:\n(r/match-by-path router \"/hello\")\n; nil\n\nMatch provides the route information:\n(r/match-by-path router \"/api/user/1\")\n; #Match{:template \"/api/user/:id\"\n; :data {:name :user/user}\n; :path \"/api/user/1\"\n; :result nil\n; :path-params {:id \"1\"}}\n\n"},"basics/name_based_routing.html":{"url":"basics/name_based_routing.html","title":"Name-based Routing","keywords":"","body":"Name-based (reverse) Routing\nAll routes which have :name route data defined can also be matched by name.\nGiven a router:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/api\"\n [\"/ping\" ::ping]\n [\"/user/:id\" ::user]]))\n\nListing all route names:\n(r/route-names router)\n; [:user/ping :user/user]\n\nNo match returns nil:\n(r/match-by-name router ::kikka)\nnil\n\nMatching a route:\n(r/match-by-name router ::ping)\n; #Match{:template \"/api/ping\"\n; :data {:name :user/ping}\n; :result nil\n; :path-params {}\n; :path \"/api/ping\"}\n\nIf not all path-parameters are set, a PartialMatch is returned:\n(r/match-by-name router ::user)\n; #PartialMatch{:template \"/api/user/:id\",\n; :data {:name :user/user},\n; :result nil,\n; :path-params nil,\n; :required #{:id}}\n\n(r/partial-match? (r/match-by-name router ::user))\n; true\n\nWith provided path-parameters:\n(r/match-by-name router ::user {:id \"1\"})\n; #Match{:template \"/api/user/:id\"\n; :data {:name :user/user}\n; :path \"/api/user/1\"\n; :result nil\n; :path-params {:id \"1\"}}\n\nPath-parameters are automatically coerced into strings, with the help of (currently internal) Protocol reitit.impl/IntoString. It supports strings, numbers, booleans, keywords and objects:\n(r/match-by-name router ::user {:id 1})\n; #Match{:template \"/api/user/:id\"\n; :data {:name :user/user}\n; :path \"/api/user/1\"\n; :result nil\n; :path-params {:id \"1\"}}\n\nThere is also an exception throwing version:\n(r/match-by-name! router ::user)\n; ExceptionInfo missing path-params for route /api/user/:id: #{:id}\n\nTo turn a Match into a path, there is reitit.core/match->path:\n(-> router\n (r/match-by-name ::user {:id 1})\n (r/match->path))\n; \"/api/user/1\"\n\nIt can take an optional map of query-parameters too:\n(-> router\n (r/match-by-name ::user {:id 1})\n (r/match->path {:iso \"möly\"}))\n; \"/api/user/1?iso=m%C3%B6ly\"\n\n"},"basics/route_data.html":{"url":"basics/route_data.html","title":"Route Data","keywords":"","body":"Route Data\nRoute data is the key feature of reitit. Routes can have any map-like data attached to them, to be interpreted by the client application, Router or routing components like Middleware or Interceptors.\n[[\"/ping\" {:name ::ping}]\n [\"/pong\" {:handler identity}]\n [\"/users\" {:get {:roles #{:admin}\n :handler identity}}]]\n\nBesides map-like data, raw routes can have any non-sequential route argument after the path. This argument is expanded by Router (via :expand option) into route data at router creation time. \nBy default, Keywords are expanded into :name and functions into :handler keys.\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [[\"/ping\" ::ping]\n [\"/pong\" identity]\n [\"/users\" {:get {:roles #{:admin}\n :handler identity}}]]))\n\nUsing Route Data\nExpanded route data can be retrieved from a router with routes and is returned with match-by-path and match-by-name in case of a route match.\n(r/routes router)\n; [[\"/ping\" {:name ::ping}]\n; [\"/pong\" {:handler identity]}\n; [\"/users\" {:get {:roles #{:admin}\n; :handler identity}}]]\n\n(r/match-by-path router \"/ping\")\n; #Match{:template \"/ping\"\n; :data {:name :user/ping}\n; :result nil\n; :path-params {}\n; :path \"/ping\"}\n\n(r/match-by-name router ::ping)\n; #Match{:template \"/ping\"\n; :data {:name :user/ping}\n; :result nil\n; :path-params {}\n; :path \"/ping\"}\n\nNested Route Data\nFor nested route trees, route data is accumulated recursively from root towards leafs using meta-merge. Default behavior for collections is :append, but this can be overridden to :prepend, :replace or :displace using the target meta-data.\nAn example router with nested data:\n(def router\n (r/router\n [\"/api\" {:interceptors [::api]}\n [\"/ping\" ::ping]\n [\"/admin\" {:roles #{:admin}}\n [\"/users\" ::users]\n [\"/db\" {:interceptors [::db]\n :roles ^:replace #{:db-admin}}]]]))\n\nResolved route tree:\n(r/routes router)\n; [[\"/api/ping\" {:interceptors [::api]\n; :name :user/ping}]\n; [\"/api/admin/users\" {:interceptors [::api]\n; :roles #{:admin}\n; :name ::users} nil]\n; [\"/api/admin/db\" {:interceptors [::api ::db]\n; :roles #{:db-admin}}]]\n\nRoute Data Fragments\nJust like fragments in React.js, we can create routing tree fragments by using empty path \"\". This allows us to add route data without accumulating to path.\nGiven a route tree:\n[[\"/swagger.json\" ::swagger]\n [\"/api-docs\" ::api-docs]\n [\"/api/ping\" ::ping]\n [\"/api/pong\" ::pong]]\n\nAdding :no-doc route data to exclude the first routes from generated Swagger documentation:\n[[\"\" {:no-doc true}\n [\"/swagger.json\" ::swagger]\n [\"/api-docs\" ::api-docs]]\n [\"/api/ping\" ::ping]\n [\"/api/pong\" ::pong]]\n\nAccumulated route data:\n(def router\n (r/router\n [[\"\" {:no-doc true}\n [\"/swagger.json\" ::swagger]\n [\"/api-docs\" ::api-docs]]\n [\"/api/ping\" ::ping]\n [\"/api/pong\" ::pong]]))\n\n(r/routes router)\n; [[\"/swagger.json\" {:no-doc true, :name ::swagger}]\n; [\"/api-docs\" {:no-doc true, :name ::api-docs}]\n; [\"/api/ping\" {:name ::ping}]\n; [\"/api/pong\" {:name ::pong}]]\n\nTop-level Route Data\nRoute data can be introduced also via Router option :data:\n(def router\n (r/router\n [\"/api\"\n {:middleware [::api]}\n [\"/ping\" ::ping]\n [\"/pong\" ::pong]]\n {:data {:middleware [::session]}}))\n\nExpanded routes:\n[[\"/api/ping\" {:middleware [::session ::api], :name ::ping}]\n [\"/api/pong\" {:middleware [::session ::api], :name ::pong}]]\n\nCustomizing Expansion\nBy default, router :expand option has value r/expand function, backed by a r/Expand protocol. Expansion can be customized either by swapping the :expand implementation or by extending the Protocol. r/Expand implementations can be recursive.\nNaive example to add direct support for java.io.File route argument:\n(extend-type java.io.File\n r/Expand\n (expand [file options]\n (r/expand\n #(slurp file)\n options)))\n\n(r/router\n [\"/\" (java.io.File. \"index.html\")])\n\nPage shared routes has an example of an custom :expand implementation.\nRoute data validation\nSee Route data validation.\n"},"basics/route_data_validation.html":{"url":"basics/route_data_validation.html","title":"Route Data Validation","keywords":"","body":"Route Data Validation\nRoute data can be anything, so it's easy to go wrong. Accidentally adding a :role key instead of :roles might hinder the whole routing app without any authorization in place.\nTo fail fast, we could use the custom :coerce and :compile hooks to apply data validation and throw exceptions on first sighted problem.\nBut there is a better way. Router has a :validation hook to validate the whole route tree after it's successfuly compiled. It expects a 2-arity function routes opts => () that can side-effect in case of validation errors.\nclojure.spec\nNamespace reitit.spec contains specs for main parts of reitit.core and a helper function validate that runs spec validation for all route data and throws an exception if any errors are found.\nA Router with invalid route data:\n(require '[reitit.core :as r])\n\n(r/router\n [\"/api\" {:handler \"identity\"}])\n; #object[reitit.core$...]\n\nFails fast with clojure.spec validation turned on:\n(require '[reitit.spec :as rs])\n\n(r/router\n [\"/api\" {:handler \"identity\"}]\n {:validate rs/validate})\n; CompilerException clojure.lang.ExceptionInfo: Invalid route data:\n;\n; -- On route -----------------------\n;\n; \"/api\"\n;\n; In: [:handler] val: \"identity\" fails spec: :reitit.spec/handler at: [:handler] predicate: fn?\n;\n; {:problems (#reitit.spec.Problem{:path \"/api\", :scope nil, :data {:handler \"identity\"}, :spec :reitit.spec/default-data, :problems #:clojure.spec.alpha{:problems ({:path [:handler], :pred clojure.core/fn?, :val \"identity\", :via [:reitit.spec/default-data :reitit.spec/handler], :in [:handler]}), :spec :reitit.spec/default-data, :value {:handler \"identity\"}}})}, compiling: ...\n\nCustomizing spec validation\nrs/validate reads the following router options:\n\n\n\nkey\ndescription\n\n\n\n\n:spec\nthe spec to verify the route data (default ::rs/default-data)\n\n\n::rs/explain\ncustom explain function (default clojure.spec.alpha/explain-str)\n\n\n\nNOTE: clojure.spec implicitly validates all values with fully-qualified keys if specs exist with the same name.\nBelow is an example of using expound to pretty-print route data problems.\n(require '[clojure.spec.alpha :as s])\n(require '[expound.alpha :as e])\n\n(s/def ::role #{:admin :manager})\n(s/def ::roles (s/coll-of ::role :into #{}))\n\n(r/router\n [\"/api\" {:handler identity\n ::roles #{:adminz}}]\n {::rs/explain e/expound-str\n :validate rs/validate})\n; CompilerException clojure.lang.ExceptionInfo: Invalid route data:\n;\n; -- On route -----------------------\n;\n; \"/api\"\n;\n; -- Spec failed --------------------\n;\n; {:handler ..., :user/roles #{:adminz}}\n; ^^^^^^^\n;\n; should be one of: `:admin`,`:manager`\n;\n; -- Relevant specs -------\n;\n; :user/role:\n; #{:admin :manager}\n; :user/roles:\n; (clojure.spec.alpha/coll-of :user/role :into #{})\n; :reitit.spec/default-data:\n; (clojure.spec.alpha/keys\n; :opt-un\n; [:reitit.spec/name :reitit.spec/handler])\n;\n; -------------------------\n; Detected 1 error\n;\n; {:problems (#reitit.spec.Problem{:path \"/api\", :scope nil, :data {:handler #object[clojure.core$identity 0x15b59b0e \"clojure.core$identity@15b59b0e\"], :user/roles #{:adminz}}, :spec :reitit.spec/default-data, :problems #:clojure.spec.alpha{:problems ({:path [:user/roles], :pred #{:admin :manager}, :val :adminz, :via [:reitit.spec/default-data :user/roles :user/role], :in [:user/roles 0]}), :spec :reitit.spec/default-data, :value {:handler #object[clojure.core$identity 0x15b59b0e \"clojure.core$identity@15b59b0e\"], :user/roles #{:adminz}}}})}, compiling: ...\n\nExplicitly requiring a ::roles key in a route data:\n(r/router\n [\"/api\" {:handler identity}]\n {:spec (s/merge (s/keys :req [::roles]) ::rs/default-data)\n ::rs/explain e/expound-str\n :validate rs/validate})\n; CompilerException clojure.lang.ExceptionInfo: Invalid route data:\n;\n; -- On route -----------------------\n;\n; \"/api\"\n;\n; -- Spec failed --------------------\n;\n; {:handler\n; #object[clojure.core$identity 0x15b59b0e \"clojure.core$identity@15b59b0e\"]}\n;\n; should contain key: `:user/roles`\n;\n; | key | spec |\n; |-------------+----------------------------------------|\n; | :user/roles | (coll-of #{:admin :manager} :into #{}) |\n;\n;\n;\n; -------------------------\n; Detected 1 error\n;\n; {:problems (#reitit.spec.Problem{:path \"/api\", :scope nil, :data {:handler #object[clojure.core$identity 0x15b59b0e \"clojure.core$identity@15b59b0e\"]}, :spec #object[clojure.spec.alpha$merge_spec_impl$reify__2124 0x7461744b \"clojure.spec.alpha$merge_spec_impl$reify__2124@7461744b\"], :problems #:clojure.spec.alpha{:problems ({:path [], :pred (clojure.core/fn [%] (clojure.core/contains? % :user/roles)), :val {:handler #object[clojure.core$identity 0x15b59b0e \"clojure.core$identity@15b59b0e\"]}, :via [], :in []}), :spec #object[clojure.spec.alpha$merge_spec_impl$reify__2124 0x7461744b \"clojure.spec.alpha$merge_spec_impl$reify__2124@7461744b\"], :value {:handler #object[clojure.core$identity 0x15b59b0e \"clojure.core$identity@15b59b0e\"]}}})}, compiling:(/Users/tommi/projects/metosin/reitit/test/cljc/reitit/spec_test.cljc:151:1)\n\n"},"basics/route_conflicts.html":{"url":"basics/route_conflicts.html","title":"Route Conflicts","keywords":"","body":"Route Conflicts\nWe should fail fast if a router contains conflicting paths or route names. \nWhen a Router is created via reitit.core/router, both path and route name conflicts are checked automatically. By default, in case of conflict, an ex-info is thrown with a descriptive message. In some (legacy api) cases, path conflicts should be allowed and one can override the path conflict resolution via :conflicts router option.\nPath Conflicts\nRoutes with path conflicts:\n(require '[reitit.core :as r])\n\n(def routes\n [[\"/ping\"]\n [\"/:user-id/orders\"]\n [\"/bulk/:bulk-id\"]\n [\"/public/*path\"]\n [\"/:version/status\"]])\n\nCreating router with defaults:\n(r/router routes)\n; CompilerException clojure.lang.ExceptionInfo: Router contains conflicting route paths:\n;\n; /:user-id/orders\n; -> /public/*path\n; -> /bulk/:bulk-id\n;\n; /bulk/:bulk-id\n; -> /:version/status\n;\n; /public/*path\n; -> /:version/status\n;\n\nTo ignore the conflicts:\n(r/router\n routes\n {:conflicts nil})\n; => #object[reitit.core$linear_router$reify]\n\nTo just log the conflicts:\n(r/router\n routes\n {:conflicts (fn [conflicts]\n (println (r/path-conflicts-str conflicts)))})\n; Router contains conflicting route paths:\n;\n; /:user-id/orders\n; -> /public/*path\n; -> /bulk/:bulk-id\n;\n; /bulk/:bulk-id\n; -> /:version/status\n;\n; /public/*path\n; -> /:version/status\n;\n; => #object[reitit.core$linear_router$reify]\n\nName conflicts\nRoutes with name conflicts:\n(def routes\n [[\"/ping\" ::ping]\n [\"/admin\" ::admin]\n [\"/admin/ping\" ::ping]])\n\nCreating router with defaults:\n(r/router routes)\n;CompilerException clojure.lang.ExceptionInfo: Router contains conflicting route names:\n;\n;:reitit.core/ping\n;-> /ping\n;-> /admin/ping\n;\n\nThere is no way to disable the name conflict resolution.\n"},"coercion/coercion.html":{"url":"coercion/coercion.html","title":"Coercion Explained","keywords":"","body":"Coercion Explained\nCoercion is a process of transforming parameters (and responses) from one format into another. Reitit separates routing and coercion into two separate steps.\nBy default, all wildcard and catch-all parameters are parsed into strings:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" ::user-view]))\n\nMatch with the parsed :path-params as strings:\n(r/match-by-path r \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view},\n; :result nil,\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :path \"/metosin/users/123\"}\n\nTo enable parameter coercion, the following things need to be done:\n\nDefine a Coercion for the routes\nDefine types for the parameters\nCompile coercers for the types\nApply the coercion\n\nDefine Coercion\nreitit.coercion/Coercion is a protocol defining how types are defined, coerced and inventoried.\nReitit ships with the following coercion modules:\n\nreitit.coercion.schema/coercion for plumatic schema\nreitit.coercion.spec/coercion for both clojure.spec and data-specs\n\nCoercion can be attached to route data under :coercion key. There can be multiple Coercion implementations within a single router, normal scoping rules apply.\nDefining parameters\nRoute parameters can be defined via route data :parameters. It has keys for different type of parameters: :query, :body, :form, :header and :path. Syntax for the actual parameters depends on the Coercion implementation.\nExample with Schema path-parameters:\n(require '[reitit.coercion.schema])\n(require '[schema.core :as s])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.schema/coercion\n :parameters {:path {:company s/Str\n :user-id s/Int}}}]))\n\nA Match:\n(r/match-by-path r \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path {:company java.lang.String,\n; :user-id Int}}},\n; :result nil,\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :path \"/metosin/users/123\"}\n\nCoercion was not applied. Why? In Reitit, routing and coercion are separate processes and we have done just the routing part. We need to apply coercion after the successful routing.\nBut now we should have enough data on the match to apply the coercion.\nCompiling coercers\nBefore the actual coercion, we should need to compile the coercers against the route data. Compiled coercers yield much better performance and the manual step of adding a coercion compiler makes things explicit and non-magical.\nCompiling can be done via a Middleware, Interceptor or a Router. We apply it now at router-level, effecting all routes (with :parameters and :coercion defined).\nThere is a helper function reitit.coercion/compile-request-coercers just for this:\n(require '[reitit.coercion :as coercion])\n(require '[reitit.coercion.schema])\n(require '[schema.core :as s])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.schema/coercion\n :parameters {:path {:company s/Str\n :user-id s/Int}}}]\n {:compile coercion/compile-request-coercers}))\n\nRouting again:\n(r/match-by-path r \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path {:company java.lang.String,\n; :user-id Int}}},\n; :result {:path #object[reitit.coercion$request_coercer$]},\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :path \"/metosin/users/123\"}\n\nThe compiler added a :result key into the match (done just once, at router creation time), which holds the compiled coercers. We are almost done.\nApplying coercion\nWe can use a helper function reitit.coercion/coerce! to do the actual coercion, based on a Match:\n(coercion/coerce!\n (r/match-by-path router \"/metosin/users/123\"))\n; {:path {:company \"metosin\", :user-id 123}}\n\nWe get the coerced paremeters back. If a coercion fails, a typed (:reitit.coercion/request-coercion) ExceptionInfo is thrown, with data about the actual error:\n(coercion/coerce!\n (r/match-by-path router \"/metosin/users/ikitommi\"))\n; => ExceptionInfo Request coercion failed:\n; #CoercionError{:schema {:company java.lang.String, :user-id Int, Any Any},\n; :errors {:user-id (not (integer? \"ikitommi\"))}}\n; clojure.core/ex-info (core.clj:4739)\n\nFull example\nHere's a full example for doing routing and coercion with Reitit and Schema:\n(require '[reitit.coercion.schema])\n(require '[reitit.coercion :as coercion])\n(require '[reitit.core :as r])\n(require '[schema.core :as s])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.schema/coercion\n :parameters {:path {:company s/Str\n :user-id s/Int}}}]\n {:compile coercion/compile-request-coercers}))\n\n(defn match-by-path-and-coerce! [path]\n (if-let [match (r/match-by-path router path)]\n (assoc match :parameters (coercion/coerce! match))))\n\n(match-by-path-and-coerce! \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path {:company java.lang.String,\n; :user-id Int}}},\n; :result {:path #object[reitit.coercion$request_coercer$]},\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :parameters {:path {:company \"metosin\", :user-id 123}}\n; :path \"/metosin/users/123\"}\n\n(match-by-path-and-coerce! \"/metosin/users/ikitommi\")\n; => ExceptionInfo Request coercion failed...\n\nRing Coercion\nFor a full-blown http-coercion, see the ring coercion.\n"},"coercion/schema_coercion.html":{"url":"coercion/schema_coercion.html","title":"Plumatic Schema","keywords":"","body":"Plumatic Schema Coercion\nPlumatic Schema is a Clojure(Script) library for declarative data description and validation.\n(require '[reitit.coercion.schema])\n(require '[reitit.coercion :as coercion])\n(require '[schema.core :as s])\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.schema/coercion\n :parameters {:path {:company s/Str\n :user-id s/Int}}}]\n {:compile coercion/compile-request-coercers}))\n\n(defn match-by-path-and-coerce! [path]\n (if-let [match (r/match-by-path router path)]\n (assoc match :parameters (coercion/coerce! match))))\n\nSuccessful coercion:\n(match-by-path-and-coerce! \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path {:company java.lang.String,\n; :user-id Int}}},\n; :result {:path #object[reitit.coercion$request_coercer$]},\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :parameters {:path {:company \"metosin\", :user-id 123}}\n; :path \"/metosin/users/123\"}\n\nFailing coercion:\n(match-by-path-and-coerce! \"/metosin/users/ikitommi\")\n; => ExceptionInfo Request coercion failed...\n\n"},"coercion/clojure_spec_coercion.html":{"url":"coercion/clojure_spec_coercion.html","title":"Clojure.spec","keywords":"","body":"Clojure.spec Coercion\nThe clojure.spec library specifies the structure of data, validates or destructures it, and can generate data based on the spec.\nWarning\nclojure.spec by itself doesn't support coercion. reitit uses spec-tools that adds coercion to spec. Like clojure.spec, it's alpha as it leans both on spec walking and clojure.spec.alpha/conform, which is concidered a spec internal, that might be changed or removed later.\nUsage\nFor simple specs (core predicates, spec-tools.core/spec, s/and, s/or, s/coll-of, s/keys, s/map-of, s/nillable and s/every), the transformation is inferred using spec-walker and is automatic. To support all specs (like regex-specs), specs need to be wrapped into Spec Records.\nThere are CLJ-2116 and CLJ-2251 that would help solve this elegantly. Go vote 'em up.\nExample\n(require '[reitit.coercion.spec])\n(require '[reitit.coercion :as coercion])\n(require '[spec-tools.spec :as spec])\n(require '[clojure.spec.alpha :as s])\n(require '[reitit.core :as r])\n\n;; simple specs, inferred\n(s/def ::company string?)\n(s/def ::user-id int?)\n(s/def ::path-params (s/keys :req-un [::company ::user-id]))\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.spec/coercion\n :parameters {:path ::path-params}}]\n {:compile coercion/compile-request-coercers}))\n\n(defn match-by-path-and-coerce! [path]\n (if-let [match (r/match-by-path router path)]\n (assoc match :parameters (coercion/coerce! match))))\n\nSuccessful coercion:\n(match-by-path-and-coerce! \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path ::path-params}},\n; :result {:path #object[reitit.coercion$request_coercer$]},\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :parameters {:path {:company \"metosin\", :user-id 123}}\n; :path \"/metosin/users/123\"}\n\nFailing coercion:\n(match-by-path-and-coerce! \"/metosin/users/ikitommi\")\n; => ExceptionInfo Request coercion failed...\n\nDeeply nested\nSpec-tools allow deeply nested specs to be coerced. One can test the coercion easily in the REPL.\nDefine some specs:\n(require '[clojure.spec.alpha :as s])\n(require '[spec-tools.core :as st])\n\n(s/def :sku/id keyword?)\n(s/def ::sku (s/keys :req-un [:sku/id]))\n(s/def ::skus (s/coll-of ::sku :into []))\n\n(s/def :photo/id int?)\n(s/def ::photo (s/keys :req-un [:photo/id]))\n(s/def ::photos (s/coll-of ::photo :into []))\n\n(s/def ::my-json-api (s/keys :req-un [::skus ::photos]))\n\nApply a string->edn coercion to the data:\n(st/coerce\n ::my-json-api\n {:skus [{:id \"123\"}]\n :photos [{:id \"123\"}]}\n st/string-transformer)\n; {:skus [{:id :123}]\n; :photos [{:id 123}]}\n\nApply a json->edn coercion to the data:\n(st/coerce\n ::my-json-api\n {:skus [{:id \"123\"}]\n :photos [{:id \"123\"}]}\n st/json-transformer)\n; {:skus [{:id :123}]\n; :photos [{:id \"123\"}]}\n\nBy default, reitit uses custom transformers that also strip out extra keys from s/keys specs:\n(require '[reitit.coercion.spec :as rcs])\n\n(st/coerce\n ::my-json-api\n {:TOO \"MUCH\"\n :skus [{:id \"123\"\n :INFOR \"MATION\"}]\n :photos [{:id \"123\"\n :HERE \"TOO\"}]}\n rcs/json-transformer)\n; {:skus [{:id :123}]\n; :photos [{:id \"123\"}]}\n\n"},"coercion/data_spec_coercion.html":{"url":"coercion/data_spec_coercion.html","title":"Data-specs","keywords":"","body":"Data-spec Coercion\nData-specs is alternative, macro-free syntax to define clojure.specs. As a bonus, supports the runtime transformations via conforming out-of-the-box.\n(require '[reitit.coercion.spec])\n(require '[reitit.coercion :as coercion])\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.spec/coercion\n :parameters {:path {:company string?\n :user-id int?}}}]\n {:compile coercion/compile-request-coercers}))\n\n(defn match-by-path-and-coerce! [path]\n (if-let [match (r/match-by-path router path)]\n (assoc match :parameters (coercion/coerce! match))))\n\nSuccessful coercion:\n(match-by-path-and-coerce! \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path {:company string?,\n; :user-id int?}}},\n; :result {:path #object[reitit.coercion$request_coercer$]},\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :parameters {:path {:company \"metosin\", :user-id 123}}\n; :path \"/metosin/users/123\"}\n\nFailing coercion:\n(match-by-path-and-coerce! \"/metosin/users/ikitommi\")\n; => ExceptionInfo Request coercion failed...\n\n"},"ring/ring.html":{"url":"ring/ring.html","title":"Ring-router","keywords":"","body":"Ring Router\nRing is a Clojure web applications library inspired by Python's WSGI and Ruby's Rack. By abstracting the details of HTTP into a simple, unified API, Ring allows web applications to be constructed of modular components that can be shared among a variety of applications, web servers, and web frameworks.\nRead more about the Ring Concepts.\n[metosin/reitit-ring \"0.3.1\"]\n\nreitit.ring/ring-router\nring-router is a higher order router, which adds support for :request-method based routing, handlers and middleware.\n It accepts the following options:\n\n\n\nkey\ndescription\n\n\n\n\n:reitit.middleware/transform\nFunction of [Middleware] => [Middleware] to transform the expanded Middleware (default: identity).\n\n\n:reitit.middleware/registry\nMap of keyword => IntoMiddleware to replace keyword references into Middleware\n\n\n:reitit.ring/default-options-handler\nDefault handler for :options method in endpoints (default: default-options-handler)\n\n\n\nExample router:\n(require '[reitit.ring :as ring])\n\n(defn handler [_]\n {:status 200, :body \"ok\"})\n\n(def router\n (ring/router\n [\"/ping\" {:get handler}]))\n\nMatch contains :result compiled by the ring-router:\n(require '[reitit.core :as r])\n\n(r/match-by-path router \"/ping\")\n;#Match{:template \"/ping\"\n; :data {:get {:handler #object[...]}}\n; :result #Methods{:get #Endpoint{...}\n; :options #Endpoint{...}}\n; :path-params {}\n; :path \"/ping\"}\n\nreitit.ring/ring-handler\nGiven a ring-router, optional default-handler & options, ring-handler function will return a valid ring handler supporting both synchronous and asynchronous request handling. The following options are available:\n\n\n\nkey\ndescription\n\n\n\n\n:middleware\nOptional sequence of middleware that wrap the ring-handler\"\n\n\n:inject-match?\nBoolean to inject match into request under :reitit.core/match key (default true)\n\n\n:inject-router?\nBoolean to inject router into request under :reitit.core/router key (default true)\n\n\n\nSimple Ring app:\n(def app (ring/ring-handler router))\n\nApplying the handler:\n(app {:request-method :get, :uri \"/favicon.ico\"})\n; nil\n\n(app {:request-method :get, :uri \"/ping\"})\n; {:status 200, :body \"ok\"}\n\nThe router can be accessed via get-router:\n(-> app (ring/get-router) (r/compiled-routes))\n;[[\"/ping\"\n; {:handler #object[...]}\n; #Methods{:get #Endpoint{:data {:handler #object[...]}\n; :handler #object[...]\n; :middleware []}\n; :options #Endpoint{:data {:handler #object[...]}\n; :handler #object[...]\n; :middleware []}}]]\n\nRequest-method based routing\nHandlers can be placed either to the top-level (all methods) or under a specific method (:get, :head, :patch, :delete, :options, :post, :put or :trace). Top-level handler is used if request-method based handler is not found. \nBy default, the :options route is generated for all paths - to enable thing like CORS.\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/all\" handler]\n [\"/ping\" {:name ::ping\n :get handler\n :post handler}]])))\n\nTop-level handler catches all methods:\n(app {:request-method :delete, :uri \"/all\"})\n; {:status 200, :body \"ok\"}\n\nMethod-level handler catches only the method:\n(app {:request-method :get, :uri \"/ping\"})\n; {:status 200, :body \"ok\"}\n\n(app {:request-method :put, :uri \"/ping\"})\n; nil\n\nBy default, :options is also supported (see router options to change this):\n(app {:request-method :options, :uri \"/ping\"})\n; {:status 200, :body \"\"}\n\nName-based reverse routing:\n(-> app\n (ring/get-router)\n (r/match-by-name ::ping)\n (r/match->path))\n; \"/ping\"\n\nMiddleware\nMiddleware can be mounted using a :middleware key - either to top-level or under request method submap. Its value should be a vector of reitit.middleware/IntoMiddleware values. These include:\n\nnormal ring middleware function handler -> request -> response\nvector of middleware function [handler args*] -> request -> response and it's arguments\na data-driven middleware record or a map\na Keyword name, to lookup the middleware from a Middleware Registry\n\nA middleware and a handler:\n(defn wrap [handler id]\n (fn [request]\n (handler (update request ::acc (fnil conj []) id))))\n\n(defn handler [{:keys [::acc]}]\n {:status 200, :body (conj acc :handler)})\n\nApp with nested middleware:\n(def app\n (ring/ring-handler\n (ring/router\n ;; a middleware function\n [\"/api\" {:middleware [#(wrap % :api)]}\n [\"/ping\" handler]\n ;; a middleware vector at top level\n [\"/admin\" {:middleware [[wrap :admin]]}\n [\"/db\" {:middleware [[wrap :db]]\n ;; a middleware vector at under a method\n :delete {:middleware [[wrap :delete]]\n :handler handler}}]]])))\n\nMiddleware is applied correctly:\n(app {:request-method :delete, :uri \"/api/ping\"})\n; {:status 200, :body [:api :handler]}\n\n(app {:request-method :delete, :uri \"/api/admin/db\"})\n; {:status 200, :body [:api :admin :db :delete :handler]}\n\nTop-level middleware, applied before any routing is done:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[mw :api]]}\n [\"/get\" {:get handler}]])\n nil \n {:middleware [[mw :top]]}))\n\n(app {:request-method :get, :uri \"/api/get\"})\n; {:status 200, :body [:top :api :ok]}\n\n"},"ring/reverse_routing.html":{"url":"ring/reverse_routing.html","title":"Reverse-routing","keywords":"","body":"Reverse routing with Ring\nBoth the router and the match are injected into Ring Request (as ::r/router and ::r/match) by the reitit.ring/ring-handler and with that, available to middleware and endpoints. To convert a Match into a path, one can use r/match->path, which optionally takes a map of query-parameters too.\nBelow is an example how to do reverse routing from a ring handler:\n(require '[reitit.core :as r])\n(require '[reitit.ring :as ring])\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/users\"\n {:get (fn [{:keys [::r/router]}]\n {:status 200\n :body (for [i (range 10)]\n {:uri (-> router\n (r/match-by-name ::user {:id i})\n ;; with extra query-params\n (r/match->path {:iso \"möly\"}))})})}]\n [\"/users/:id\"\n {:name ::user\n :get (constantly {:status 200, :body \"user...\"})}]])))\n\n(app {:request-method :get, :uri \"/users\"})\n; {:status 200,\n; :body ({:uri \"/users/0?iso=m%C3%B6ly\"}\n; {:uri \"/users/1?iso=m%C3%B6ly\"}\n; {:uri \"/users/2?iso=m%C3%B6ly\"}\n; {:uri \"/users/3?iso=m%C3%B6ly\"}\n; {:uri \"/users/4?iso=m%C3%B6ly\"}\n; {:uri \"/users/5?iso=m%C3%B6ly\"}\n; {:uri \"/users/6?iso=m%C3%B6ly\"}\n; {:uri \"/users/7?iso=m%C3%B6ly\"}\n; {:uri \"/users/8?iso=m%C3%B6ly\"}\n; {:uri \"/users/9?iso=m%C3%B6ly\"})}\n\n"},"ring/default_handler.html":{"url":"ring/default_handler.html","title":"Default handler","keywords":"","body":"Default handler\nBy default, if no routes match, nil is returned, which is not valid response in Ring:\n(require '[reitit.ring :as ring])\n\n(defn handler [_]\n {:status 200, :body \"\"})\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/ping\" handler])))\n\n(app {:uri \"/invalid\"})\n; nil\n\nSetting the default-handler as a second argument to ring-handler:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/ping\" handler])\n (constantly {:status 404, :body \"\"})))\n\n(app {:uri \"/invalid\"})\n; {:status 404, :body \"\"}\n\nTo get more correct http error responses, ring/create-default-handler can be used. It differentiates :not-found (no route matched), :method-not-allowed (no method matched) and :not-acceptable (handler returned nil).\nWith defaults:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" {:get handler}]\n [\"/pong\" (constantly nil)]])\n (ring/create-default-handler)))\n\n(app {:request-method :get, :uri \"/ping\"})\n; {:status 200, :body \"\"}\n\n(app {:request-method :get, :uri \"/\"})\n; {:status 404, :body \"\"}\n\n(app {:request-method :post, :uri \"/ping\"})\n; {:status 405, :body \"\"}\n\n(app {:request-method :get, :uri \"/pong\"})\n; {:status 406, :body \"\"}\n\nWith custom responses:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" {:get handler}]\n [\"/pong\" (constantly nil)]])\n (ring/create-default-handler\n {:not-found (constantly {:status 404, :body \"kosh\"})\n :method-not-allowed (constantly {:status 405, :body \"kosh\"})\n :not-acceptable (constantly {:status 406, :body \"kosh\"})})))\n\n(app {:request-method :get, :uri \"/ping\"})\n; {:status 200, :body \"\"}\n\n(app {:request-method :get, :uri \"/\"})\n; {:status 404, :body \"kosh\"}\n\n(app {:request-method :post, :uri \"/ping\"})\n; {:status 405, :body \"kosh\"}\n\n(app {:request-method :get, :uri \"/pong\"})\n; {:status 406, :body \"kosh\"}\n\n"},"ring/slash_handler.html":{"url":"ring/slash_handler.html","title":"Slash handler","keywords":"","body":"Slash handler\nThe router works with precise matches. If a route is defined without a trailing slash, for example, it won't match a request with a slash.\n(require '[reitit.ring :as ring])\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/ping\" (constantly {:status 200, :body \"\"})])))\n\n(app {:uri \"/ping/\"})\n; nil\n\nSometimes it is desirable that paths with and without a trailing slash are recognized as the same.\nSetting the redirect-trailing-slash-handler as a second argument to ring-handler:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"\"})]\n [\"/pong/\" (constantly {:status 200, :body \"\"})]])\n (ring/redirect-trailing-slash-handler)))\n\n(app {:uri \"/ping/\"})\n; {:status 308, :headers {\"Location\" \"/ping\"}, :body \"\"}\n\n(app {:uri \"/pong\"})\n; {:status 308, :headers {\"Location\" \"/pong/\"}, :body \"\"}\n\nredirect-trailing-slash-handler accepts an optional :method parameter that allows configuring how (whether) to handle missing/extra slashes. The default is to handle both.\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"\"})]\n [\"/pong/\" (constantly {:status 200, :body \"\"})]])\n ; only handle extra trailing slash\n (ring/redirect-trailing-slash-handler {:method :strip})))\n\n(app {:uri \"/ping/\"})\n; {:status 308, :headers {\"Location\" \"/ping\"}, :body \"\"}\n\n(app {:uri \"/pong\"})\n; nil\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"\"})]\n [\"/pong/\" (constantly {:status 200, :body \"\"})]])\n ; only handle missing trailing slash\n (ring/redirect-trailing-slash-handler {:method :add})))\n\n(app {:uri \"/ping/\"})\n; nil\n\n(app {:uri \"/pong\"})\n; {:status 308, :headers {\"Location\" \"/pong/\"}, :body \"\"}\n\nredirect-trailing-slash-handler can be composed with the default handler using ring/routes for more correct http error responses:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"\"})]\n [\"/pong/\" (constantly {:status 200, :body \"\"})]])\n (ring/routes\n (ring/redirect-trailing-slash-handler {:method :add})\n (ring/create-default-handler))))\n\n(app {:uri \"/ping/\"})\n; {:status 404, :body \"\", :headers {}}\n\n(app {:uri \"/pong\"})\n; {:status 308, :headers {\"Location\" \"/pong/\"}, :body \"\"}\n\n"},"ring/static.html":{"url":"ring/static.html","title":"Static Resources","keywords":"","body":"Static Resources (Clojure Only)\nStatic resources can be served using reitit.ring/create-resource-handler. It takes optionally an options map and returns a ring handler to serve files from Classpath.\nThere are two options to serve the files.\nInternal routes\nThis is good option if static files can be from non-conflicting paths, e.g. \"/assets/*\".\n(require '[reitit.ring :as ring])\n\n(ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"pong\"})]\n [\"/assets/*\" (ring/create-resource-handler)]])\n (ring/create-default-handler))\n\nTo serve static files with conflicting routes, e.g. \"/*\", one needs to disable the conflict resolution:\n(require '[reitit.ring :as ring])\n\n(ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"pong\"})]\n [\"/*\" (ring/create-resource-handler)]]\n {:conflicts (constantly nil)})\n (ring/create-default-handler))\n\nExternal routes\nA better way to serve files from conflicting paths, e.g. \"/*\", is to serve them from the default-handler. One can compose multiple default locations using ring-handler. This way, they are only served if none of the actual routes have matched.\n(ring/ring-handler\n (ring/router\n [\"/ping\" (constantly {:status 200, :body \"pong\"})])\n (ring/routes\n (ring/create-resource-handler {:path \"/\"})\n (ring/create-default-handler)))\n\nConfiguration\nreitit.ring/create-resource-handler takes optionally an options map to configure how the files are being served.\n\n\n\nkey\ndescription\n\n\n\n\n:parameter\noptional name of the wildcard parameter, defaults to unnamed keyword :\n\n\n:root\noptional resource root, defaults to \\\"public\\\"\n\n\n:path\noptional path to mount the handler to. Works only if mounted outside of a router.\n\n\n:loader\noptional class loader to resolve the resources\n\n\n:index-files\noptional vector of index-files to look in a resource directory, defaults to [\\\"index.html\\\"]\n\n\n:not-found-handler\noptional handler function to use if the requested resource is missing (404 Not Found)\n\n\n\nTODO\n\nsupport for things like :cache, :etag, :last-modified?, and :gzip\nsupport for ClojureScript\nserve from file-system\n\n"},"ring/dynamic_extensions.html":{"url":"ring/dynamic_extensions.html","title":"Dynamic Extensions","keywords":"","body":"Dynamic Extensions\nring-handler injects the Match into a request and it can be extracted at runtime with reitit.ring/get-match. This can be used to build ad-hoc extensions to the system.\nExample middleware to guard routes based on user roles:\n(require '[reitit.ring :as ring])\n(require '[clojure.set :as set])\n\n(defn wrap-enforce-roles [handler]\n (fn [{:keys [::roles] :as request}]\n (let [required (some-> request (ring/get-match) :data ::roles)]\n (if (and (seq required) (not (set/subset? required roles)))\n {:status 403, :body \"forbidden\"}\n (handler request)))))\n\nMounted to an app via router data (affecting all routes):\n(def handler (constantly {:status 200, :body \"ok\"}))\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/api\"\n [\"/ping\" handler]\n [\"/admin\" {::roles #{:admin}}\n [\"/ping\" handler]]]]\n {:data {:middleware [wrap-enforce-roles]}})))\n\nAnonymous access to public route:\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body \"ok\"}\n\nAnonymous access to guarded route:\n(app {:request-method :get, :uri \"/api/admin/ping\"})\n; {:status 403, :body \"forbidden\"}\n\nAuthorized access to guarded route:\n(app {:request-method :get, :uri \"/api/admin/ping\", ::roles #{:admin}})\n; {:status 200, :body \"ok\"}\n\nDynamic extensions are nice, but we can do much better. See data-driven middleware and compiling routes.\n"},"ring/data_driven_middleware.html":{"url":"ring/data_driven_middleware.html","title":"Data-driven Middleware","keywords":"","body":"Data-driven Middleware\nRing defines middleware as a function of type handler & args => request => response. It's relatively easy to understand and enables good performance. Downside is that the middleware-chain is just a opaque function, making things like debugging and composition hard. It's too easy to apply the middleware in wrong order.\nReitit defines middleware as data:\n\nMiddleware can be defined as first-class data entries\nMiddleware can be mounted as a duct-style vector (of middleware)\nMiddleware can be optimized & compiled againt an endpoint\nMiddleware chain can be transformed by the router\n\nMiddleware as data\nAll values in the :middleware vector in the route data are expanded into reitit.middleware/Middleware Records with using the reitit.middleware/IntoMiddleware Protocol. By default, functions, maps and Middleware records are allowed.\nRecords can have arbitrary keys, but the following keys have a special purpose:\n\n\n\nkey\ndescription\n\n\n\n\n:name\nName of the middleware as a qualified keyword\n\n\n:spec\nclojure.spec definition for the route data, see route data validation (optional)\n\n\n:wrap\nThe actual middleware function of handler & args => request => response\n\n\n:compile\nMiddleware compilation function, see compiling middleware.\n\n\n\nMiddleware Records are accessible in their raw form in the compiled route results, thus available for inventories, creating api-docs etc.\nFor the actual request processing, the Records are unwrapped into normal functions and composed into a middleware function chain, yielding zero runtime penalty.\nCreating Middleware\nThe following produce identical middleware runtime function.\nFunction\n(defn wrap [handler id]\n (fn [request]\n (handler (update request ::acc (fnil conj []) id))))\n\nMap\n(def wrap3\n {:name ::wrap3\n :description \"Middleware that does things.\"\n :wrap wrap})\n\nRecord\n(require '[reitit.middleware :as middleware])\n\n(def wrap2\n (middleware/create\n {:name ::wrap2\n :description \"Middleware that does things.\"\n :wrap wrap}))\n\nUsing Middleware\n:middleware is merged to endpoints by the router.\n(require '[reitit.ring :as ring])\n\n(defn handler [{:keys [::acc]}]\n {:status 200, :body (conj acc :handler)})\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[wrap 1] [wrap2 2]]}\n [\"/ping\" {:get {:middleware [[wrap3 3]]\n :handler handler}}]])))\n\nAll the middleware are applied correctly:\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body [1 2 3 :handler]}\n\nCompiling middleware\nMiddleware can be optimized against an endpoint using middleware compilation.\nIdeas for the future\n\nSupport Middleware dependency resolution with new keys :requires and :provides. Values are set of top-level keys of the request. e.g.\nInjectUserIntoRequestMiddleware requires #{:session} and provides #{:user}\nAuthorizationMiddleware requires #{:user}\n\n\n\nIdeas welcome & see issues for details.\n"},"ring/transforming_middleware_chain.html":{"url":"ring/transforming_middleware_chain.html","title":"Transforming Middleware Chain","keywords":"","body":"Transforming the Middleware Chain\nThere is an extra option in ring-router (actually, in the underlying middleware-router): :reitit.middleware/transform to transform the middleware chain per endpoint. Value should be a function or a vector of functions that get a vector of compiled middleware and should return a new vector of middleware.\nExample Application\n(require '[reitit.ring :as ring])\n(require '[reitit.middleware :as middleware])\n\n(defn wrap [handler id]\n (fn [request]\n (handler (update request ::acc (fnil conj []) id))))\n\n(defn handler [{:keys [::acc]}]\n {:status 200, :body (conj acc :handler)})\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[wrap 1] [wrap 2]]}\n [\"/ping\" {:get {:middleware [[wrap 3]]\n :handler handler}}]])))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body [1 2 3 :handler]}\n\nReversing the Middleware Chain\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[wrap 1] [wrap 2]]}\n [\"/ping\" {:get {:middleware [[wrap 3]]\n :handler handler}}]]\n {::middleware/transform reverse})))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body [3 2 1 :handler]}\n\nInterleaving Middleware\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[wrap 1] [wrap 2]]}\n [\"/ping\" {:get {:middleware [[wrap 3]]\n :handler handler}}]]\n {::middleware/transform #(interleave % (repeat [wrap :debug]))})))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body [1 :debug 2 :debug 3 :debug :handler]}\n\nPrinting Request Diffs\n[metosin/reitit-middleware \"0.3.1\"]\n\nUsing reitit.ring.middleware.dev/print-request-diffs transformation, the request diffs between each middleware are printed out to the console. To use it, add the following router option:\n:reitit.middleware/transform reitit.ring.middleware.dev/print-request-diffs\n\nSample output:\n\n"},"ring/middleware_registry.html":{"url":"ring/middleware_registry.html","title":"Middleware Registry","keywords":"","body":"Middleware Registry\nThe :middleware syntax in reitit-ring supports also Keywords. Keywords are looked from Middleware Registry, which is a map of keyword => IntoMiddleware. Middleware registry should be stored under key :reitit.middleware/registry in the router options. If a middleware keyword isn't found in the registry, router creation fails fast with descriptive error message.\nExamples\nApplication using middleware defined in the Middleware Registry:\n(require '[reitit.ring :as ring])\n(require '[reitit.middleware :as middleware])\n\n(defn wrap-bonus [handler value]\n (fn [request]\n (handler (update request :bonus (fnil + 0) value))))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[:bonus 20]]}\n [\"/bonus\" {:middleware [:bonus10]\n :get (fn [{:keys [bonus]}]\n {:status 200, :body {:bonus bonus}})}]]\n {::middleware/registry {:bonus wrap-bonus\n :bonus10 [:bonus 10]}})))\n\nWorks as expected:\n(app {:request-method :get, :uri \"/api/bonus\"})\n; {:status 200, :body {:bonus 30}}\n\nRouter creation fails fast if registry doesn't contain the Middleware:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[:bonus 20]]}\n [\"/bonus\" {:middleware [:bonus10]\n :get (fn [{:keys [bonus]}]\n {:status 200, :body {:bonus bonus}})}]]\n {::middleware/registry {:bonus wrap-bonus}})))\n;CompilerException clojure.lang.ExceptionInfo: Middleware :bonus10 not found in registry.\n;\n;Available middleware in registry:\n;\n;| :id | :description |\n;|--------+--------------------------------------|\n;| :bonus | reitit.ring_test$wrap_bonus@59fddabb |\n\nWhen to use the registry?\nMiddleware as Keywords helps to keep the routes (all but handlers) as literal data (e.g. data that evaluates to itself) enabling the routes to be persisted in external formats like EDN-files and databases. Duct is a good example where the middleware can be referenced from EDN-files. It should be easy to make Duct configuration a Middleware Registry in reitit-ring.\nThe bad thing it's an extra indirection, making things more complex and removed the default IDE-support of \"goto definition\" or \"look source\".\nTODO\n\na prefilled registry of common middleware in the reitit-middleware\n\n"},"ring/default_middleware.html":{"url":"ring/default_middleware.html","title":"Default Middleware","keywords":"","body":"Default Middleware\n[metosin/reitit-middleware \"0.3.1\"]\n\nAny Ring middleware can be used with reitit-ring, but using data-driven middleware is preferred as they are easier to manage and in many cases, yield better performance. reitit-middleware contains a set of common ring middleware, lifted into data-driven middleware.\n\nParameter Handling\nException Handling\nContent Negotiation\nMultipart Request Handling\nInspecting Middleware Chain\n\nParameters Handling\nreitit.ring.middleware.parameters/parameters-middleware to capture query- and form-params. Wraps\nring.middleware.params/wrap-params.\nNOTE: will be factored into two parts: a query-parameters middleware and a Muuntaja format responsible for the the application/x-www-form-urlencoded body format.\nException Handling\nA polished version of compojure-api exception handling. Catches all exceptions and invokes configured exception handler.\n(require '[reitit.ring.middleware.exception :as exception])\n\nexception/exception-middleware\nA preconfigured middleware using exception/default-handlers. Catches:\n\nRequest & response Coercion exceptions\nMuuntaja decode exceptions\nExceptions with :type of :reitit.ring/response, returning :response key from ex-data.\nSafely all other exceptions\n\n(require '[reitit.ring :as ring])\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/fail\" (fn [_] (throw (Exception. \"fail\")))]\n {:data {:middleware [exception/exception-middleware]}})))\n\n(app {:request-method :get, :uri \"/fail\"})\n;{:status 500\n; :body {:type \"exception\"\n; :class \"java.lang.Exception\"}}\n\nexception/create-exception-middleware\nCreates the exception-middleware with custom options. Takes a map of identifier => exception request => response that is used to select the exception handler for the thrown/raised exception identifier. Exception idenfier is either a Keyword or a Exception Class.\nThe following handlers are available by default:\n\n\n\nkey\ndescription\n\n\n\n\n:reitit.ring/response\nvalue in ex-data key :response will be returned\n\n\n:muuntaja/decode\nhandle Muuntaja decoding exceptions\n\n\n:reitit.coercion/request-coercion\nrequest coercion errors (http 400 response)\n\n\n:reitit.coercion/response-coercion\nresponse coercion errors (http 500 response)\n\n\n::exception/default\na default exception handler if nothing else matched (default exception/default-handler).\n\n\n::exception/wrap\na 3-arity handler to wrap the actual handler handler exception request => response (no default).\n\n\n\nThe handler is selected from the options map by exception idenfitifier in the following lookup order:\n1) :type of exception ex-data\n2) Class of exception\n3) :type ancestors of exception ex-data\n4) Super Classes of exception\n5) The ::default handler\n;; type hierarchy\n(derive ::error ::exception)\n(derive ::failure ::exception)\n(derive ::horror ::exception)\n\n(defn handler [message exception request]\n {:status 500\n :body {:message message\n :exception (.getClass exception)\n :data (ex-data exception)\n :uri (:uri request)}})\n\n(def exception-middleware\n (exception/create-exception-middleware\n (merge\n exception/default-handlers\n {;; ex-data with :type ::error\n ::error (partial handler \"error\")\n\n ;; ex-data with ::exception or ::failure\n ::exception (partial handler \"exception\")\n\n ;; SQLException and all it's child classes\n java.sql.SQLException (partial handler \"sql-exception\")\n\n ;; override the default handler\n ::exception/default (partial handler \"default\")\n\n ;; print stack-traces for all exceptions\n ::exception/wrap (fn [handler e request]\n (println \"ERROR\" (pr-str (:uri request)))\n (handler e request))})))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/fail\" (fn [_] (throw (ex-info \"fail\" {:type ::failue})))]\n {:data {:middleware [exception-middleware]}})))\n\n(app {:request-method :get, :uri \"/fail\"})\n; ERROR \"/fail\"\n; => {:status 500,\n; :body {:message \"default\"\n; :exception clojure.lang.ExceptionInfo\n; :data {:type :user/failue}\n; :uri \"/fail\"}}\n\nContent Negotiation\nWrapper for Muuntaja middleware for content-negotiation, request decoding and response encoding. Takes explicit configuration via :muuntaja key in route data. Emit's swagger :produces and :consumes definitions automatically based on the Muuntaja configuration.\nNegotiates a request body based on Content-Type header and response body based on Accept, Accept-Charset headers. Publishes the negotiation results as :muuntaja/request and :muuntaja/response keys into the request.\nDecodes the request body into :body-params using the :muuntaja/request key in request if the :body-params doesn't already exist.\nEncodes the response body using the :muuntaja/response key in request if the response doesn't have Content-Type header already set.\nExpected route data:\n\n\n\nkey\ndescription\n\n\n\n\n:muuntaja\nmuuntaja.core/Muuntaja instance, does not mount if not set.\n\n\n\n(require '[reitit.ring.middleware.muuntaja :as muuntaja])\n\n\nmuuntaja/format-middleware - Negotiation, request decoding and response encoding in a single Middleware\nmuuntaja/format-negotiate-middleware - Negotiation\nmuuntaja/format-request-middleware - Request decoding\nmuuntaja/format-response-middleware - Response encoding\n\n(require '[reitit.ring :as ring])\n(require '[reitit.ring.coercion :as rrc])\n(require '[reitit.coercion.spec :as rcs])\n(require '[ring.adapter.jetty :as jetty])\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/math\"\n {:post {:summary \"negotiated request & response (json, edn, transit)\"\n :parameters {:body {:x int?, :y int?}}\n :responses {200 {:body {:total int?}}}\n :handler (fn [{{{:keys [x y]} :body} :parameters}]\n {:status 200\n :body {:total (+ x y)}})}}]\n [\"/xml\"\n {:get {:summary \"forced xml response\"\n :handler (fn [_]\n {:status 200\n :headers {\"Content-Type\" \"text/xml\"}\n :body \"kukka\"})}}]]\n {:data {:muuntaja m/instance\n :coercion rcs/coercion\n :middleware [muuntaja/format-middleware\n rrc/coerce-exceptions-middleware\n rrc/coerce-request-middleware\n rrc/coerce-response-middleware]}})))\n\n(jetty/run-jetty #'app {:port 3000, :join? false})\n\nTesting with httpie:\n> http POST :3000/math x:=1 y:=2\n\nHTTP/1.1 200 OK\nContent-Length: 11\nContent-Type: application/json; charset=utf-8\nDate: Wed, 22 Aug 2018 16:59:54 GMT\nServer: Jetty(9.2.21.v20170120)\n\n{\n \"total\": 3\n}\n\n> http :3000/xml\n\nHTTP/1.1 200 OK\nContent-Length: 20\nContent-Type: text/xml\nDate: Wed, 22 Aug 2018 16:59:58 GMT\nServer: Jetty(9.2.21.v20170120)\n\nkukka\n\nMultipart Request Handling\nWrapper for Ring Multipart Middleware. Emits swagger :consumes definitions automatically.\nExpected route data:\n\n\n\nkey\ndescription\n\n\n\n\n[:parameters :multipart]\nmounts only if defined for a route.\n\n\n\n(require '[reitit.ring.middleware.multipart :as multipart])\n\n\nmultipart/multipart-middleware a preconfigured middleware for multipart handling\nmultipart/create-multipart-middleware to generate with custom configuration\n\nInspecting Middleware Chain\nreitit.ring.middleware.dev/print-request-diffs is a middleware chain transforming function. It prints a request and response diff between each middleware. To use it, add the following router option:\n:reitit.middleware/transform reitit.ring.middleware.dev/print-request-diffs\n\nPartial sample output:\n\nExample app\nSee an example app with the default middleware in action: https://github.com/metosin/reitit/blob/master/examples/ring-swagger/src/example/server.clj.\n"},"ring/coercion.html":{"url":"ring/coercion.html","title":"Ring Coercion","keywords":"","body":"Ring Coercion\nBasic coercion is explained in detail in the Coercion Guide. With Ring, both request parameters and response bodies can be coerced.\nThe following request parameters are currently supported:\n\n\n\ntype\nrequest source\n\n\n\n\n:query\n:query-params\n\n\n:body\n:body-params\n\n\n:form\n:form-params\n\n\n:header\n:header-params\n\n\n:path\n:path-params\n\n\n\nTo enable coercion, the following things need to be done:\n\nDefine a reitit.coercion/Coercion for the routes\nDefine types for the parameters and/or responses\nMount Coercion Middleware to apply to coercion\nUse the coerced parameters in a handler/middleware\n\nDefine coercion\nreitit.coercion/Coercion is a protocol defining how types are defined, coerced and inventoried.\nReitit ships with the following coercion modules:\n\nreitit.coercion.schema/coercion for plumatic schema\nreitit.coercion.spec/coercion for both clojure.spec and data-specs\n\nCoercion can be attached to route data under :coercion key. There can be multiple Coercion implementations within a single router, normal scoping rules apply.\nDefining parameters and responses\nParameters are defined in route data under :parameters key. It's value should be a map of parameter :type -> Coercion Schema.\nResponses are defined in route data under :responses key. It's value should be a map of http status code to a map which can contain :body key with Coercion Schema as value.\nBelow is an example with Plumatic Schema. It defines schemas for :query, :body and :path parameters and for http 200 response :body.\nHandler can access the coerced parameters can be read under :parameters key in the request.\n(require '[reitit.coercion.schema])\n(require '[schema.core :as s])\n\n(def PositiveInt (s/constrained s/Int pos? 'PositiveInt))\n\n(def plus-endpoint\n {:coercion reitit.coercion.schema/coercion\n :parameters {:query {:x s/Int}\n :body {:y s/Int}\n :path {:z s/Int}}\n :responses {200 {:body {:total PositiveInt}}}\n :handler (fn [{:keys [parameters]}]\n (let [total (+ (-> parameters :query :x)\n (-> parameters :body :y)\n (-> parameters :path :z))]\n {:status 200\n :body {:total total}}))})\n\nCoercion Middleware\nDefining a coercion for a route data doesn't do anything, as it's just data. We have to attach some code to apply the actual coercion. We can use the middleware from reitit.ring.coercion:\n\ncoerce-request-middleware to apply the parameter coercion\ncoerce-response-middleware to apply the response coercion\ncoerce-exceptions-middleware to transform coercion exceptions into pretty responses\n\nFull example\nHere's an full example for applying coercion with Reitit, Ring and Schema:\n(require '[reitit.ring.coercion :as rrc])\n(require '[reitit.coercion.schema])\n(require '[reitit.ring :as ring])\n(require '[schema.core :as s])\n\n(def PositiveInt (s/constrained s/Int pos? 'PositiveInt))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\"\n [\"/ping\" {:name ::ping\n :get (fn [_]\n {:status 200\n :body \"pong\"})}]\n [\"/plus/:z\" {:name ::plus\n :post {:coercion reitit.coercion.schema/coercion\n :parameters {:query {:x s/Int}\n :body {:y s/Int}\n :path {:z s/Int}}\n :responses {200 {:body {:total PositiveInt}}}\n :handler (fn [{:keys [parameters]}]\n (let [total (+ (-> parameters :query :x)\n (-> parameters :body :y)\n (-> parameters :path :z))]\n {:status 200\n :body {:total total}}))}}]]\n {:data {:middleware [rrc/coerce-exceptions-middleware\n rrc/coerce-request-middleware\n rrc/coerce-response-middleware]}})))\n\nValid request:\n(app {:request-method :post\n :uri \"/api/plus/3\"\n :query-params {\"x\" \"1\"}\n :body-params {:y 2}})\n; {:status 200, :body {:total 6}}\n\nInvalid request:\n(app {:request-method :post\n :uri \"/api/plus/3\"\n :query-params {\"x\" \"abba\"}\n :body-params {:y 2}})\n; {:status 400,\n; :body {:schema {:x \"Int\", \"Any\" \"Any\"},\n; :errors {:x \"(not (integer? \\\"abba\\\"))\"},\n; :type :reitit.coercion/request-coercion,\n; :coercion :schema,\n; :value {:x \"abba\"},\n; :in [:request :query-params]}}\n\nInvalid response:\n(app {:request-method :post\n :uri \"/api/plus/3\"\n :query-params {\"x\" \"1\"}\n :body-params {:y -10}})\n; {:status 500,\n; :body {:schema {:total \"(constrained Int PositiveInt)\"},\n; :errors {:total \"(not (PositiveInt -6))\"},\n; :type :reitit.coercion/response-coercion,\n; :coercion :schema,\n; :value {:total -6},\n; :in [:response :body]}}\n\nPretty printing spec errors\nSpec problems are exposed as-is into request & response coercion errors, enabling pretty-printers like expound to be used:\n(require '[reitit.ring :as ring])\n(require '[reitit.ring.middleware.exception :as exception])\n(require '[reitit.ring.coercion :as coercion])\n(require '[expound.alpha :as expound])\n\n(defn coercion-error-handler [status]\n (let [printer (expound/custom-printer {:theme :figwheel-theme, :print-specs? false})\n handler (exception/create-coercion-handler status)]\n (fn [exception request]\n (printer (-> exception ex-data :problems))\n (handler exception request))))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/plus\"\n {:get\n {:parameters {:query {:x int?, :y int?}}\n :responses {200 {:body {:total pos-int?}}}\n :handler (fn [{{{:keys [x y]} :query} :parameters}]\n {:status 200, :body {:total (+ x y)}})}}]\n {:data {:coercion reitit.coercion.spec/coercion\n :middleware [(exception/create-exception-middleware\n (merge\n exception/default-handlers\n {:reitit.coercion/request-coercion (coercion-error-handler 400)\n :reitit.coercion/response-coercion (coercion-error-handler 500)}))\n coercion/coerce-request-middleware\n coercion/coerce-response-middleware]}})))\n\n(app\n {:uri \"/plus\"\n :request-method :get\n :query-params {\"x\" \"1\", \"y\" \"fail\"}})\n; => ...\n; -- Spec failed --------------------\n;\n; {:x ..., :y \"fail\"}\n; ^^^^^^\n;\n; should satisfy\n;\n; int?\n\n\n\n(app\n {:uri \"/plus\"\n :request-method :get\n :query-params {\"x\" \"1\", \"y\" \"-2\"}})\n; => ...\n;-- Spec failed --------------------\n;\n; {:total -1}\n; ^^\n;\n; should satisfy\n;\n; pos-int?\n\nOptimizations\nThe coercion middleware are compiled againts a route. In the middleware compilation step the actual coercer implementations are constructed for the defined models. Also, the middleware doesn't mount itself if a route doesn't have :coercion and :parameters or :responses defined.\nWe can query the compiled middleware chain for the routes:\n(require '[reitit.core :as r])\n\n(-> (ring/get-router app)\n (r/match-by-name ::plus)\n :result :post :middleware\n (->> (mapv :name)))\n; [::mw/coerce-exceptions\n; ::mw/coerce-request\n; ::mw/coerce-response]\n\nRoute without coercion defined:\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body \"pong\"}\n\nHas no mounted middleware:\n(-> (ring/get-router app)\n (r/match-by-name ::ping)\n :result :get :middleware\n (->> (mapv :name)))\n; []\n\n"},"ring/route_data_validation.html":{"url":"ring/route_data_validation.html","title":"Route Data Validation","keywords":"","body":"Route Data Validation\nRing route validation works just like with core router, with few differences:\n\nreitit.ring.spec/validate should be used instead of reitit.spec/validate - to support validating all endpoints (:get, :post etc.)\nWith clojure.spec validation, Middleware can contribute to route spec via :specs key. The effective route data spec is router spec merged with middleware specs.\n\nExample\nA simple app with spec-validation turned on:\n(require '[clojure.spec.alpha :as s])\n(require '[reitit.ring :as ring])\n(require '[reitit.ring.spec :as rrs])\n(require '[reitit.spec :as rs])\n(require '[expound.alpha :as e])\n\n(defn handler [_]\n {:status 200, :body \"ok\"})\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\"\n [\"/public\"\n [\"/ping\" {:get handler}]]\n [\"/internal\"\n [\"/users\" {:get {:handler handler}\n :delete {:handler handler}}]]]\n {:validate rrs/validate\n ::rs/explain e/expound-str})))\n\nAll good:\n(app {:request-method :get\n :uri \"/api/internal/users\"})\n; {:status 200, :body \"ok\"}\n\nExplicit specs via middleware\nMiddleware that requires :zone to be present in route data:\n(s/def ::zone #{:public :internal})\n\n(def zone-middleware\n {:name ::zone-middleware\n :spec (s/keys :req-un [::zone])\n :wrap (fn [handler]\n (fn [request]\n (let [zone (-> request (ring/get-match) :data :zone)]\n (println zone)\n (handler request))))})\n\nMissing route data fails fast at router creation:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [zone-middleware]} ;; \nAdding the :zone to route data fixes the problem:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [zone-middleware]}\n [\"/public\" {:zone :public} ;; {:status 200, :body \"ok\"}\n\nImplicit specs\nBy design, clojure.spec validates all fully-qualified keys with s/keys specs even if they are not defined in that keyset. Validation is implicit but powerful.\nLet's reuse the wrap-enforce-roles from Dynamic extensions and define specs for the data:\n(require '[clojure.set :as set])\n\n(s/def ::role #{:admin :manager})\n(s/def ::roles (s/coll-of ::role :into #{}))\n\n(defn wrap-enforce-roles [handler]\n (fn [{:keys [::roles] :as request}]\n (let [required (some-> request (ring/get-match) :data ::roles)]\n (if (and (seq required) (not (set/subset? required roles)))\n {:status 403, :body \"forbidden\"}\n (handler request)))))\n\nwrap-enforce-roles silently ignores if the ::roles is not present:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [zone-middleware\n wrap-enforce-roles]} ;; {:status 200, :body \"ok\"}\n\nBut fails if they are present and invalid:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [zone-middleware\n wrap-enforce-roles]}\n [\"/public\" {:zone :public}\n [\"/ping\" {:get handler}]]\n [\"/internal\" {:zone :internal}\n [\"/users\" {:get {:handler handler\n ::roles #{:manager} ;; \nPushing the data to the endpoints\nAbility to define (and reuse) route-data in mid-paths is a powerful feature, but having data defined all around might be harder to reason about. There is always an option to define all data at the endpoints.\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\"\n [\"/public\"\n [\"/ping\" {:zone :public\n :get handler\n :middleware [zone-middleware\n wrap-enforce-roles]}]]\n [\"/internal\"\n [\"/users\" {:zone :internal\n :middleware [zone-middleware\n wrap-enforce-roles]\n :get {:handler handler\n ::roles #{:manager}}\n :delete {:handler handler\n ::roles #{:admin}}}]]]\n {:validate rrs/validate\n ::rs/explain e/expound-str})))\n\nOr even flatten the routes:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/api/public/ping\" {:zone :public\n :get handler\n :middleware [zone-middleware\n wrap-enforce-roles]}]\n [\"/api/internal/users\" {:zone :internal\n :middleware [zone-middleware\n wrap-enforce-roles]\n :get {:handler handler\n ::roles #{:manager}}\n :delete {:handler handler\n ::roles #{:admin}}}]]\n {:validate rrs/validate\n ::rs/explain e/expound-str})))\n\nThe common Middleware can also be pushed to the router, here cleanly separing behavior and data:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/api/public/ping\" {:zone :public\n :get handler}]\n [\"/api/internal/users\" {:zone :internal\n :get {:handler handler\n ::roles #{:manager}}\n :delete {:handler handler\n ::roles #{:admin}}}]]\n {:data {:middleware [zone-middleware wrap-enforce-roles]}\n :validate rrs/validate\n ::rs/explain e/expound-str})))\n\n"},"ring/compiling_middleware.html":{"url":"ring/compiling_middleware.html","title":"Compiling Middleware","keywords":"","body":"Compiling Middleware\nThe dynamic extensions is a easy way to extend the system. To enable fast lookups into route data, we can compile them into any shape (records, functions etc.) we want, enabling fast access at request-time.\nBut, we can do much better. As we know the exact route that middleware/interceptor is linked to, we can pass the (compiled) route information into the middleware at creation-time. It can do local reasoning: extract and transform relevant data just for it and pass the optimized data into the actual request-handler via a closure - yielding much faster runtime processing. Middleware can also decide not to mount itself by returning nil. Why mount a wrap-enforce-roles middleware for a route if there are no roles required for it?\nTo enable this we use middleware records :compile key instead of the normal :wrap. :compile expects a function of route-data router-opts => ?IntoMiddleware.\nTo demonstrate the two approaches, below are response coercion middleware written as normal ring middleware function and as middleware record with :compile.\nNormal Middleware\n\nReads the compiled route information on every request. Everything is done at request-time.\n\n(defn wrap-coerce-response\n \"Middleware for pluggable response coercion.\n Expects a :coercion of type `reitit.coercion/Coercion`\n and :responses from route data, otherwise will do nothing.\"\n [handler]\n (fn\n ([request]\n (let [response (handler request)\n method (:request-method request)\n match (ring/get-match request)\n responses (-> match :result method :data :responses)\n coercion (-> match :data :coercion)\n opts (-> match :data :opts)]\n (if (and coercion responses)\n (let [coercers (response-coercers coercion responses opts)]\n (coerce-response coercers request response))\n response)))\n ([request respond raise]\n (let [method (:request-method request)\n match (ring/get-match request)\n responses (-> match :result method :data :responses)\n coercion (-> match :data :coercion)\n opts (-> match :data :opts)]\n (if (and coercion responses)\n (let [coercers (response-coercers coercion responses opts)]\n (handler request #(respond (coerce-response coercers request %))))\n (handler request respond raise))))))\n\nCompiled Middleware\n\nRoute information is provided at creation-time\nCoercers are compiled at creation-time\nMiddleware mounts only if :coercion and :responses are defined for the route\nAlso defines spec for the route data :responses for the route data validation.\n\n(require '[reitit.spec :as rs])\n\n(def coerce-response-middleware\n \"Middleware for pluggable response coercion.\n Expects a :coercion of type `reitit.coercion/Coercion`\n and :responses from route data, otherwise does not mount.\"\n {:name ::coerce-response\n :spec ::rs/responses\n :compile (fn [{:keys [coercion responses]} opts]\n (if (and coercion responses)\n (let [coercers (coercion/response-coercers coercion responses opts)]\n (fn [handler]\n (fn\n ([request]\n (coercion/coerce-response coercers request (handler request)))\n ([request respond raise]\n (handler request #(respond (coercion/coerce-response coercers request %)) raise)))))))})\n\nIt has 50% less code, it's much easier to reason about and is much faster.\n"},"ring/swagger.html":{"url":"ring/swagger.html","title":"Swagger Support","keywords":"","body":"Swagger Support\n[metosin/reitit-swagger \"0.3.1\"]\nReitit supports Swagger2 documentation, thanks to schema-tools and spec-tools. Documentation is extracted from route definitions, coercion :parameters and :responses and from a set of new documentation keys.\nTo enable swagger-documentation for a ring-router:\n\nannotate your routes with swagger-data\nmount a swagger-handler to serve the swagger-spec\noptionally mount a swagger-ui to visualize the swagger-spec\n\nSwagger data\nThe following route data keys contribute to the generated swagger specification:\n\n\n\nkey\ndescription\n\n\n\n\n:swagger\nmap of any swagger-data. Can have :id (keyword or sequence of keywords) to identify the api\n\n\n:no-doc\noptional boolean to exclude endpoint from api docs\n\n\n:tags\noptional set of strings of keywords tags for an endpoint api docs\n\n\n:summary\noptional short string summary of an endpoint\n\n\n:description\noptional long description of an endpoint. Supports http://spec.commonmark.org/\n\n\n\nCoercion keys also contribute to the docs:\n\n\n\nkey\ndescription\n\n\n\n\n:parameters\noptional input parameters for a route, in a format defined by the coercion\n\n\n:responses\noptional descriptions of responess, in a format defined by coercion\n\n\n\nThere is a reitit.swagger.swagger-feature, which acts as both a Middleware and an Interceptor that is not participating in any request processing - it just defines the route data specs for the routes it's mounted to. It is only needed if the route data validation is turned on.\nSwagger spec\nTo serve the actual Swagger Specification, there is reitit.swagger/create-swagger-handler. It takes no arguments and returns a ring-handler which collects at request-time data from all routes for the same swagger api and returns a formatted Swagger specification as Clojure data, to be encoded by a response formatter.\nIf you need to post-process the generated spec, just wrap the handler with a custom Middleware or an Interceptor.\nSwagger-ui\nSwagger-ui is a user interface to visualize and interact with the Swagger specification. To make things easy, there is a pre-integrated version of the swagger-ui as a separate module.\n[metosin/reitit-swagger-ui \"0.3.1\"]\nreitit.swagger-ui/create-swagger-ui-hander can be used to create a ring-handler to serve the swagger-ui. It accepts the following options:\n\n\n\nkey\ndescription\n\n\n\n\n:parameter\noptional name of the wildcard parameter, defaults to unnamed keyword :\n\n\n:root\noptional resource root, defaults to \"swagger-ui\"\n\n\n:url\npath to swagger endpoint, defaults to /swagger.json\n\n\n:path\noptional path to mount the handler to. Works only if mounted outside of a router.\n\n\n:config\nparameters passed to swaggger-ui as-is. See the docs\n\n\n\nWe use swagger-ui from ring-swagger-ui, which can be easily configured from routing application. It stores files swagger-ui in the resource classpath.\nWebjars also hosts a version of the swagger-ui.\nNOTE: Currently, swagger-ui module is just for Clojure. ClojureScript-support welcome as a PR!\nExamples\nSimple example\n\ntwo routes\nswagger-spec served from \"/swagger.json\"\nswagger-ui mounted to \"/api-docs\"\nnote that for real-world use, you need a content-negation middleware -\nsee the next example\n\n(require '[reitit.ring :as ring])\n(require '[reitit.swagger :as swagger])\n(require '[reitit.swagger-ui :as swagger-ui])\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/api\"\n [\"/ping\" {:get (constantly {:status 200, :body \"ping\"})}]\n [\"/pong\" {:post (constantly {:status 200, :body \"pong\"})}]]\n [\"\" {:no-doc true}\n [\"/swagger.json\" {:get (swagger/create-swagger-handler)}]\n [\"/api-docs/*\" {:get (swagger-ui/create-swagger-ui-handler)}]]])))\n\nThe generated swagger spec:\n(app {:request-method :get :uri \"/swagger.json\"})\n;{:status 200\n; :body {:swagger \"2.0\"\n; :x-id #{:reitit.swagger/default}\n; :paths {\"/api/ping\" {:get {}}\n; \"/api/pong\" {:post {}}}}}\n\nSwagger-ui:\n(app {:request-method :get, :uri \"/api-docs/index.html\"})\n; ... the swagger-ui index-page, configured correctly\n\nYou might be interested in adding a trailing slash handler to the app to serve the swagger-ui from /api-docs (without the trailing slash) too.\nAnother way to serve the swagger-ui is using the default handler:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/api\"\n [\"/ping\" {:get (constantly {:status 200, :body \"ping\"})}]\n [\"/pong\" {:post (constantly {:status 200, :body \"pong\"})}]]\n [\"/swagger.json\"\n {:get {:no-doc true\n :handler (swagger/create-swagger-handler)}}]]) \n (swagger-ui/create-swagger-ui-handler {:path \"/api-docs\"})))\n\nMore complete example\n\nclojure.spec coercion\nswagger data (:tags, :produces, :summary, :basePath)\nswagger-spec served from \"/swagger.json\"\nswagger-ui mounted to \"/\"\nset of middleware for content negotiation, exceptions, multipart etc.\nmissed routes are handled by create-default-handler\nserved via ring-jetty\n\nWhole example project is in /examples/ring-swagger.\n(ns example.server\n (:require [reitit.ring :as ring]\n [reitit.swagger :as swagger]\n [reitit.swagger-ui :as swagger-ui]\n [reitit.ring.coercion :as coercion]\n [reitit.coercion.spec]\n [reitit.ring.middleware.muuntaja :as muuntaja]\n [reitit.ring.middleware.exception :as exception]\n [reitit.ring.middleware.multipart :as multipart]\n [reitit.ring.middleware.parameters :as parameters]\n [ring.middleware.params :as params]\n [ring.adapter.jetty :as jetty]\n [muuntaja.core :as m]\n [clojure.java.io :as io]))\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/swagger.json\"\n {:get {:no-doc true\n :swagger {:info {:title \"my-api\"}\n :basePath \"/\"} ;; prefix for all paths\n :handler (swagger/create-swagger-handler)}}]\n\n [\"/files\"\n {:swagger {:tags [\"files\"]}}\n\n [\"/upload\"\n {:post {:summary \"upload a file\"\n :parameters {:multipart {:file multipart/temp-file-part}}\n :responses {200 {:body {:file multipart/temp-file-part}}}\n :handler (fn [{{{:keys [file]} :multipart} :parameters}]\n {:status 200\n :body {:file file}})}}]\n\n [\"/download\"\n {:get {:summary \"downloads a file\"\n :swagger {:produces [\"image/png\"]}\n :handler (fn [_]\n {:status 200\n :headers {\"Content-Type\" \"image/png\"}\n :body (io/input-stream (io/resource \"reitit.png\"))})}}]]\n\n [\"/math\"\n {:swagger {:tags [\"math\"]}}\n\n [\"/plus\"\n {:get {:summary \"plus with spec query parameters\"\n :parameters {:query {:x int?, :y int?}}\n :responses {200 {:body {:total int?}}}\n :handler (fn [{{{:keys [x y]} :query} :parameters}]\n {:status 200\n :body {:total (+ x y)}})}\n :post {:summary \"plus with spec body parameters\"\n :parameters {:body {:x int?, :y int?}}\n :responses {200 {:body {:total int?}}}\n :handler (fn [{{{:keys [x y]} :body} :parameters}]\n {:status 200\n :body {:total (+ x y)}})}}]]]\n\n {:data {:coercion reitit.coercion.spec/coercion\n :muuntaja m/instance\n :middleware [;; query-params & form-params\n parameters/parameters-middleware\n ;; content-negotiation\n muuntaja/format-negotiate-middleware\n ;; encoding response body\n muuntaja/format-response-middleware\n ;; exception handling\n exception/exception-middleware\n ;; decoding request body\n muuntaja/format-request-middleware\n ;; coercing response bodys\n coercion/coerce-response-middleware\n ;; coercing request parameters\n coercion/coerce-request-middleware\n ;; multipart\n multipart/multipart-middleware]}})\n (ring/routes\n (swagger-ui/create-swagger-ui-handler {:path \"/\"})\n (ring/create-default-handler))))\n\n(defn start []\n (jetty/run-jetty #'app {:port 3000, :join? false})\n (println \"server running in port 3000\"))\n\nhttp://localhost:3000 should render now the swagger-ui:\n\nMultiple swagger apis\nThere can be multiple swagger apis within a router. Each route can be part of 0..n swagger apis. Swagger apis are identified by value in route data under key path [:swagger :id]. It can be either a keyword or a sequence of keywords. Normal route data scoping rules rules apply.\nExample with:\n\n4 routes\n2 swagger apis ::one and ::two\n3 swagger specs\n\n(require '[reitit.ring :as ring])\n(require '[reitit.swagger :as swagger])\n\n(def ping-route\n [\"/ping\" {:get (constantly {:status 200, :body \"ping\"})}])\n\n(def spec-route\n [\"/swagger.json\"\n {:get {:no-doc true\n :handler (swagger/create-swagger-handler)}}])\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/common\" {:swagger {:id #{::one ::two}}} ping-route]\n [\"/one\" {:swagger {:id ::one}} ping-route spec-route]\n [\"/two\" {:swagger {:id ::two}} ping-route spec-route\n [\"/deep\" {:swagger {:id ::one}} ping-route]]\n [\"/one-two\" {:swagger {:id #{::one ::two}}} spec-route]])))\n\n(-> {:request-method :get, :uri \"/one/swagger.json\"} app :body :paths keys)\n; (\"/common/ping\" \"/one/ping\" \"/two/deep/ping\")\n\n(-> {:request-method :get, :uri \"/two/swagger.json\"} app :body :paths keys)\n; (\"/common/ping\" \"/two/ping\")\n\n(-> {:request-method :get, :uri \"/one-two/swagger.json\"} app :body :paths keys)\n; (\"/common/ping\" \"/one/ping\" \"/two/ping\" \"/two/deep/ping\")\n\nTODO\n\nClojureScript\nexample for Macchiato\nbody formatting\nresource handling\n\n\n\n"},"ring/RESTful_form_methods.html":{"url":"ring/RESTful_form_methods.html","title":"RESTful form methods","keywords":"","body":"RESTful form methods\nWhen designing RESTful applications you will be doing a lot of \"PATCH\" and \"DELETE\" request, but most browsers don't support methods other than \"GET\" and \"POST\" when it comes to submitting forms. \nThere is a pattern to solve this (pioneered by Rails) using a hidden \"_method\" field in the form and swapping out the \"POST\" method for whatever is in that field.\nWe can do this with middleware in reitit like this: \n(defn- hidden-method\n [request]\n (keyword \n (or (get-in request [:form-params \"_method\"]) ;; look for \"_method\" field in :form-params\n (get-in request [:multipart-params \"_method\"])))) ;; or in :multipart-params\n\n(def wrap-hidden-method\n {:name ::wrap-hidden-method\n :wrap (fn [handler]\n (fn [request]\n (if-let [fm (and (= :post (:request-method request)) ;; if this is a :post request\n (hidden-method request))] ;; and there is a \"_method\" field \n (handler (assoc request :request-method fm)) ;; replace :request-method\n (handler request))))})\n\nAnd apply the middleware like this: \n(reitit.ring/ring-handler\n (reitit.ring/router ...)\n (reitit.ring/create-default-handler)\n {:middleware \n [reitit.ring.middleware.parameters/parameters-middleware ;; needed to have :form-params in the request map\n reitit.ring.middleware.multipart/multipart-middleware ;; needed to have :multipart-params in the request map\n wrap-hidden-method]}) ;; our hidden method wrapper\n\n(NOTE: This middleware must be placed here and not inside the route data given to reitit.ring/handler. \nThis is so that our middleware is applied before reitit matches the request with a spesific handler using the wrong method.)\n"},"http/interceptors.html":{"url":"http/interceptors.html","title":"Interceptors","keywords":"","body":"Interceptors\nReitit also support for interceptors as an alternative to using middleware. Basic interceptor handling is implemented in reitit.interceptor package. There is no interceptor executor shipped, but you can use libraries like Pedestal Interceptor or Sieppari to execute the chains.\nReitit-http\n[metosin/reitit-http \"0.3.1\"]\n\nAn module for http-routing using interceptors instead of middleware. Builds on top of the reitit-ring module having all the same features.\nThe differences:\n\n:interceptors key in used in route data instead of :middleware\nreitit.http/http-router requires an extra option :executor of type reitit.interceptor/Executor to execute the interceptor chain\noptionally, a routing interceptor can be used - it enqueues the matched interceptors into the context. See reitit.http/routing-interceptor for details.\n\n\n\nSimple example\n(require '[reitit.ring :as ring])\n(require '[reitit.http :as http])\n(require '[reitit.interceptor.sieppari :as sieppari])\n\n(defn interceptor [number]\n {:enter (fn [ctx] (update-in ctx [:request :number] (fnil + 0) number))})\n\n(def app\n (http/ring-handler\n (http/router\n [\"/api\"\n {:interceptors [(interceptor 1)]}\n\n [\"/number\"\n {:interceptors [(interceptor 10)]\n :get {:interceptors [(interceptor 100)]\n :handler (fn [req]\n {:status 200\n :body (select-keys req [:number])})}}]])\n\n ;; the default handler\n (ring/create-default-handler)\n\n ;; executor\n {:executor sieppari/executor}))\n\n\n(app {:request-method :get, :uri \"/\"})\n; {:status 404, :body \"\", :headers {}}\n\n(app {:request-method :get, :uri \"/api/number\"})\n; {:status 200, :body {:number 111}}\n\nWhy interceptors?\n\nhttps://quanttype.net/posts/2018-08-03-why-interceptors.html\nhttps://www.reddit.com/r/Clojure/comments/9csmty/why_interceptors/\n\n"},"http/pedestal.html":{"url":"http/pedestal.html","title":"Pedestal","keywords":"","body":"Pedestal\nPedestal is a backend web framework for Clojure. reitit-pedestal provides an alternative routing engine for Pedestal.\n[metosin/reitit-pedestal \"0.3.1\"]\n\nWhy should one use reitit instead of the Pedestal default routing?\n\nOne simple route syntax, with full route conflict resolution.\nSupports first class route data with spec validation.\nFixes some known problems in routing.\nCan handle trailing backslashes.\nOne router for both backend and frontend.\nSupports parameter coercion & Swagger.\nIs even faster.\n\nTo use Pedestal with reitit, you should first read both the Pedestal docs and the reitit interceptor guide.\nExample\nA minimalistic example on how to to swap the default-router with a reitit router.\n; [io.pedestal/pedestal.service \"0.5.5\"]\n; [io.pedestal/pedestal.jetty \"0.5.5\"]\n; [metosin/reitit-pedestal \"0.3.1\"]\n; [metosin/reitit \"0.3.1\"]\n\n(require '[io.pedestal.http :as server])\n(require '[reitit.pedestal :as pedestal])\n(require '[reitit.http :as http])\n(require '[reitit.ring :as ring])\n\n(defn interceptor [number]\n {:enter (fn [ctx] (update-in ctx [:request :number] (fnil + 0) number))})\n\n(def routes\n [\"/api\"\n {:interceptors [(interceptor 1)]}\n\n [\"/number\"\n {:interceptors [(interceptor 10)]\n :get {:interceptors [(interceptor 100)]\n :handler (fn [req]\n {:status 200\n :body (select-keys req [:number])})}}]])\n\n(-> {::server/type :jetty\n ::server/port 3000\n ::server/join? false\n ;; no pedestal routes\n ::server/routes []}\n (server/default-interceptors)\n ;; swap the reitit router\n (pedestal/replace-last-interceptor\n (pedestal/routing-interceptor\n (http/router routes)))\n (server/dev-interceptors)\n (server/create-server)\n (server/start))\n\nCompatibility\nThere is no common interceptor spec for Clojure and all default reitit interceptors (coercion, exceptions etc.) use the Sieppari interceptor model. It is mostly compatible with the Pedestal Interceptor model, only exception being that the :error handlers take just 1 arity (context) compared to Pedestal's 2-arity (context and exception).\nCurrently, out of the reitit default interceptors, there is only the reitit.http.interceptors.exception/exception-interceptor which has the :error defined.\nYou are most welcome to discuss about a common interceptor spec in #interceptors on Clojurians Slack.\nMore examples\nSimple\nSimple example with sync & async interceptors: https://github.com/metosin/reitit/tree/master/examples/pedestal\nSwagger\nMore complete example with custom interceptors, default interceptors, coercion and swagger-support enabled: https://github.com/metosin/reitit/tree/master/examples/pedestal-swagger\n"},"http/sieppari.html":{"url":"http/sieppari.html","title":"Sieppari","keywords":"","body":"Sieppari\n[metosin/reitit-sieppari \"0.3.1\"]\n\nSieppari is a new and fast interceptor implementation for Clojure, with pluggable async supporting core.async, Manifold and Promesa.\nTo use Sieppari with reitit-http, we need to attach a reitit.interceptor.sieppari/executor to a http-router to compile and execute the interceptor chains. Reitit and Sieppari share the same interceptor model, so all reitit default interceptors work seamlesly together.\nWe can use both syncronous ring and async-ring with Sieppari.\nSynchronous Ring\n(require '[reitit.http :as http])\n(require '[reitit.interceptor.sieppari :as sieppari])\n\n(defn i [x]\n {:enter (fn [ctx] (println \"enter \" x) ctx)\n :leave (fn [ctx] (println \"leave \" x) ctx)})\n\n(defn handler [_]\n (future {:status 200, :body \"pong\"}))\n\n(def app\n (http/ring-handler\n (http/router\n [\"/api\"\n {:interceptors [(i :api)]}\n\n [\"/ping\"\n {:interceptors [(i :ping)]\n :get {:interceptors [(i :get)]\n :handler handler}}]])\n {:executor sieppari/executor}))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n;enter :api\n;enter :ping\n;enter :get\n;leave :get\n;leave :ping\n;leave :api\n;=> {:status 200, :body \"pong\"}\n\nAsync-ring\n(let [respond (promise)]\n (app {:request-method :get, :uri \"/api/ping\"} respond nil)\n (deref respond 1000 ::timeout))\n;enter :api\n;enter :ping\n;enter :get\n;leave :get\n;leave :ping\n;leave :api\n;=> {:status 200, :body \"pong\"}\n\nExamples\nSimple\n\nsimple example, with both sync & async code:\nhttps://github.com/metosin/reitit/tree/master/examples/http\n\n\n\nWith batteries\n\nwith default interceptors, coercion and swagger-support:\nhttps://github.com/metosin/reitit/tree/master/examples/http-swagger\n\n\n\n"},"http/default_interceptors.html":{"url":"http/default_interceptors.html","title":"Default Interceptors","keywords":"","body":"Default Interceptors\n[metosin/reitit-interceptors \"0.3.1\"]\n\nJust like the ring default middleware, but for interceptors.\nParameters handling\n\nreitit.http.interceptors.parameters/parameters-interceptor \n\nException handling\n\nreitit.http.interceptors.exception/exception-interceptor\n\nContent Negotiation\n\nreitit.http.interceptors.muuntaja/format-interceptor\nreitit.http.interceptors.muuntaja/format-negotiate-interceptor\nreitit.http.interceptors.muuntaja/format-request-interceptor\nreitit.http.interceptors.muuntaja/format-response-interceptor\n\nMultipart request handling\n\nreitit.http.interceptors.multipart/multipart-interceptor\n\nExample app\nSee an example app with the default interceptors in action: https://github.com/metosin/reitit/blob/master/examples/http-swagger/src/example/server.clj.\n"},"http/transforming_interceptor_chain.html":{"url":"http/transforming_interceptor_chain.html","title":"Transforming Interceptor Chain","keywords":"","body":"Transforming the Interceptor Chain\nThere is an extra option in http-router (actually, in the underlying interceptor-router): :reitit.interceptor/transform to transform the interceptor chain per endpoint. Value should be a function or a vector of functions that get a vector of compiled interceptors and should return a new vector of interceptors.\nNote: the last interceptor in the chain is usually the handler, compiled into an Interceptor. Applying a transformation clojure.core/reverse would put this interceptor into first in the chain, making the rest of the interceptors effectively unreachable. There is a helper reitit.interceptor/transform-butlast to transform all but the last interceptor.\nExample Application\n(require '[reitit.http :as http])\n(require '[reitit.interceptor.sieppari :as sieppari])\n\n(defn interceptor [message]\n {:enter (fn [ctx] (update-in ctx [:request :message] (fnil conj []) message))})\n\n(defn handler [req]\n {:status 200\n :body (select-keys req [:message])})\n\n(def app\n (http/ring-handler\n (http/router\n [\"/api\" {:interceptors [(interceptor 1) (interceptor 2)]}\n [\"/ping\" {:get {:interceptors [(interceptor 3)]\n :handler handler}}]])\n {:executor sieppari/executor}))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body {:message [1 2 3]}}\n\nReversing the Interceptor Chain\n(def app\n (http/ring-handler\n (http/router\n [\"/api\" {:interceptors [(interceptor 1) (interceptor 2)]}\n [\"/ping\" {:get {:interceptors [(interceptor 3)]\n :handler handler}}]]\n {::interceptor/transform (interceptor/transform-butlast reverse)})\n {:executor sieppari/executor}))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body {:message [3 2 1]}}\n\nInterleaving Interceptors\n(def app\n (http/ring-handler\n (http/router\n [\"/api\" {:interceptors [(interceptor 1) (interceptor 2)]}\n [\"/ping\" {:get {:interceptors [(interceptor 3)]\n :handler handler}}]]\n {::interceptor/transform #(interleave % (repeat (interceptor :debug)))})\n {:executor sieppari/executor}))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body {:message [1 :debug 2 :debug 3 :debug]}}\n\nPrinting Context Diffs\n[metosin/reitit-interceptors \"0.3.1\"]\n\nUsing reitit.http.interceptors.dev/print-context-diffs transformation, the context diffs between each interceptor are printed out to the console. To use it, add the following router option:\n:reitit.interceptor/transform reitit.http.interceptor.dev/print-context-diffs\n\nSample output:\n\nSample applications (uncomment the option to see the diffs):\n\nSieppari: https://github.com/metosin/reitit/blob/master/examples/http-swagger/src/example/server.clj\nPedestal: https://github.com/metosin/reitit/blob/master/examples/pedestal-swagger/src/example/server.clj\n\n"},"frontend/basics.html":{"url":"frontend/basics.html","title":"Basics","keywords":"","body":"Frontend basics\nReitit frontend integration is built from multiple layers:\n\nCore functions with some additional browser oriented features\nBrowser integration for attaching Reitit to hash-change or HTML\nhistory events\nStateful wrapper for easy use of history integration\nOptional controller extension\n\nCore functions\nreitit.frontend provides few useful functions wrapping core functions:\nmatch-by-path version which parses a URI using JavaScript, including\nquery-string, and also coerces the parameters.\nCoerced parameters are stored in match :parameters property. If coercion\nis not enabled, the original parameters are stored in the same property,\nto allow the same code to read parameters regardless if coercion is\nenabled.\nrouter which compiles coercers by default.\nmatch-by-name and match-by-name! with optional path-paramers and\nlogging errors to console.warn instead of throwing errors to prevent\nReact breaking due to errors.\nNext\nBrowser integration\n"},"frontend/browser.html":{"url":"frontend/browser.html","title":"Browser integration","keywords":"","body":"Frontend browser integration\nReitit includes two browser history integrations.\nFunctions follow HTML5 History API: push-state to change route, replace-state\nto change route without leaving previous entry in browser history.\nFragment router\nFragment is simple integration which stores the current route in URL fragment,\ni.e. after #. This means the route is never part of the request URI and\nserver will always know which file to return (index.html).\nHTML5 router\nHTML5 History API can be used to modify the URL in browser without making\nrequest to the server. This means the URL will look normal, but the downside is\nthat the server must respond to all routes with correct file (index.html).\nCheck examples for simple Ring handler example.\nEasy\nReitit frontend routers require storing the state somewhere and passing it to\nall the calls. Wrapper reitit.frontend.easy is provided which manages\na router instance and passes the instance to all calls. This should\nallow easy use in most applications, as browser anyway can only have single\nevent handler for page change events.\nHistory manipulation\nReitit doesn't include functions to manipulate the history stack, i.e.\ngo back or forwards, but calling History API functions directly should work:\n(.go js/window.history -1)\n;; or\n(.back js/window.history)\n"},"frontend/controllers.html":{"url":"frontend/controllers.html","title":"Controllers","keywords":"","body":"Controllers\n\nhttps://github.com/metosin/reitit/tree/master/examples/frontend-controllers\n\nControllers run code when a route is entered and left. This can be useful to:\n\nLoad resources\nUpdate application state\n\nHow controllers work\nA controller map can contain these properties:\n\nidentity function which takes a Match and returns an arbitrary value,\nor parameters value, which declares which parameters should affect\ncontroller identity\nstart & stop functions, which are called with controller identity\n\nWhen you navigate to a route that has a controller, controller identity\nis first resolved by calling identity function, or by using parameters\ndeclaration, or if neither is set, the identity is nil. Next controller\nis initialized by calling start is called with the identity value.\nWhen you exit that route, stop is called with the return value of params.\nIf you navigate to the same route with different match, identity gets\nresolved again. If the identity changes from the previous value, controller\nis reinitialized: stop and start get called again.\nYou can add controllers to a route by adding them to the route data in the\n:controllers vector. For example:\n[\"/item/:id\"\n {:controllers [{:parameters {:path [:id]}\n :start (fn [parameters] (js/console.log :start (-> parameters :path :id)))\n :stop (fn [parameters] (js/console.log :stop (-> parameters :path :id)))}]}]\n\nYou can leave out start or stop if you do not need both of them.\nEnabling controllers\nYou need to\ncall\nreitit.frontend.controllers/apply-controllers whenever\nthe URL changes. You can call it from the on-navigate callback of\nreitit.frontend.easy:\n(ns frontend.core\n (:require [reitit.frontend.easy :as rfe]\n [reitit.frontend.controllers :as rfc]))\n\n(defonce match-a (atom nil))\n\n(def routes\n [\"/\" ...])\n\n(defn init! []\n (rfe/start!\n routes\n (fn [new-match]\n (swap! match-a\n (fn [old-match]\n (when new-match\n (assoc new-match\n :controllers (rfc/apply-controllers (:controllers old-match) new-match))))))))\n\nSee also the full example.\nNested controllers\nWhen you nest routes in the route tree, the controllers get concatenated when\nroute data is merged. Consider this route tree:\n[\"/\" {:controllers [{:start (fn [_] (js/console.log \"root start\"))}]}\n [\"/item/:id\"\n {:controllers [{:params (fn [match] (get-in match [:path-params :id]))\n :start (fn [item-id] (js/console.log \"item start\" item-id))\n :stop (fn [item-id] (js/console.log \"item stop\" item-id))}]}]]\n\n\nWhen you navigate to any route at all, the root controller gets started.\nIf you navigate to /item/something, the root controller gets started first\nand then the item controller gets started.\nIf you then navigate from /item/something to /item/something-else, first\nthe item controller gets stopped with parameter something and then it gets\nstarted with the parameter something-else. The root controller stays on the\nwhole time since its parameters do not change.\n\nTips\nAuthentication\nControllers can be used to load resources from a server. If and when your\nAPI requires authentication you will need to implement logic to prevent controllers\ntrying to do requests if user isn't authenticated yet.\nRun controllers and check authentication\nIf you have both unauthenticated and authenticated resources, you can\nrun the controllers always and then check the authentication status\non controller code, or on the code called from controllers (e.g. re-frame event\nhandler).\nDisable controllers until user is authenticated\nIf all your resources require authentication an easy way to prevent bad\nrequests is to enable controllers only after authentication is done.\nTo do this you can check authentication status and call apply-controllers\nonly after authentication is done (also remember to manually call apply-controllers\nwith current match when authentication is done). Or if no navigation is possible\nbefore authentication is done, you can start the router only after\nauthentication is done.\nAlternatives\nSimilar solution could be used to describe required resources as data (maybe\neven GraphQL query) per route, and then have code automatically load\nmissing resources.\nControllers elsewhere\n\nControllers in Keechma\n\n"},"advanced/configuring_routers.html":{"url":"advanced/configuring_routers.html","title":"Configuring Routers","keywords":"","body":"Configuring Routers\nRouters can be configured via options. The following options are available for the reitit.core/router:\n\n\n\nkey\ndescription\n\n\n\n\n:path\nBase-path for routes\n\n\n:routes\nInitial resolved routes (default [])\n\n\n:data\nInitial route data (default {})\n\n\n:spec\nclojure.spec definition for a route data, see reitit.spec on how to use this\n\n\n:expand\nFunction of arg opts => data to expand route arg to route data (default reitit.core/expand)\n\n\n:coerce\nFunction of route opts => route to coerce resolved route, can throw or return nil\n\n\n:compile\nFunction of route opts => result to compile a route handler\n\n\n:validate\nFunction of routes opts => () to validate route (data) via side-effects\n\n\n:conflicts\nFunction of {route #{route}} => () to handle conflicting routes\n\n\n:exception\nFunction of Exception => Exception to handle creation time exceptions (default reitit.exception/exception)\n\n\n:router\nFunction of routes opts => router to override the actual router implementation\n\n\n\n"},"advanced/composing_routers.html":{"url":"advanced/composing_routers.html","title":"Composing Routers","keywords":"","body":"Composing Routers\nData-driven approach in reitit allows us to compose routes, route data, route specs, middleware and interceptors chains. We can compose routers too. This is needed to achieve dynamic routing like in Compojure.\nImmutatability\nOnce a router is created, the routing tree is immutable and cannot be changed. To change the routing, we need to create a new router with changed routes and/or options. For this, the Router protocol exposes it's resolved routes via r/routes and options via r/options.\nAdding routes\nLet's create a router:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [[\"/foo\" ::foo]\n [\"/bar/:id\" ::bar]]))\n\nWe can query the resolved routes and options:\n(r/routes router)\n;[[\"/foo\" {:name :user/foo}]\n; [\"/bar/:id\" {:name :user/bar}]]\n\n(r/options router)\n;{:lookup #object[...]\n; :expand #object[...]\n; :coerce #object[...]\n; :compile #object[...]\n; :conflicts #object[...]}\n\nLet's add a helper function to create a new router with extra routes:\n(defn add-routes [router routes]\n (r/router\n (into (r/routes router) routes)\n (r/options router)))\n\nWe can now create a new router with extra routes:\n(def router2\n (add-routes\n router\n [[\"/baz/:id/:subid\" ::baz]]))\n\n(r/routes router2)\n;[[\"/foo\" {:name :user/foo}]\n; [\"/bar/:id\" {:name :user/bar}]\n; [\"/baz/:id/:subid\" {:name :user/baz}]]\n\nThe original router was not changed:\n(r/routes router)\n;[[\"/foo\" {:name :user/foo}]\n; [\"/bar/:id\" {:name :user/bar}]]\n\nWhen a new router is created, all rules are applied, including the conflict resolution:\n(add-routes\n router2\n [[\"/:this/should/:fail\" ::fail]])\n;CompilerException clojure.lang.ExceptionInfo: Router contains conflicting route paths:\n;\n; /baz/:id/:subid\n;-> /:this/should/:fail\n\nMerging routers\nLet's create a helper function to merge routers:\n(defn merge-routers [& routers]\n (r/router\n (apply merge (map r/routes routers))\n (apply merge (map r/options routers))))\n\nWe can now merge multiple routers into one:\n(def router\n (merge-routers\n (r/router [\"/route1\" ::route1])\n (r/router [\"/route2\" ::route2])\n (r/router [\"/route3\" ::route3])))\n\n(r/routes router)\n;[[\"/route1\" {:name :user/route1}]\n; [\"/route2\" {:name :user/route2}]\n; [\"/route3\" {:name :user/route3}]]\n\nNesting routers\nRouters can be nested using the catch-all parameter.\nHere's a router with deeply nested routers under a :router key in the route data:\n(def router\n (r/router\n [[\"/ping\" :ping]\n [\"/olipa/*\" {:name :olipa\n :router (r/router\n [[\"/olut\" :olut]\n [\"/makkara\" :makkara]\n [\"/kerran/*\" {:name :kerran\n :router (r/router\n [[\"/avaruus\" :avaruus]\n [\"/ihminen\" :ihminen]])}]])}]]))\n\nMatching by path:\n(r/match-by-path router \"/olipa/kerran/iso/kala\")\n;#Match{:template \"/olipa/*\"\n; :data {:name :olipa\n; :router #object[reitit.core$mixed_router]}\n; :result nil\n; :path-params {: \"kerran/iso/kala\"}\n; :path \"/olipa/iso/kala\"}\n\nThat didn't work as we wanted, as the nested routers don't have such a route. The core routing doesn't understand anything the :router key, so it only matched against the top-level router, which gave a match for the catch-all path.\nAs the Match contains all the route data, we can create a new matching function that understands the :router key. Below is a function that does recursive matching using the subrouters. It returns either nil or a vector of matches.\n(require '[clojure.string :as str])\n\n(defn recursive-match-by-path [router path]\n (if-let [match (r/match-by-path router path)]\n (if-let [subrouter (-> match :data :router)]\n (let [subpath (subs path (str/last-index-of (:template match) \"/\"))]\n (if-let [submatch (recursive-match-by-path subrouter subpath)]\n (cons match submatch)))\n (list match))))\n\nWith invalid nested path we get now nil as expected:\n(recursive-match-by-path router \"/olipa/kerran/iso/kala\")\n; nil\n\nWith valid path we get all the nested matches:\n(recursive-match-by-path router \"/olipa/kerran/avaruus\")\n;[#reitit.core.Match{:template \"/olipa/*\"\n; :data {:name :olipa\n; :router #object[reitit.core$mixed_router]}\n; :result nil\n; :path-params {: \"kerran/avaruus\"}\n; :path \"/olipa/kerran/avaruus\"}\n; #reitit.core.Match{:template \"/kerran/*\"\n; :data {:name :kerran\n; :router #object[reitit.core$lookup_router]}\n; :result nil\n; :path-params {: \"avaruus\"}\n; :path \"/kerran/avaruus\"}\n; #reitit.core.Match{:template \"/avaruus\" \n; :data {:name :avaruus} \n; :result nil \n; :path-params {} \n; :path \"/avaruus\"}]\n\nLet's create a helper to get only the route names for matches:\n(defn name-path [router path]\n (some->> (recursive-match-by-path router path)\n (mapv (comp :name :data))))\n\n(name-path router \"/olipa/kerran/avaruus\")\n; [:olipa :kerran :avaruus]\n\nSo, we can nest routers, but why would we do that?\nDynamic routing\nIn all the examples above, the routers were created ahead of time, making the whole route tree effectively static. To have more dynamic routing, we can use router references allowing the router to be swapped over time. We can also create fully dynamic routers where the router is re-created for each request. Let's walk through both cases.\nFirst, we need to modify our matching function to support router references:\n(defn- match :data :router \nThen, we need some routers.\nFirst, a reference to a router that can be updated on background, for example when a new entry in inserted into a database. We'll wrap the router into a atom:\n(def beer-router\n (atom\n (r/router \n [[\"/lager\" :lager]])))\n\nSecond, a reference to router, which is re-created on each routing request:\n(def dynamic-router\n (reify clojure.lang.IDeref\n (deref [_]\n (r/router\n [\"/duo\" (keyword (str \"duo\" (rand-int 100)))]))))\n\nWe can compose the routers into a system-level static root router:\n(def router\n (r/router\n [[\"/gin/napue\" :napue]\n [\"/ciders/*\" :ciders]\n [\"/beers/*\" {:name :beers\n :router beer-router}]\n [\"/dynamic/*\" {:name :dynamic\n :router dynamic-router}]]))\n\nMatching root routes:\n(name-path router \"/vodka/russian\")\n; nil\n\n(name-path router \"/gin/napue\")\n; [:napue]\n\nMatching (nested) beer routes:\n(name-path router \"/beers/lager\")\n; [:beers :lager]\n\n(name-path router \"/beers/saison\")\n; nil\n\nNo saison!? Let's add the route:\n(swap! beer-router add-routes [[\"/saison\" :saison]])\n\nThere we have it:\n(name-path router \"/beers/saison\")\n; [:beers :saison]\n\nWe can't add conflicting routes:\n(swap! beer-router add-routes [[\"/saison\" :saison]])\n;CompilerException clojure.lang.ExceptionInfo: Router contains conflicting route paths:\n;\n; /saison\n;-> /saison\n\nThe dynamic routes are re-created on every request:\n(name-path router \"/dynamic/duo\")\n; [:dynamic :duo71]\n\n(name-path router \"/dynamic/duo\")\n; [:dynamic :duo55]\n\nPerformance\nWith nested routers, instead of having to do just one route match, matching is recursive, which adds a small cost. All nested routers need to be of type catch-all at top-level, which is order of magnitude slower than fully static routes. Dynamic routes are the slowest ones, at least two orders of magnitude slower, as the router needs to be recreated for each request.\nA quick benchmark on the recursive lookups:\n\n\n\npath\ntime\ntype\n\n\n\n\n/gin/napue\n40ns\nstatic\n\n\n/ciders/weston\n440ns\ncatch-all\n\n\n/beers/saison\n600ns\ncatch-all + static\n\n\n/dynamic/duo\n12000ns\ncatch-all + dynamic\n\n\n\nThe non-recursive lookup for /gin/napue is around 23ns.\nComparing the dynamic routing performance with Compojure:\n(require '[compojure.core :refer [context])\n\n(def app\n (context \"/dynamic\" [] (constantly :duo)))\n\n(app {:uri \"/dynamic/duo\" :request-method :get})\n; :duo\n\n\n\n\npath\ntime\ntype\n\n\n\n\n/dynamic/duo\n20000ns\ncompojure\n\n\n\nCan we make the nester routing faster? Sure. We could use the Router :compile hook to compile the nested routers for better performance. We could also allow router creation rules to be disabled, to get the dynamic routing much faster.\nWhen to use nested routers?\nNesting routers is not trivial and because of that, should be avoided. For dynamic (request-time) route generation, it's the only choise. For other cases, nested routes are most likely a better option.\nLet's re-create the previous example with normal route nesting/composition.\nA helper to the root router:\n(defn create-router [beers]\n (r/router\n [[\"/gin/napue\" :napue]\n [\"/ciders/*\" :ciders]\n [\"/beers\" (for [beer beers]\n [(str \"/\" beer) (keyword \"beer\" beer)])]\n [\"/dynamic/*\" {:name :dynamic\n :router dynamic-router}]]))\n\nNew new root router reference and a helper to reset it:\n(def router\n (atom (create-router nil)))\n\n(defn reset-router! [beers]\n (reset! router (create-router beers)))\n\nThe routing tree:\n(r/routes @router)\n;[[\"/gin/napue\" {:name :napue}]\n; [\"/ciders/*\" {:name :ciders}]\n; [\"/dynamic/*\" {:name :dynamic,\n; :router #object[user$reify__24359]}]]\n\nLet's reset the router with some beers:\n(reset-router! [\"lager\" \"sahti\" \"bock\"])\n\nWe can see that the beer routes are now embedded into the core router:\n(r/routes @router)\n;[[\"/gin/napue\" {:name :napue}]\n; [\"/ciders/*\" {:name :ciders}]\n; [\"/beers/lager\" {:name :beer/lager}]\n; [\"/beers/sahti\" {:name :beer/sahti}]\n; [\"/beers/bock\" {:name :beer/bock}]\n; [\"/dynamic/*\" {:name :dynamic,\n; :router #object[user$reify__24359]}]]\n\nAnd the routing works:\n(name-path @router \"/beers/sahti\")\n;[:beer/sahti]\n\nAll the beer-routes now match in constant time.\n\n\n\npath\ntime\ntype\n\n\n\n\n/beers/sahti\n40ns\nstatic\n\n\n\nTODO\n\nadd an example how to do dynamic routing with reitit-ring\nmaybe create a recursive-router into a separate ns with all Router functions implemented correctly? maybe not...\nadd reitit.core/merge-routes to effectively merge routes with route data\n\n"},"advanced/different_routers.html":{"url":"advanced/different_routers.html","title":"Different Routers","keywords":"","body":"Different Routers\nReitit ships with several different implementations for the Router protocol, originally based on the Pedestal implementation. router function selects the most suitable implementation by inspecting the expanded routes. The implementation can be set manually using :router option, see configuring routers.\n\n\n\nrouter\ndescription\n\n\n\n\n:linear-router\nMatches the routes one-by-one starting from the top until a match is found. Slow, but works with all route trees.\n\n\n:trie-router\nRouter that creates a optimized search trie out of an route table. Much faster than :linear-router for wildcard routes. Valid only if there are no Route conflicts.\n\n\n:lookup-router\nFast router, uses hash-lookup to resolve the route. Valid if no paths have path or catch-all parameters and there are no Route conflicts.\n\n\n:single-static-path-router\nSuper fast router: string-matches a route. Valid only if there is one static route.\n\n\n:mixed-router\nContains two routers: :trie-router for wildcard routes and a :lookup-router or :single-static-path-router for static routes. Valid only if there are no Route conflicts.\n\n\n:quarantine-router\nContains two routers: :mixed-router for non-conflicting routes and a :linear-router for conflicting routes.\n\n\n\nThe router name can be asked from the router:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [[\"/ping\" ::ping]\n [\"/api/:users\" ::users]]))\n\n(r/router-name router)\n; :mixed-router\n\nOverriding the router implementation:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [[\"/ping\" ::ping]\n [\"/api/:users\" ::users]]\n {:router r/linear-router}))\n\n(r/router-name router)\n; :linear-router\n\n"},"advanced/route_validation.html":{"url":"advanced/route_validation.html","title":"Route Validation","keywords":"","body":"Route validation\nNamespace reitit.spec contains clojure.spec definitions for raw-routes, routes, router and router options.\nExample\n(require '[clojure.spec.alpha :as s])\n(require '[reitit.spec :as spec])\n\n(def routes-from-db\n [\"tenant1\" ::tenant1])\n\n(s/valid? ::spec/raw-routes routes-from-db)\n; false\n\n(s/explain ::spec/raw-routes routes-from-db)\n; In: [0] val: \"tenant1\" fails spec: :reitit.spec/path at: [:route :path] predicate: (or (blank? %) (starts-with? % \"/\"))\n; In: [0] val: \"tenant1\" fails spec: :reitit.spec/raw-route at: [:routes] predicate: (cat :path :reitit.spec/path :arg (? :reitit.spec/arg) :childs (* (and (nilable :reitit.spec/raw-route))))\n; In: [1] val: :user/tenant1 fails spec: :reitit.spec/raw-route at: [:routes] predicate: (cat :path :reitit.spec/path :arg (? :reitit.spec/arg) :childs (* (and (nilable :reitit.spec/raw-route))))\n; :clojure.spec.alpha/spec :reitit.spec/raw-routes\n; :clojure.spec.alpha/value [\"tenant1\" :user/tenant1]\n\nAt development time\nreitit.core/router can be instrumented and use a tool like expound to pretty-print the spec problems.\nFirst add a :dev dependency to:\n[expound \"0.4.0\"] ; or higher\n\nSome bootstrapping:\n(require '[clojure.spec.test.alpha :as stest])\n(require '[expound.alpha :as expound])\n(require '[clojure.spec.alpha :as s])\n(require '[reitit.spec])\n\n(stest/instrument `reitit/router)\n(set! s/*explain-out* expound/printer)\n\nAnd we are ready to go:\n(require '[reitit.core :as r])\n\n(r/router\n [\"/api\"\n [\"/public\"\n [\"/ping\"]\n [\"pong\"]]])\n\n; CompilerException clojure.lang.ExceptionInfo: Call to #'reitit.core/router did not conform to spec:\n;\n; -- Spec failed --------------------\n;\n; Function arguments\n;\n; ([\"/api\" ...])\n; ^^^^^^\n;\n; should satisfy\n;\n; (clojure.spec.alpha/cat\n; :path\n; :reitit.spec/path\n; :arg\n; (clojure.spec.alpha/? :reitit.spec/arg)\n; :childs\n; (clojure.spec.alpha/*\n; (clojure.spec.alpha/and\n; (clojure.spec.alpha/nilable :reitit.spec/raw-route))))\n;\n; or\n;\n; (clojure.spec.alpha/cat\n; :path\n; :reitit.spec/path\n; :arg\n; (clojure.spec.alpha/? :reitit.spec/arg)\n; :childs\n; (clojure.spec.alpha/*\n; (clojure.spec.alpha/and\n; (clojure.spec.alpha/nilable :reitit.spec/raw-route))))\n;\n; -- Relevant specs -------\n;\n; :reitit.spec/raw-route:\n; (clojure.spec.alpha/cat\n; :path\n; :reitit.spec/path\n; :arg\n; (clojure.spec.alpha/? :reitit.spec/arg)\n; :childs\n; (clojure.spec.alpha/*\n; (clojure.spec.alpha/and\n; (clojure.spec.alpha/nilable :reitit.spec/raw-route))))\n; :reitit.spec/raw-routes:\n; (clojure.spec.alpha/or\n; :route\n; :reitit.spec/raw-route\n; :routes\n; (clojure.spec.alpha/coll-of :reitit.spec/raw-route :into []))\n;\n; -- Spec failed --------------------\n;\n; Function arguments\n;\n; ([... [... ... [\"pong\"]]])\n; ^^^^^^\n;\n; should satisfy\n;\n; (fn\n; [%]\n; (or\n; (clojure.string/blank? %)\n; (clojure.string/starts-with? % \"/\")))\n;\n; or\n;\n; (fn\n; [%]\n; (or\n; (clojure.string/blank? %)\n; (clojure.string/starts-with? % \"/\")))\n;\n; -- Relevant specs -------\n;\n; :reitit.spec/path:\n; (clojure.spec.alpha/and\n; clojure.core/string?\n; (clojure.core/fn\n; [%]\n; (clojure.core/or\n; (clojure.string/blank? %)\n; (clojure.string/starts-with? % \"/\"))))\n; :reitit.spec/raw-route:\n; (clojure.spec.alpha/cat\n; :path\n; :reitit.spec/path\n; :arg\n; (clojure.spec.alpha/? :reitit.spec/arg)\n; :childs\n; (clojure.spec.alpha/*\n; (clojure.spec.alpha/and\n; (clojure.spec.alpha/nilable :reitit.spec/raw-route))))\n; :reitit.spec/raw-routes:\n; (clojure.spec.alpha/or\n; :route\n; :reitit.spec/raw-route\n; :routes\n; (clojure.spec.alpha/coll-of :reitit.spec/raw-route :into []))\n;\n; -------------------------\n; Detected 2 errors\n\n"},"advanced/dev_workflow.html":{"url":"advanced/dev_workflow.html","title":"Dev Workflow","keywords":"","body":"Dev Worklfow\nMany applications will require the routes to span multiple namespaces. It is quite easy to do so with reitit, but we might hit a problem during developement.\nAn example\nConsider this sample routing :\n(ns ns1)\n\n(def routes\n [\"/bar\" ::bar])\n\n(ns ns2)\n(require '[ns1])\n\n(def routes\n [[\"/ping\" ::ping]\n [\"/more\" ns1/routes]])\n\n(ns ns3)\n(require '[ns1])\n(require '[ns2])\n(require '[reitit.core :as r])\n\n(def routes\n [\"/api\"\n [\"/ns2\" ns2/routes]\n [\"/ping\" ::ping]])\n\n(def router (r/router routes))\n\nWe may query the top router and get the expected result :\n(r/match-by-path router \"/api/ns2/more/bar\")\n;#reitit.core.Match{:template \"/api/ns2/more/bar\", :data {:name :ns1/bar}, :result nil, :path-params {}, :path \"/api/ns2/more/bar\"}\n\nNotice the route name : :ns1/bar\nWhen we change the routes in ns1 like this :\n(ns ns1\n (:require [reitit.core :as r]))\n\n(def routes\n [\"/bar\" ::bar-with-new-name])\n\nAfter we recompile the ns1 namespace, and query again\nns1/routes\n;[\"/bar\" :ns1/bar-with-new-name]\n;The routes var in ns1 was changed indeed\n\n(r/match-by-path router \"/api/ns2/more/bar\")\n;#reitit.core.Match{:template \"/api/ns2/more/bar\", :data {:name :ns1/bar}, :result nil, :path-params {}, :path \"/api/ns2/more/bar\"}\n\nThe route name is still :ns1/bar !\nWhile we could use the reloaded workflow to reload the whole routing tree, it is not always possible, and quite frankly a bit slower than we might want for fast iterations.\nA crude solution\nIn order to see the changes without reloading the whole route tree, we can use functions.\n(ns ns1)\n\n(defn routes [] ;; Now a function !\n [\"/bar\" ::bar])\n\n(ns ns2)\n(require '[ns1])\n\n(defn routes [] ;; Now a function !\n [[\"/ping\" ::ping]\n [\"/more\" (ns1/routes)]]) ;; Now a function call\n\n(ns ns3)\n(require '[ns1])\n(require '[ns2])\n(require '[reitit.core :as r])\n\n(defn routes [] ;; Now a function !\n [\"/api\"\n [\"/ns2\" (ns2/routes)] ;; Now a function call\n [\"/ping\" ::ping]])\n\n(def router #(r/router (routes))) ;; Now a function\n\nLet's query again\n(r/match-by-path (router) \"/api/ns2/more/bar\") \n;#reitit.core.Match{:template \"/api/ns2/more/bar\", :data {:name :ns1/bar}, :result nil, :path-params {}, :path \"/api/ns2/more/bar\"}\n\nNotice that's we're now calling a function rather than just passing router to the matching function.\nNow let's again change the route name in ns1, and recompile that namespace.\n(ns ns1)\n\n(defn routes [] \n [\"/bar\" ::bar-with-new-name])\n\nlet's see the query result :\n(r/match-by-path (router) \"/api/ns2/more/bar\")\n;#reitit.core.Match{:template \"/api/ns2/more/bar\", :data {:name :ns1/bar-with-new-name}, :result nil, :path-params {}, :path \"/api/ns2/more/bar\"}\n\nNotice that the name is now correct, without reloading every namespace under the sun.\nWhy is this a crude solution ?\nThe astute reader will have noticed that we're recompiling the full routing tree on every invocation. While this solution is practical during developement, it goes contrary to the performance goals of reitit. \nWe need a way to only do this once at production time.\nAn easy fix\nLet's apply a small change to our ns3. We'll replace our router by two different routers, one for dev and one for production.\n(ns ns3)\n(require '[ns1])\n(require '[ns2])\n(require '[reitit.core :as r])\n\n(defn routes [] \n [\"/api\"\n [\"/ns2\" (ns2/routes)] \n [\"/ping\" ::ping]])\n\n(def dev-router #(r/router (routes))) ;; A router for dev\n(def prod-router (constantly (r/router (routes)))) ;; A router for prod\n\nAnd there you have it, dynamic during dev, performance at production. We have it all !\n"},"advanced/shared_routes.html":{"url":"advanced/shared_routes.html","title":"Shared Routes","keywords":"","body":"Shared routes\nAs reitit-core works with both Clojure & ClojureScript, one can have a shared routing table for both the frontend and the backend application, using the Clojure Common Files.\nFor backend, you need to define a :handler for the request processing, for frontend, :name enables the use of reverse routing.\nThere are multiple options to use shared routing table.\nUsing reader conditionals\n;; define the handlers for clojure\n#?(:clj (declare get-kikka))\n#?(:clj (declare post-kikka))\n\n;; :name for both, :handler just for clojure\n(def routes\n [\"/kikka\"\n {:name ::kikka\n #?@(:clj [:get {:handler get-kikka}])\n #?@(:clj [:post {:handler post-kikka}])}])\n\nUsing custom expander\nraw-routes can have any non-sequential data as a route argument, which gets expanded using the :expand option given to the reitit.core.router function. It defaults to reitit.core/expand multimethod.\nFirst, define the common routes (in a .cljc file):\n(def routes\n [[\"/kikka\" ::kikka]\n [\"/bar\" ::bar]])\n\nThose can be used as-is from ClojureScript:\n(require '[reitit.core :as r])\n\n(def router\n (r/router routes))\n\n(r/match-by-name router ::kikka)\n;#Match{:template \"/kikka\"\n; :data {:name :user/kikka}\n; :result nil\n; :path-params nil\n; :path \"/kikka\"}\n\nFor the backend, we can use a custom-expander to expand the routes:\n(require '[reitit.ring :as ring])\n(require '[reitit.core :as r])\n\n(defn my-expand [registry]\n (fn [data opts]\n (if (keyword? data)\n (some-> data\n registry\n (r/expand opts)\n (assoc :name data))\n (r/expand data opts))))\n\n;; the handler functions\n(defn get-kikka [_] {:status 200, :body \"get\"})\n(defn post-kikka [_] {:status 200, :body \"post\"})\n(defn bar [_] {:status 200, :body \"bar\"})\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/kikka\" ::kikka]\n [\"/bar\" ::bar]]\n ;; use a custom expander\n {:expand (my-expand\n {::kikka {:get get-kikka\n :post post-kikka}\n ::bar bar})})))\n\n(app {:request-method :post, :uri \"/kikka\"})\n; {:status 200, :body \"post\"}\n\n"},"performance.html":{"url":"performance.html","title":"Performance","keywords":"","body":"Performance\nReitit tries to be really, really fast.\n\nRationale\n\nMultiple routing algorithms, chosen based on the route tree\nRoute flattening and re-ordering\nManaged mutability over immutability\nPrecompute/compile as much as possible (matches, middleware, interceptors, routes, path-parameter sets)\nUse abstractions that enable JVM optimizations\nUse small functions to enable JVM Inlining\nUse Java where needed\nProtocols over Multimethods\nRecords over Maps\nAlways be measuring\nDon't trust the (micro-)benchmarks\n\nDoes routing performance matter?\nWell, it depends. With small route trees, it might not. But, with large (real-life) route trees, difference between the fastest and the slowest tested libs can be two or three orders of magnitude. For busy sites it actually matters if you routing request takes 100 ns or 100 µs. A lot.\nTests\nAll perf tests are found in the repo and have been run with the following setup:\n;;\n;; start repl with `lein perf repl`\n;; perf measured with the following setup:\n;;\n;; Model Name: MacBook Pro\n;; Model Identifier: MacBookPro11,3\n;; Processor Name: Intel Core i7\n;; Processor Speed: 2,5 GHz\n;; Number of Processors: 1\n;; Total Number of Cores: 4\n;; L2 Cache (per Core): 256 KB\n;; L3 Cache: 6 MB\n;; Memory: 16 GB\n;;\nNOTE: Tests are not scientific proof and may contain errors. You should always run the perf tests with your own (real-life) routing tables to get more accurate results for your use case. Also, if you have idea how to test things better, please let us know.\nSimple Example\nThe routing sample taken from bide README:\n(require '[reitit.core :as r])\n(require '[criterium.core :as cc])\n\n(def routes\n (r/router\n [[\"/auth/login\" :auth/login]\n [\"/auth/recovery/token/:token\" :auth/recovery]\n [\"/workspace/:project/:page\" :workspace/page]]))\n\n;; Execution time mean (per 1000) : 3.2 µs -> 312M ops/sec\n(cc/quick-bench\n (dotimes [_ 1000]\n (r/match-by-path routes \"/auth/login\")))\n\n;; Execution time mean (per 1000): 115 µs -> 8.7M ops/sec\n(cc/quick-bench\n (dotimes [_ 1000]\n (r/match-by-path routes \"/workspace/1/1\")))\n\nBased on the perf tests, the first (static path) lookup is 300-500x faster and the second (wildcard path) lookup is 18-110x faster that the other tested routing libs (Ataraxy, Bidi, Compojure and Pedestal).\nBut, the example is too simple for any real benchmark. Also, some of the libraries always match on the :request-method too and by doing so, do more work than just match by path. Compojure does most work also by invoking the handler.\nSo, we need to test something more realistic.\nRESTful apis\nTo get better view on the real life routing performance, there is test of a mid-size rest(ish) http api with 50+ routes, having a lot of path parameters. The route definitions are pulled off from the OpenSensors swagger definitions.\nThanks to the snappy Wildcard Trie (a modification of Radix Tree), reitit-ring is fastest here. Calfpath and Pedestal are also quite fast.\n\nCQRS apis\nAnother real-life test scenario is a CQRS style route tree, where all the paths are static, e.g. /api/command/add-order. The 300 route definitions are pulled out from Lupapiste.\nBoth reitit-ring and Pedestal shine in this test, thanks to the fast lookup-routers. On average, they are two and on best case, three orders of magnitude faster than the other tested libs. Ataraxy failed this test on Method code too large! error.\n\nNOTE: in real life, there are usually always also wild-card routes present. In this case, Pedestal would fallback from lookup-router to the prefix-tree router, which is order of magnitude slower (30x in this test). Reitit would handle this nicely thanks to it's :mixed-router: all static routes would still be served with :lookup-router, just the wildcard routes with :segment-tree. The performance would not notably degrade.\nPath conflicts\nTODO\nWhy measure?\nThe reitit routing perf is measured to get an internal baseline to optimize against. We also want to ensure that new features don't regress the performance. Perf tests should be run in a stable CI environment. Help welcome!\nLooking out of the box\nA quick poke to the fast routers in Go indicates that reitit is less 50% slower than the fastest routers in Go. Which is kinda awesome.\nFaster!\nBy default, reitit.ring/ring-router, reitit.http/ring-router and reitit.http/routing-interceptor inject both Match and Router into the request. You can remove the injections setting options :inject-match? and :inject-router? to false. This saves some tens of nanos (with the hw described above).\n(require '[reitit.ring :as ring])\n(require '[criterium.core :as cc])\n\n(defn create [options]\n (ring/ring-handler\n (ring/router\n [\"/ping\" (constantly {:status 200, :body \"ok\"})])\n (ring/create-default-handler)\n options))\n\n;; 130ns\n(let [app (create nil)]\n (cc/quick-bench\n (app {:request-method :get, :uri \"/ping\"})))\n\n;; 80ns\n(let [app (create {:inject-router? false, :inject-match? false})]\n (cc/quick-bench\n (app {:request-method :get, :uri \"/ping\"})))\n\nNOTE: Without Router, you can't to do reverse routing and without Match you can't write dynamic extensions.\nPerformance tips\nFew things that have an effect on performance:\n\nWildcard-routes are an order of magnitude slower than static routes\nConflicting routes are served with LinearRouter, which is the slowest implementation.\nIt's ok to mix non-wildcard, wildcard or even conflicting routes in a same routing tree. Reitit will create an hierarchy of routers to serve all the routes with best possible implementation. \nMove computation from request processing time into creation time, using by compiling middleware, interceptors and route data.\nUnmounted middleware (or interceptor) is infinitely faster than a mounted one effectively doing nothing.\n\n\n\n"},"development.html":{"url":"development.html","title":"Development Instructions","keywords":"","body":"Development Instructions\nBuilding\n./scripts/lein-modules do clean, install\n\nRunning tests\n./scripts/test.sh clj\n./scripts/test.sh cljs\n\nDocumentation\nThe documentation is built with gitbook. To preview your changes locally:\nnpm install -g gitbook-cli\ngitbook install\ngitbook serve\n\nTo bump up version:\nWe use Break Versioning. Remember our promise: patch-level bumps never include breaking changes!\n# new version\n./scripts/set-version \"1.0.0\"\n./scripts/lein-modules install\n\n# works\nlein test\n\n# deploy to clojars\n./scripts/lein-modules do clean, deploy clojars\n\n"},"faq.html":{"url":"faq.html","title":"FAQ","keywords":"","body":"Frequently Asked Questions\n\nWhy yet another routing library?\nHow can I contribute?\nHow does Reitit differ from Bidi?\nHow does Reitit differ from Pedestal?\nHow does Reitit differ from Compojure?\n\nWhy yet another routing library?\nRouting and dispatching is in the core of most business apps, so we should have a great library to for it. There are already many good routing libs for Clojure, but we felt none was perfect. So, we took best parts of existing libs and added features that were missing: first-class composable route data, full route conflict resolution and pluggable coercion. Goal was to make a data-driven library that works, is fun to use and is really, really fast.\nHow can I contribute?\nYou can join #reitit channel in Clojurians slack to discuss things. Known roadmap is mostly written in issues.\nHow does Reitit differ from Bidi?\nBidi is an great and proven library for ClojureScript and we have been using it in many of our frontend projects. Both Reitit and Bidi are data-driven, bi-directional and work with both Clojure & ClojureScript. Here are the main differences:\nRoute syntax\n\nBidi supports multiple representations for route syntax, Reitit supports just one (simple) syntax.\nBidi uses special (Clojure) syntax for route patterns while Reitit separates (human-readable) paths strings from route data - still exposing the machine-readable syntax for extensions.\n\nBidi:\n(def routes\n [\"/\" [[\"auth/login\" :auth/login]\n [[\"auth/recovery/token/\" :token] :auth/recovery]\n [\"workspace/\" [[[:project-uuid \"/\" :page-uuid] :workspace/page]]]]])\n\nReitit:\n(def routes\n [[\"/auth/login\" :auth/login]\n [\"/auth/recovery/token/:token\" :auth/recovery]\n [\"/workspace/:project-uuid/:page-uuid\" :workspace/page]])\n\nFeatures\n\nBidi has extra features like route guards\nReitit ships with composable route data, specs, full route conflict resolution and pluggable coercion.\n\nPerformance\n\nBidi is not optimized for speed and thus, Reitit is much faster than Bidi. From Bidi source:\n\n;; Route compilation was only marginally effective and hard to\n;; debug. When bidi matching takes in the order of 30 micro-seconds,\n;; this is good enough in relation to the time taken to process the\n;; overall request.\n\nHow does Reitit differ from Pedestal?\nPedestal is an great and proven library and has had great influence in Reitit. Both Reitit and Pedestal are data-driven and provide bi-directional routing and fast. Here are the main differences:\nClojureScript\n\nPedestal targets only Clojure, while Reitit works also with ClojureScript.\n\nRoute syntax\n\nPedestal supports multiple representations for route syntax: terse, table and verbose. Reitit provides only one representation.\nPedestal supports both maps or keyword-arguments in route data, in Reitit, it's all maps.\n\nPedestal:\n[\"/api/ping\" :get identity :route-name ::ping]\n\nReitit:\n[\"/api/ping\" {:get identity, :name ::ping}]\n\nFeatures\n\nPedestal supports route guards\nPedestal supports interceptors (reitit-http module will support them too).\nReitit ships with composable route data, specs, full route conflict resolution and pluggable coercion.\nIn Pedestal, different routers behave differently, in Reitit, all work the same.\n\nPerformance\nReitit routing was originally based on Pedestal Routing an thus they same similar performance. For routing trees with both static and wildcard routes, Reitit is much faster thanks to it's mixed-router algorithm.\nHow does Reitit differ from Compojure?\nCompojure is the most used routing library in Clojure. It's proven and awesome.\nClojureScript\n\nCompojure targets only Clojure, while Reitit works also with ClojureScript.\n\nRoute syntax\n\nCompojure uses routing functions and macros while reitit is all data\nCompojure allows easy destructuring of route params on mid-path\nApplying middleware for sub-paths is hacky on Compojure, reitit-ring resolves this with data-driven middleware\n\nCompojure:\n(defroutes routes\n (wrap-routes\n (context \"/api\" []\n (GET \"/users/:id\" [id :\nreitit-ring with reitit-spec module:\n(def routes\n [\"/api\" {:middleware [[wrap-api :secure]]}\n [\"/users/:id\" {:get {:parameters {:path {:id int?}}}\n :handler (fn [{:keys [parameters]}]\n (ok (get-user (-> parameters :body :id))))}\n [\"/pizza\" {:post {:middleware [wrap-log]\n :handler post-pizza-handler}]]])\n\nFeatures\n\nDynamic routing is trivial in Compojure, with reitit, some trickery is needed\nReitit ships with composable route data, specs, full route conflict resolution and pluggable coercion.\n\nPerformance\nReitit is much faster than Compojure.\n"}}} \ No newline at end of file +{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["\"/api/admin/users\"})","\"/api/ipa\")","\"/api/orders/1\")","\"/api/orders/1\"}","\"/api/orders/2\"}","\"/api/orders/:id\"","\"/api/orders/:id\",","\"/api/ping\"","\"/api/ping\")","\"/api/ping\"}","\"0.3.1\"]","\"1\"}","\"ok\",","\"ok\"})","#match{:templ","#methods{...}","#object[user$handler]}","#partialmatch{:templ","#reitit","#{:id}}","&","'())","'[reitit.cor","'[reitit.r","(","(:api","(app","(clojure.spec),","(def","(defn","(fn","(fnil","(handler","(r/match","(r/partial","(r/router","(requir","(ring/get","(ring/r","(ring/rout","(schema","(updat","200,","2})","2},","::ipa)","::order","::ping)","::ping))","::ping]","::ping}","::ping}]",":a",":admin]]}",":admin}",":api]]",":api]]}",":bodi",":data",":get",":get,",":handler",":middlewar",":name",":path",":post",":put,",":request",":requir",":result",":uri",":user/ord",":wrap",";",">","[\"/admin\"","[\"/api\"","[\"/api/orders/:id\"","[\"/ping\"","[\"/users\"","[[\"/api/ping\"","[[#object[user$wrap]","[[wrap","[_]","[handler","[metosin/reitit","[request]","add","apidoc","app","base","bi","bundl","bundled:","class","clojure(script).","clojure.spec","clojure.spec)","clojurian","coercion","common","compilation,","conflict","conj","core","data","dev","develop","direct","discuss","driven","dynam","exampl","extend","extens","extra","fast","first","frontend","functions,","handler","handler}]]])))","help.","helper","http","http,","id","id)","id))","id)))","id]","id]]))","id}","id},","integr","interceptor","introduct","latest","main","match?","method","method.","middlewar","middleware,","modul","modular","more.","name","nil","nil,","optionally,","param","paramet","part","path","pedest","pluggabl","r])","reitit","request)","requir","resolut","revers","ring","ring,","ring])","rout","router","router)","routing:","schema","separately.","sieppari","simpl","slack","spec","style","support","swagger","swagger2","syntax","tool","true","ui","ui.","util","version","wrap","{:get","{:handler","{:id","{:middlewar","{:name","{:request","{:statu","{}"],"basics/route_syntax.html":["\"/\"","'add","'get","(*path).","(:id)","([\"/get","(case","(cqr","(current","(defn","(for","(name","(non","(str","/","/foo","/foo%20bar.","0.3.0,","::admin]","::admin}]","::db]]","::db]}","::db}]","::ping]","::ping]]","::ping}]]","::pong}]]",":command",":get",":let",":name",":number\"]",":post)]]",":queri",";",";;","[\"\"","[\"/add","[\"/admin\"","[\"/api\"","[\"/api/:version/ping\"]]","[\"/api/admin/db\"","[\"/api/ping\"","[\"/db\"","[\"/files/fil","[\"/files/{name}.{extension}\"]","[\"/ping\"","[\"/ping\"]","[\"/pong\"","[\"/pong\"]]","[\"/public/*path\"]","[\"/public/{*path}\"]","[\"/user/:us","[\"/user/{us","[\"events.{target}.{type}\"]]","[::admin],","[::admin]}","[::api","[:command","[[\"/api/:version\"]","[[\"/api/admin\"","[[\"/api/{version}\"]","[[\"/files/fil","[[\"/ping\"","[[\"/ping\"]","[[\"/users/:us","[[\"/users/{us","[[\"broker.{customer}.{device}.{*data}\"]","[[:queri","[[type","[actions]","[add","[get","[interceptor]}}])])","[path","\\","\\.","action","anywher","appli","argument","arguments:","bar","bracket","brackets,","catch","caus","charact","child","compil","cqr","creat","creation:","data,","defin","deprec","e.g.,","easi","en","enabl","encod","end","error","exampl","flattened:","follow","free","gener","hardcoded)","have","id\"]","id/orders\"]]","ident","id}\"]","id}/orders\"]]","ignored.","interceptor))","interceptor]","it'","keyword","later.","list","method","multipl","need","nest","nil","non","normal","option","order\"","order]])","order]}}])]","paramet","parameter:","parameters:","path","paths.","prefix","programmatically:","qualifi","reitit","rout","route:","router","routes.","routes:","same","sequential)","simpl","slash","start","stop","string","string,","string:","syntax","termin","terminator.","that,","time","two","type","us","user\"","user]","user]}}]","vector","version","wildcard","wrap","yourself.","{*user/path}.","{:get","{:interceptor","{:middlewar","{:name","{:post","{method","{name}","{name}.pdf\"]","{number}.pdf\"]]","{user/id},","{version}.pdf\"]]"],"basics/router.html":["#object[...]","#object[...]}","'[reitit.cor","(def","(defprotocol","(match","(option","(or","(r/option","(r/rout","(r/router","(requir","(reverse)","(rout","(router","(via","::ping]","::user]])","::user]]))","::users]","::users]])",":a",":coerc",":compil",":conflict",":expand",":mix",":router",":user/db}]",":user/ping}",":user/ping}]",":user/user]",":user/users}]",":user/user}",":user/user}]]",":valid",";","[\"/admin\"","[\"/admin/db\"","[\"/api\"","[\"/api/user/:id\"","[\"/ping\"","[\"/user/:id\"","[\"/users\"","[\"/users/:id\"","[:user/p","[[\"/admin/ping\"","[[\"/api/ping\"","[[\"/users\"","[admin","[thi","[this])","admin","argument","automat","base","behind","coerc","compil","compos","conflict","creat","created,","data","data,","defin","detail","done:","easi","expand","flatten","follow","forc","function,","implement","instanc","instance,","it'","map.","merg","more","multipl","name","name]","names:","need","nil]","nil]]","option","option)","optionally,","options)","options:","params]))","path","path])","plain","protocol.","protocol:","r])","raw","reitit.core/rout","resolv","rout","router","router)","router:","routers.","routes])","routing,","routing.","satisfi","scene","select","singl","step","take","tree","tree:","user","valid","via","{:lookup","{:name"],"basics/path_based_routing.html":["\"/api/user/1\"","\"/api/user/1\")","\"/api/user/:id\"","\"/hello\")","\"1\"}}","#match{:templ","'[reitit.cor","(def","(onli","(r/match","(r/router","(requir","::ping]","::user]]))",":a",":data",":path",":result",":user/user}",";","[\"/api\"","[\"/ping\"","[\"/user/:id\"","argument","base","done","exact","following:","function.","given","information:","match","match,","matched,","miss","nil","nil,","nil:","on","param","paramet","partialmatch,","path","provid","r])","reitit.core/match","return","revers","rout","router","router:","routing)","take","us","{:id","{:name"],"basics/name_based_routing.html":["\"/api/ping\"","\"/api/ping\"}","\"/api/user/1\"","\"/api/user/1?iso=m%c3%b6ly\"","\"/api/user/:id\"","\"/api/user/:id\",","\"1\"})","\"1\"}}","\"möly\"}))","#match{:templ","#partialmatch{:templ","#{:id}","#{:id}}","'[reitit.cor","(","(current","(def","(r/match","(r/partial","(r/rout","(r/router","(requir","(reverse)","/api/user/:id:","1})","::kikka)","::ping)","::ping]","::user","::user)","::user))","::user]]))",":a",":data",":name",":path",":requir",":result",":user/ping}",":user/user]",":user/user}",":user/user},",";",">",">path",">path))",">path:","[\"/api\"","[\"/ping\"","[\"/user/:id\"","[:user/p","automat","base","booleans,","coerc","data","defin","except","exceptioninfo","given","help","internal)","keyword","list","map","match","match?","miss","name","name!","name.","names:","nil","nil,","nil:","numbers,","objects:","option","param","paramet","parameters:","partialmatch","path","path,","protocol","provid","queri","r])","reitit.core/match","reitit.impl/intostring.","return","returned:","rout","route:","router","router)","router:","set,","strings,","support","take","throw","too:","true","turn","version:","{:id","{:iso","{:name","{}"],"basics/route_data.html":["\"\".","\"/ping\"","\"/ping\")","\"/ping\"}","\"index.html\")])","#(slurp","#match{:templ","#{:admin}","#{:admin}}","#{:db","'[reitit.cor","(def","(expand","(extend","(java.io.file.","(r/expand","(r/match","(r/rout","(r/router","(requir","(via","::api","::api],","::db]","::ping)","::ping]","::ping}]","::pong]]","::pong]]))","::pong}]]","::swagger]","::swagger}]","::users]","::users}",":a",":append,",":data",":data:",":displac",":expand",":handler",":name",":no",":path",":prepend,",":replac",":result",":role",":user/ping}",":user/ping}]",";","[\"/\"","[\"/admin\"","[\"/api","[\"/api\"","[\"/api/admin/db\"","[\"/api/admin/users\"","[\"/api/ping\"","[\"/api/pong\"","[\"/db\"","[\"/ping\"","[\"/pong\"","[\"/swagger.json\"","[\"/users\"","[::api","[::api]","[::api]}","[::db]","[::session","[::session]}}))","[[\"\"","[[\"/api/ping\"","[[\"/ping\"","[[\"/swagger.json\"","[file","^:replac","accumul","ad","add","admin}}]]","admin}}]]]))","allow","application,","argument","argument:","attach","back","behavior","besid","case","client","collect","compon","creat","creation","custom","data","data,","data.","data:","default","default,","direct","doc","docs\"","docs]","docs]]","docs}]","documentation:","empti","exampl","exclud","expand","expans","extend","featur","file)","first","fragment","function","function,","gener","given","identity]","identity]}","identity}]","identity}}]]","identity}}]]))","implement","implementation.","interceptors.","interpret","introduc","java.io.fil","key","keys.","keyword","leaf","level","map","match","match.","merge.","meta","middlewar","naiv","name","nest","nil","nil]","non","option","option)","options)))","options]","overridden","page","param","path","path.","protocol.","r/expand","r])","raw","react.js,","recurs","recursive.","reitit.","resolv","retriev","return","root","rout","router","router)","routes:","see","sequenti","share","support","swagger","swap","target","them,","time.","top","toward","tree","tree:","trees,","true,","true}","type","us","valid","validation.","valu","via","without","{:data","{:get","{:handler","{:interceptor","{:middlewar","{:name","{:no","{:role","{}"],"basics/route_data_validation.html":["\"/api\"","\"/api\",","\"identity\"","\"identity\",","\"identity\"},","\"identity\"}]","\"identity\"}])","\"identity\"}}})},","\"kikka\"}]","#:clojure.spec.alpha{:problem","#object[reitit.core$...]","#{:admin","#{:adminz}}]","#{}))","'[clojure.spec.alpha","'[reitit.cor","'[reitit.dev.pretti","'[reitit.spec","'[spec","(#reitit.spec.problem{:path","()","(default","(r/router","(requir","(s/coll","(s/def","(s/key","(s/merg","({:path","...","2","::descript","::role","::rs/default","::rs/wrap",":a",":coerc",":compil",":data",":except",":in",":into",":manager})",":pred",":problem",":reitit.spec/default",":reitit.spec/handl",":reitit.spec/handler],",":reitit.spec/wrap",":req",":role",":scope",":spec",":val",":valid",":valu",":via",";","=>","[\"/api\"","[::description]))","[:handler]","[:handler],","[:handler]}),","[:reitit.spec/default","a:descript","accident","ad","anything,","app","appli","ariti","at:","author","better","case","catch","clojure.core/fn?,","clojure.lang.exceptioninfo:","clojure.spec","close","compiled.","compilerexcept","compiling:","contain","custom","data","data)","data,","data:","defin","descript","easi","effect","error","errors.","errors:","except","exist","expect","fail","fast","fast,","first","fn?","follow","found.","fulli","function","give","go","helper","hinder","hook","ident","implicitli","in:","instead","invalid","it'","key","level","main","messages:","misspel","much","name.","namespac","nicer","nil,","non","note:","on:","opt","option","options:","part","place.","predicate:","pretti","pretty/exception})","pretty])","problem.","qualifi","r])","read","reitit.cor","reitit.spec","requir","rout","router","rs/valid","rs/validate})","rs])","run","s])","same","side","sight","spec","spec:","specs.","specs:","spell/clos","spell])","string?)","successfuli","throw","tools.spel","tools.spell/clos","top","tree","turn","type","un","us","val:","valid","valu","value:","verifi","way.","whole","without","wrap","wrong.","{:descriptionz","{:handler","{:problem","{:summari","{:valid"],"basics/route_conflicts.html":["#object[reitit.core$linear_router$reify]","'[reitit.cor","(def","(fn","(legaci","(println","(r/path","(r/router","(requir","/:user","/:version/statu","/admin/p","/bulk/:bulk","/ping","/public/*path","::admin]","::ping]","::ping]])",":a",":conflict",";",";:reitit.core/p",";compilerexcept","=>",">","[\"/:user","[\"/:version/status\"]])","[\"/admin\"","[\"/admin/ping\"","[\"/bulk/:bulk","[\"/public/*path\"]","[[\"/ping\"","[[\"/ping\"]","[conflicts]","allow","api)","automatically.","both","case","cases,","check","clojure.lang.exceptioninfo:","compilerexcept","conflict","conflict,","conflicts)))})","conflicts:","contain","creat","default,","defaults:","descript","disabl","ex","fail","fast","id","id\"]","id/ord","id/orders\"]","ignor","info","log","message.","name","names.","names:","nil})","on","option.","overrid","path","paths:","r])","reitit.core/router,","resolut","resolution.","rout","router","routes)","str","thrown","via","way","{:conflict"],"coercion/coercion.html":["\"/:company/users/:us","\"/metosin/users/123\")","\"/metosin/users/123\"))","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"/metosin/users/ikitommi\"))","\"123\"},","\"ikitommi\"))}}","\"metosin\",","#coercionerror{:schema","#match{:templ","#object[reitit.coercion$request_coercer$]},","'[reitit.coercion","'[reitit.coercion.schema])","'[reitit.cor","'[schema.cor","(:reitit.coercion/request","(and","(assoc","(coercion/coerce!","(core.clj:4739)","(def","(defn","(done","(if","(integer?","(match","(not","(r/match","(r/router","(requir","(with","123}}","::user",":a",":body,",":coercion",":data",":error",":form,",":header",":paramet",":parameters.",":path",":path.",":query,",":result",":user",":user/us",";","=>",">","[\"/:company/users/:us","[match","[path]","actual","ad","again:","against","another.","any},","appli","applied.","apply.","attach","back.","base","befor","better","blown","both","catch","clojure.core/ex","clojure.spec","coerc","coerce!","coercer","coercers.","coercers}))","coercion","coercion)","coercion,","coercion.","coercion/compil","coercion])","compil","creation","data","data.","default,","defin","defined).","defined,","depend","differ","do","done","done.","done:","effect","enabl","enough","error:","exampl","exceptioninfo","explain","explicit","failed...","failed:","fails,","follow","format","full","function","helper","here'","hold","http","id","id\"","id\",","implement","implementation.","info","int,","interceptor","int}}},","inventoried.","java.lang.string,","key","key.","level,","magical.","make","manual","match","match))))","match:","middleware,","modules:","much","multipl","need","nil,","non","normal","now","on","once,","param","paramet","parameters:","paremet","pars","part.","path","path)]","perform","plumat","process","protocol","r","r])","reitit","reitit,","reitit.coercion.schema/coercion","reitit.coercion.spec/coercion","reitit.coercion/coerce!","reitit.coercion/coercion","reitit.coercion/compil","request","responses)","ring","rout","router","router,","router.","routing.","rule","s/int}}}]","s/int}}}]))","s/str","s])","schema","schema:","scope","see","separ","ship","singl","spec","step","steps.","strings:","success","syntax","thing","this:","thrown,","time),","transform","two","type","under","us","via","view","view,","view]))","view},","why?","wildcard","within","yield","{:compani","{:compil","{:name","{:path","{:user"],"coercion/schema_coercion.html":["\"/:company/users/:us","\"/metosin/users/123\")","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"123\"},","\"metosin\",","#match{:templ","#object[reitit.coercion$request_coercer$]},","'[reitit.coercion","'[reitit.coercion.schema])","'[reitit.cor","'[schema.cor","(assoc","(coercion/coerce!","(def","(defn","(if","(match","(r/match","(r/router","(requir","123}}","::user",":a",":coercion",":data",":paramet",":path",":result",":user",":user/us",";","=>",">","[\"/:company/users/:us","[match","[path]","clojure(script)","coerce!","coercers}))","coercion","coercion/compil","coercion:","coercion])","data","declar","descript","exceptioninfo","fail","failed...","id","id\"","id\",","int}}},","java.lang.string,","librari","match","match))))","param","path","path)]","plumat","r])","reitit.coercion.schema/coercion","request","router","s/int}}}]","s/str","s])","schema","success","validation.","view","view,","{:compani","{:compil","{:name","{:path"],"coercion/clojure_spec_coercion.html":["\"/:company/users/:us","\"/metosin/users/123\")","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"123\"","\"123\"},","\"123\"}]","\"123\"}]}","\"mation\"}]","\"metosin\",","\"much\"","\"too\"}]}","#match{:templ","#object[reitit.coercion$request_coercer$]},","'[clojure.spec.alpha","'[reitit.coercion","'[reitit.coercion.spec","'[reitit.coercion.spec])","'[reitit.cor","'[spec","'em","(assoc","(coercion/coerce!","(core","(def","(defn","(if","(like","(match","(r/match","(r/router","(requir","(s/coll","(s/def","(s/key","(st/coerc","123}]}","123}}","2116","2251",":123}]","::compani","::mi","::path","::photo","::photos]))","::sku","::user",":a",":coercion",":data",":here",":infor",":into",":paramet",":path",":photo",":photo/id",":req",":result",":sku",":sku/id",":user",":user/us",";",";;","=>",">",">edn","[\"/:company/users/:us","[::compani","[::sku","[:photo/id]))","[:sku/id]))","[]))","[match","[path]","[{:id","add","allow","alpha","api","appli","automatic.","base","both","chang","clj","clojure.spec","clojure.spec,","clojure.spec.alpha/conform,","coerce!","coerced.","coercers}))","coercion","coercion.","coercion/compil","coercion:","coercion])","concid","custom","data","data,","data:","deepli","default,","defin","destructur","doesn't","easili","elegantly.","exampl","exceptioninfo","extra","fail","failed...","gener","go","help","id","id\"","id\",","id]))","infer","int?)","internal,","it'","it,","itself","json","key","keyword?)","later.","lean","librari","match","match))))","need","nest","of,","on","out","param","params}},","params}}]","path","path)]","predicates,","r])","rcs/json","rcs])","records.","regex","reitit","reitit.coercion.spec/coercion","remov","repl.","request","router","s/and,","s/coll","s/every),","s/key","s/keys,","s/map","s/nillabl","s/or,","s])","simpl","solv","spec","spec.","spec])","specifi","specs),","specs,","specs:","st/json","st/string","st])","string","string?)","strip","structur","success","support","test","tool","tools.cor","tools.core/spec,","tools.spec","transform","transformer)","un","up.","us","usag","valid","view","view,","vote","walk","walker","warn","wrap","{:compani","{:compil","{:name","{:path","{:sku","{:too"],"coercion/data_spec_coercion.html":["\"/:company/users/:us","\"/metosin/users/123\")","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"123\"},","\"metosin\",","#match{:templ","#object[reitit.coercion$request_coercer$]},","'[reitit.coercion","'[reitit.coercion.spec])","'[reitit.cor","(assoc","(coercion/coerce!","(def","(defn","(if","(match","(r/match","(r/router","(requir","123}}","::user",":a",":coercion",":data",":paramet",":path",":result",":user",":user/us",";","=>",">","[\"/:company/users/:us","[match","[path]","alternative,","bonus,","box.","clojure.specs.","coerce!","coercers}))","coercion","coercion/compil","coercion:","coercion])","conform","data","defin","exceptioninfo","fail","failed...","free","id","id\"","id\",","int?}}},","int?}}}]","macro","match","match))))","out","param","path","path)]","r])","reitit.coercion.spec/coercion","request","router","runtim","spec","string?","string?,","success","support","syntax","transform","via","view","view,","{:compani","{:compil","{:name","{:path"],"ring/ring.html":["\"\"}","\"/all\"})","\"/api/admin/db\"})","\"/api/get\"})","\"/api/ping\"})","\"/favicon.ico\"})","\"/ping\"","\"/ping\")","\"/ping\"}","\"/ping\"})","\"0.3.1\"]","\"ok\"}","\"ok\"})","#endpoint{...}","#endpoint{...}}","#endpoint{:data","#methods{:get","#object[...]","#object[...]}","#object[...]}}","%","&","'[reitit.cor","'[reitit.r","(","(:get,","(all","(app","(conj","(def","(default","(default:","(defn","(fn","(fnil","(handler","(r/compil","(r/match","(requir","(ring/get","(ring/r","(ring/rout","(see","(updat","200,","::acc","::ping","::ping)",":a",":admin",":admin]]}",":api",":api)]}",":api]]}",":bodi",":data",":db",":db]]",":delet",":delete,",":delete]]",":get",":get,",":handler",":handler)})",":handler]}",":head,",":inject",":middlewar",":ok]}",":option",":options,",":patch,",":path",":post",":post,",":put",":put,",":reitit.core/match",":reitit.core/rout",":reitit.middleware/registri",":reitit.middleware/transform",":reitit.ring/default",":request",":result",":top]]}))",":trace).",":uri",";",";#match{:templ",";;",";[[\"/ping\"","=>",">",">path))","[\"/admin\"","[\"/api\"","[\"/db\"","[\"/get\"","[\"/ping\"","[#(wrap","[::acc]}]","[:api","[:top","[[\"/all\"","[[mw","[[wrap","[])","[]}","[]}}]]","[_]","[handler","[metosin/reitit","[middleware]","[request]","[{:key","abstract","acc","accept","access","add","allow","api,","app","app:","appli","applic","applications,","args*]","argument","asynchron","available:","base","befor","boolean","both","catch","chang","clojur","compil","compon","concepts.","conj","construct","contain","correctly:","cors.","data","default","default,","descript","detail","done:","driven","enabl","endpoint","exampl","expand","follow","found.","frameworks.","function","gener","given","handler","handler\"","handler)","handler:","handler]","handler}]))","handler}]])","handler}]])))","handler}}]]])))","handling.","higher","http","id))))","id]","identity).","include:","inject","inspir","intomiddlewar","it'","key","keyword","level","librari","lookup","map","match","match?","method","method:","methods)","methods:","middlewar","middleware,","middleware.","middleware:","modular","more","mount","name","name,","nest","nil","normal","option","options,","options:","order","param","path","place","python'","r])","rack.","read","record","refer","registri","reitit.middleware/intomiddlewar","reitit.ring/r","replac","request","respons","return","revers","ring","ring])","rout","router","router)","router))","router,","router:","router?","routes))","routing,","routing:","ruby'","sequenc","servers,","share","simpl","simple,","specif","submap.","support","synchron","thing","this):","top","transform","true)","under","unifi","us","valid","valu","values.","varieti","vector","via","web","wrap","wsgi","{:get","{:handler","{:middlewar","{:name","{:request","{:statu","{}"],"ring/reverse_routing.html":["\"/users\"})","\"/users/0?iso=m%c3%b6ly\"}","\"/users/1?iso=m%c3%b6ly\"}","\"/users/2?iso=m%c3%b6ly\"}","\"/users/3?iso=m%c3%b6ly\"}","\"/users/4?iso=m%c3%b6ly\"}","\"/users/5?iso=m%c3%b6ly\"}","\"/users/6?iso=m%c3%b6ly\"}","\"/users/7?iso=m%c3%b6ly\"}","\"/users/8?iso=m%c3%b6ly\"}","\"/users/9?iso=m%c3%b6ly\"})}","\"möly\"}))})})}]","\"user...\"})}]])))","'[reitit.cor","'[reitit.r","(","(a","(app","(constantli","(def","(fn","(for","(r/match","(rang","(requir","(ring/r","(ring/rout","({:uri","10)]","200","200,","::r/match)","::r/router","::user",":a",":bodi",":get",":get,",":uri",";",";;",">",">path",">path,","[\"/users/:id\"","[::r/router]}]","[[\"/users\"","[i","[{:key","app","avail","below","both","convert","endpoints.","exampl","extra","handler","handler:","inject","i})","map","match","method","middlewar","name","on","option","param","paramet","path,","queri","r/match","r])","reitit.ring/r","request","revers","ring","ring])","rout","router","take","that,","too.","us","{:get","{:id","{:iso","{:name","{:request","{:statu","{:uri"],"ring/default_handler.html":["\"\"}","\"\"})","\"\"})))","\"/\"})","\"/invalid\"})","\"/ping\"})","\"/pong\"})","\"kosh\"}","\"kosh\"})","\"kosh\"})})))","'[reitit.r","(app","(constantli","(def","(defn","(handler","(no","(requir","(ring/creat","(ring/r","(ring/rout","200,","404,","405,","406,",":a",":bodi",":get,",":method",":not",":post,",":uri",";","[\"/ping\"","[\"/pong\"","[[\"/ping\"","[_]","accept","allow","app","argument","correct","custom","default","default,","defaults:","differenti","error","found","handler","handler)))","handler:","handler])","handler])))","handler}]","http","match,","matched)","matched),","method","more","nil","nil).","nil)]])","respons","responses,","responses:","return","returned,","ring","ring/creat","ring:","ring])","rout","second","set","used.","valid","{:get","{:not","{:request","{:statu","{:uri"],"ring/slash_handler.html":["\"\",","\"\"}","\"\"})]","\"\"})])))","\"\"})]])","\"/ping\"},","\"/ping/\"})","\"/pong\"})","\"/pong/\"},","'[reitit.r","(app","(constantli","(def","(requir","(ring/creat","(ring/r","(ring/redirect","(ring/rout","(whether)","200,","308,","404,",":a",":add})",":add})))",":bodi",":header",":method",":strip})))",";","[\"/ping\"","[\"/pong/\"","[[\"/ping\"","accept","allow","app","argument","both.","compos","configur","correct","default","defin","desir","error","example,","extra","handl","handler","handler)))","handler))))","handler:","http","match","matches.","miss","missing/extra","more","nil","option","paramet","path","precis","recogn","redirect","request","responses:","ring","ring/rout","ring])","rout","router","same.","second","set","slash","slash,","slash.","slashes.","sometim","trail","us","without","won't","work","{\"location\"","{:method","{:statu","{:uri","{}}"],"ring/static.html":["\"/\"})","\"/*\",","\"/assets/*\".","\"pong\"})]","\"pong\"})])","'[reitit.r","(404","(clojur","(constantli","(requir","(ring/creat","(ring/r","(ring/rout","200,",":",":a",":bodi",":cache,",":etag,",":gzip",":index",":last",":loader",":not",":paramet",":path",":root","[\"/*\"","[\"/assets/*\"","[\"/ping\"","[[\"/ping\"","[\\\"index.html\\\"]","\\\"public\\\"","actual","be","better","class","classpath.","clojurescript","compos","configur","conflict","default","descript","directory,","disabl","e.g.","extern","file","files.","found","found)","function","good","handler","handler))","handler)))","handler)]]","handler)]])","handler.","index","intern","key","keyword","loader","locat","look","map","matched.","miss","modified?,","mount","multipl","name","need","nil)})","non","none","on","only)","option","outsid","parameter,","path","paths,","reitit.ring/cr","request","resolution:","resolv","resourc","return","ring","ring])","root,","rout","router.","routes,","serv","served.","static","support","system","take","thing","to.","todo","two","unnam","us","vector","way","way,","wildcard","work","{:conflict","{:path","{:statu"],"ring/dynamic_extensions.html":["\"/api/admin/ping\",","\"/api/admin/ping\"})","\"/api/ping\"})","\"forbidden\"}","\"ok\"}","\"ok\"}))","#{:admin}}","#{:admin}})","'[clojure.set","'[reitit.r","(affect","(and","(app","(constantli","(def","(defn","(fn","(handler","(if","(let","(not","(requir","(ring/get","(ring/r","(ring/rout","(seq","(set/subset?","(some","200,","403,","::role","::roles)]",":a",":bodi",":data",":get,",":uri",";",">","[\"/admin\"","[\"/ping\"","[::roles]","[[\"/api\"","[handler]","[requir","[wrap","[{:key","access","ad","anonym","app","author","base","better.","build","compil","data","driven","dynam","enforc","exampl","extens","extract","guard","handler","handler]","handler]]]]","hoc","inject","match","match)","match.","method","middlewar","mount","much","nice,","public","reitit.ring/get","request","request)))))","request}]","requir","required)","ring","ring])","role","roles)))","roles:","roles]}})))","rout","route:","router","routes):","routes.","runtim","see","set])","system.","us","user","via","wrap","{::role","{:data","{:middlewar","{:request","{:statu"],"ring/data_driven_middleware.html":["\"/api/ping\"})","\"middlewar","#{:session}","#{:user}","&","'[reitit.middlewar","'[reitit.r","(app","(conj","(def","(defn","(fn","(fnil","(handler","(middleware/cr","(of","(optional)","(requir","(ring/r","(ring/rout","(updat","1]","2","200,","2]]}","3","3]]","::acc","::wrap2","::wrap3",":a",":bodi",":compil",":descript",":get,",":handler",":handler)})",":handler]}",":middlewar",":name",":provides.",":requir",":spec",":uri",":wrap",";","=>","[\"/api\"","[\"/ping\"","[1","[::acc]}]","[[wrap","[[wrap3","[])","[handler","[request]","[wrap2","[{:key","acc","access","actual","against","againt","allowed.","api","app","appli","arbitrari","arg","authorizationmiddlewar","avail","chain","chain,","class","clojure.spec","compil","compilation.","compos","composit","conj","correctly:","creat","data","data,","data:","debug","default,","defin","definit","depend","descript","details.","doc","downsid","driven","duct","e.g.","easi","enabl","endpoint","entri","etc.","expand","first","follow","form","function","function,","function.","functions,","futur","good","handler","handler}}]])))","hard.","id))))","id]","idea","ident","injectuserintorequestmiddlewar","inventories,","issu","it'","key","keys,","keyword","level","make","map","merg","method","middlewar","middleware)","middleware.","middleware])","mount","name","new","normal","opaqu","optim","order.","penalty.","performance.","processing,","produc","protocol.","provid","purpose:","qualifi","raw","record","reitit","reitit.middleware/intomiddlewar","reitit.middleware/middlewar","rel","request","request.","requir","resolut","respons","response.","results,","ring","ring])","rout","router","router.","runtim","see","set","special","style","support","thing","things.\"","thu","top","transform","type","understand","unwrap","us","valid","valu","vector","welcom","wrap","wrap2","wrap3","wrap})","wrap}))","wrong","yield","zero","{:get","{:middlewar","{:name","{:request","{:statu"],"ring/transforming_middleware_chain.html":["\"/api/ping\"})","\"0.3.1\"]","#(interleav","%","'[reitit.middlewar","'[reitit.r","(actually,","(app","(conj","(def","(defn","(fn","(fnil","(handler","(repeat","(requir","(ring/r","(ring/rout","(updat","1","1]","2","200,","2]]}","3","3]]","::acc",":a",":bodi",":debug",":debug]))})))",":get,",":handler",":handler)})",":handler]}",":reitit.middleware/transform",":uri",";","[\"/api\"","[\"/ping\"","[1","[3","[::acc]}]","[[wrap","[])","[handler","[metosin/reitit","[request]","[wrap","[{:key","acc","add","app","applic","between","chain","compil","conj","console.","diff","each","endpoint.","exampl","extra","follow","function","handler","handler}}]]","handler}}]])))","id))))","id]","interleav","it,","method","middlewar","middleware.","middleware])","new","option","option:","out","output:","per","print","reitit.ring.middleware.dev/print","request","return","revers","reverse})))","ring","ring])","router","router):","sampl","transform","transformation,","underli","us","valu","vector","wrap","{::middleware/transform","{:get","{:middlewar","{:request","{:statu"],"ring/middleware_registry.html":["\"/api/bonus\"})","\"goto","\"look","'[reitit.middlewar","'[reitit.r","(all","(app","(def","(defn","(e.g.","(fn","(fnil","(handler","(requir","(ring/r","(ring/rout","(updat","+","0)","10]}})))","200,","20]]}","30}}",":a",":bodi",":bonu",":bonus10",":descript",":get",":get,",":id",":middlewar",":reitit.middleware/registri",":uri",";",";avail",";compilerexcept",";|","=>","[\"/api\"","[\"/bonus\"","[:bonu","[:bonus10]","[[:bonu","[bonus]}]","[handler","[request]","[{:key","app","applic","bad","bonu","bonus}})))","bonus}})}]]","clojure.lang.exceptioninfo:","common","complex","configur","contain","creation","data","databases.","default","defin","definition\"","descript","doesn't","duct","easi","edn","enabl","error","evalu","exampl","expected:","extern","extra","fail","fast","file","files.","format","found","good","handler","handlers)","help","id","indirection,","intomiddleware.","isn't","it'","itself)","keep","key","keyword","keywords.","liter","look","make","map","message.","method","middlewar","middleware:","middleware])","more","options.","persist","prefil","referenc","registri","registry,","registry.","registry:","registry?","reitit","reitit.ring_test$wrap_bonus@59fddabb","remov","request","ring","ring.","ring])","rout","router","source\".","store","support","syntax","thing","todo","under","us","value))))","value]","work","wrap","{::middleware/registri","{:bonu","{:middlewar","{:request","{:statu","|"],"ring/default_middleware.html":["\"/fail\"","\"/fail\"})","\"/fail\"}}","\"0.3.1\"]","\"default\"","\"default\")","\"error\"","\"error\")","\"exception\"","\"exception\")","\"fail\"","\"fail\")))]","\"forc","\"java.lang.exception\"}}","\"kukka\"})}}]]","\"negoti","\"sql","\"text/xml\"}","\"total\":","#'app","&","'[reitit.coercion.spec","'[reitit.r","'[reitit.ring.coercion","'[reitit.ring.middleware.except","'[reitit.ring.middleware.multipart","'[reitit.ring.middleware.muuntaja","'[ring.adapter.jetti","(+","(.getclass","(:uri","(app","(def","(default","(defn","(deriv","(ex","(exception.","(exception/cr","(fn","(handler","(http","(jetty/run","(json,","(merg","(no","(partial","(pr","(println","(requir","(ring/r","(ring/rout","(throw","1)","11","16:59:54","16:59:58","2)","20","200","2018","22","3","3)","3000,","4)","400","5)","500","500,","8",":3000/math",":3000/xml","::default","::error","::except","::exception)","::exception/default","::exception/wrap","::failue})))]","::failur","::horror",":a",":bodi",":body}",":class",":coercion",":consum",":data",":except",":get,",":handler",":header",":join?",":middlewar",":multipart]",":muuntaja",":muuntaja/decod",":muuntaja/request",":muuntaja/respons",":paramet",":parameters}]",":produc",":reitit.coercion/request",":reitit.coercion/respons",":reitit.middleware/transform",":reitit.ring/respons",":reitit.ring/response,",":respons",":type",":uri",":user/failue}",":y",";",";;",";{:statu","=>",">","[\"/fail\"","[\"/xml\"","[:paramet","[[\"/math\"","[_]","[except","[exception/except","[handler","[messag","[metosin/reitit","[muuntaja/format","[x","[{{{:key","accept","accept,","action:","actual","add","alreadi","ancestor","api","app","application/json;","application/x","ariti","aug","automat","automatically.","avail","base","better","between","bodi","captur","cases,","catch","catches:","chain","charset","charset=utf","child","class","class.","clojure.lang.exceptioninfo","coercion","common","compojur","configur","configuration.","contain","content","creat","custom","data","data.","data:","date:","decod","default","default).","default:","defin","definit","descript","diff","doesn't","driven","e","each","easier","edn,","emit","emit'","encod","encoding.","error","ex","exampl","except","exception\")","exception)","exception/cr","exception/default","exception/except","exception])","exist.","expect","explicit","factor","false})","follow","form","format","format.","function.","gener","gmt","handl","handler","handler).","handler.","handlers.","handling.","header","headers.","hierarchi","http","http/1.1","httpie:","https://github.com/metosin/reitit/blob/master/examples/r","idenfi","idenfitifi","identifi","identifier.","info","inspect","instance,","int?,","int?}}","int?}}}","invok","it'","it,","java.sql.sqlexcept","jetti","jetty(9.2.21.v20170120)","jetty])","key","keyword","kukka","length:","lift","lookup","m/instanc","manag","mani","map","match","messag","method","middlewar","middleware,","middleware.","middleware]}})))","mount","multipart","multipart/cr","multipart/multipart","multipart])","muuntaja","muuntaja.core/muuntaja","muuntaja/format","muuntaja])","negoti","negotiation,","note:","noth","ok","option","option:","options.","order:","output:","overrid","param","paramet","params.","partial","parts:","performance.","polish","post","preconfigur","prefer","print","publish","queri","rcs/coercion","rcs])","reitit","reitit.ring.middleware.dev/print","reitit.ring.middleware.parameters/paramet","request","request)))","request))})))","request)}})","request.","request]","respons","response\"","response)","result","return","ring","ring,","ring.middleware.params/wrap","ring])","rout","route.","router","rrc/coerc","rrc])","safe","sampl","see","select","server:","set","set.","singl","sqlexcept","stack","str","super","swagger","swagger/src/example/server.clj.","take","test","text/xml","thrown/rais","trace","transform","transit)\"","two","type","type\"","type:","urlencod","us","valu","version","via","wed,","wrap","wrapper","www","x","x:=1","xml","y)}})}}]","y:=2","y]}","yield","{","{\"content","{200","{:bodi","{:data","{:get","{:messag","{:middlewar","{:muuntaja","{:port","{:post","{:request","{:statu","{:summari","{:total","{:type","{:x","{;;","}"],"ring/coercion.html":["\"","\"(constrain","\"(not","\"/api/ping\"})","\"/api/plus/3\"","\"/plus\"","\"1\",","\"1\"}","\"abba\"}","\"abba\"},","\"any\"","\"any\"},","\"fail\"}","\"fail\"}})","\"int\",","\"pong\"}","\"pong\"})}]","\"y\"","&","'[expound.alpha","'[reitit.coercion.schema])","'[reitit.cor","'[reitit.r","'[reitit.ring.coercion","'[reitit.ring.middleware.except","'[schema.cor","'positiveint))","(","(+","(app","(coercion","(def","(defn","(exception/cr","(expound/custom","(fn","(handler","(integer?","(let","(mapv","(merg","(positiveint","(printer","(r/match","(requir","(ring/get","(ring/r","(ring/rout","(s/constrain","...","...,","10}})","1}","2\"}})","200","200,","2}})","400)","400,","500)}))","500,","6))\"},","6},","6}}","::mw/coerc","::ping","::ping)","::plu","::plus)",":a",":bodi",":body.",":body]}}",":coercion",":error",":figwheel",":form",":get",":get,",":handler",":header",":in",":middlewar",":name)))",":paramet",":parameters}]",":path",":post",":print",":problems))",":queri",":query,",":query}",":reitit.coercion/request",":reitit.coercion/respons",":request",":respons",":result",":schema,",":type",":uri",":valu",":x)",":y",":y)",":z))]",";","=>",">",">>","[\"/api\"","[\"/ping\"","[\"/plus\"","[\"/plus/:z\"","[(exception/cr","[::mw/coerc","[:request","[:respons","[]","[_]","[except","[parameters]}]","[printer","[rrc/coerc","[status]","[total","[x","[{:key","[{{{:key","\\\"abba\\\"))\"},","^^","^^^^^^","access","actual","againt","also,","and/or","anything,","app","app)","appli","apply.","attach","basic","below","bodi","both","chain","clojure.spec","code","coerc","coerced.","coercer","coercion","coercion,","coercion.","coercion/coerc","coercion])","compil","construct","contain","current","data","data.","defin","defined,","defined.","defined:","detail","doesn't","done:","enabl","endpoint","error","errors,","ex","exampl","except","exception/default","exception])","explain","expos","expound","expound])","fail","false})","follow","full","guide.","handler","handler/middlewar","here'","http","implement","int","int?","int?,","int?}}","int?}}}","invalid","inventoried.","it'","itself","key","key.","map","method","middlewar","middleware:","middleware]}})))","models.","modules:","mount","multipl","name","need","normal","optim","param","paramet","params]}}","plu","plumat","po","pos?","positiveint","positiveint)\"},","positiveint}}}","pretti","print","printer","problem","protocol","queri","r])","read","reitit","reitit,","reitit.coercion.schema/coercion","reitit.coercion.spec/coercion","reitit.coercion/coercion","reitit.ring.coercion:","request","request))))","request.","request:","request]","respons","response:","response]","ring","ring,","ring])","rout","route.","router","router,","routes:","rrc/coerc","rrc])","rule","s/int","s/int}","s/int}}","s])","satisfi","schema","schema.","schema:","scope","ship","singl","sourc","spec","specs?","statu","status)]","step","supported:","theme,","thing","total}}))})","total}}))}}]]","transform","type","under","us","used:","valid","valu","value.","within","without","x","y)}})}}]","y]}","{\"x\"","{200","{:bodi","{:coercion","{:data","{:get","{:i","{:middlewar","{:name","{:paramet","{:queri","{:reitit.coercion/request","{:request","{:schema","{:statu","{:theme","{:total","{:uri","{:x","{:z"],"ring/route_data_validation.html":["\"/api/internal/users\"})","\"forbidden\"}","\"ok\"}","\"ok\"})","#{:admin","#{:admin}}}]]","#{:admin}}}]]]","#{:manager}","#{:manager}}","#{:public","#{}))","'[clojure.set","'[clojure.spec.alpha","'[expound.alpha","'[reitit.r","'[reitit.ring.spec","'[reitit.spec","(","(:get,","(and","(app","(def","(defn","(fn","(handler","(if","(let","(not","(println","(requir","(ring/get","(ring/r","(ring/rout","(s/coll","(s/def","(s/key","(seq","(set/subset?","(some","200,","403,","::role","::roles)]","::rs/explain","::zone",":a",":bodi",":data",":delet",":get",":intern",":internal}",":internal})",":into",":manager})",":middlewar",":post",":public",":public}",":req",":spec",":uri",":valid",":wrap",":zone",":zone)]",";",";;",">","[\"/api\"","[\"/api/internal/users\"","[\"/internal\"","[\"/ping\"","[\"/public\"","[\"/users\"","[::roles]","[::zone])","[[\"/api/public/ping\"","[_]","[handler]","[request]","[requir","[zone","[{:key","abil","about.","ad","alway","app","around","behavior","cleanli","clojure.spec","common","contribut","core","creation:","data","data:","defin","design,","differences:","dynam","e/expound","e])","effect","endpoint","endpoints.","enforc","etc.)","even","exampl","explicit","extens","fail","fast","feature,","few","fix","flatten","fulli","good:","handler","handler}","handler}]","handler}]]","handler}}]]]","harder","have","here","ignor","implicit","instead","invalid:","key","key.","keyset.","let'","match)","merg","method","mid","middlewar","middleware]}","miss","on:","option","path","power","powerful.","present","present:","problem:","push","qualifi","reason","reitit.ring.spec/valid","reitit.spec/valid","request","request)))))","request))))})","request}]","requir","required)","reus","reuse)","ring","ring])","role","roles)))","roles]","roles]}","roles]}]","roles]}]]","rout","router","router,","routes:","rrs/valid","rrs])","rs])","s/key","s])","separ","set])","silent","simpl","spec","specs.","str})))","support","turn","un","us","valid","validation,","via","work","wrap","zone","zone)","{:data","{:get","{:handler","{:middlewar","{:name","{:request","{:statu","{:valid","{:zone"],"ring/compiling_middleware.html":["\"middlewar","#(respond","%))","%))))","'[reitit.spec","(","(:request","([request","([request]","(and","(coerc","(coercion/coerc","(coercion/respons","(compiled)","(def","(defn","(fn","(handler","(if","(let","(records,","(requir","(respons","(ring/get","50%","::coerc","::rs/respons",":a",":coercion",":coercion)",":compil",":compile.",":data",":opts)]",":respons",":responses)",":result",":spec",":wrap.","=>",">","?intomiddleware.","[coercer","[coercion","[handler]","[method","[respons","[{:key","`reitit.coercion/coercion`","access","actual","approaches,","below","better.","but,","closur","code,","coerc","coercer","coercion","coercion.","compil","creation","data","data,","decid","defin","demonstr","done","dynam","easi","easier","enabl","enforc","etc.)","everyth","exact","expect","extend","extens","extract","fast","faster","faster.","function","handler","inform","instead","it'","it?","itself","key","know","less","link","local","lookup","match","method","middlewar","middleware/interceptor","mount","mount.\"","much","nil.","normal","nothing.\"","opt","optim","opts)]","opts]","otherwis","pass","pluggabl","processing.","provid","raise))))))","raise)))))))})","raise]","read","reason","reasoning:","record","relev","request","request)","request)))","request.","requir","respond","respons","response))","response)))","responses)","responses]}","return","ring","role","rout","router","rs])","runtim","shape","spec","system.","time","time.","to,","transform","two","type","us","validation.","via","want,","way","wrap","written","yield","{:name"],"ring/swagger.html":["\"/\"","\"/\"}","\"/\"})","\"/api","\"/api/pong\"","\"/one","\"/one/ping\"","\"/one/swagger.json\"}","\"/swagger.json\"","\"/swagger.json\"})","\"/two/deep/ping\")","\"/two/ping\"","\"/two/ping\")","\"/two/swagger.json\"}","\"0.3.1\"]","\"2.0\"","\"download","\"image/png\"}","\"mi","\"ping\"})}]","\"ping\"})}])","\"plu","\"pong\"})}]]","\"reitit.png\"))})}}]]","\"server","\"swagger","\"upload","#'app","#{::one","#{:reitit.swagger/default}","&","'[reitit.r","'[reitit.swagg","(","(\"/common/ping\"","(+","(:requir","(:tags,","(app","(constantli","(def","(defn","(fn","(io/input","(io/resourc","(jetty/run","(keyword","(n","(println","(requir","(ring/creat","(ring/r","(ring/rout","(swagger","(swagger/cr","(without","...","/api","/examples/r","/swagger.json","0..n","2","200","200,","3","3000\"))","3000,","4",":","::one","::one}}","::two","::two}}","::two}}}",":a",":basepath",":basepath)",":bodi",":body}",":config",":descript",":get",":get,",":handler",":header",":id",":id].",":join?",":middlewar",":multipart}",":muuntaja",":no",":paramet",":parameters}]",":path",":post",":produces,",":query}",":respons",":root",":summari",":summary,",":swagger",":tag",":uri",":url",":x",":y",";",";;",";{:statu",">","[\"\"","[\"/api","[\"/deep\"","[\"/download\"","[\"/files\"","[\"/math\"","[\"/one","[\"/one\"","[\"/ping\"","[\"/plus\"","[\"/pong\"","[\"/swagger.json\"","[\"/two\"","[\"/upload\"","[\"files\"]}}","[\"image/png\"]}","[\"math\"]}}","[:swagger","[;;","[[\"/api\"","[[\"/common\"","[[\"/swagger.json\"","[]","[_]","[clojure.java.io","[file]}","[metosin/reitit","[muuntaja.cor","[reitit.coercion.spec]","[reitit.r","[reitit.ring.coercion","[reitit.ring.middleware.except","[reitit.ring.middleware.multipart","[reitit.ring.middleware.muuntaja","[reitit.ring.middleware.paramet","[reitit.swagg","[ring.adapter.jetti","[ring.middleware.param","[x","[{{{:key","accept","act","actual","ad","annot","anoth","api","api\"}","apis.","app","application.","apply.","argument","bodi","boolean","both","classpath.","clojur","clojure.","clojure.spec","clojurescript","coerc","coercion","coercion/coerc","coercion]","collect","complet","configur","content","contribut","correctli","creat","currently,","custom","data","data,","data.","decod","default","defin","definitions,","descript","doc","docs\"","docs\"})))","docs/*\"","docs/index.html\"})","docs:","document","documentation,","each","easili","easy,","enabl","encod","endpoint","endpoint,","endpoint.","etc.","exampl","example.serv","except","exception/except","exception]","exceptions,","exclud","extract","false})","feature,","file","file\"","file}})}}]","follow","form","format","formatter.","gener","hander","handl","handler","handler))))","handler)}]","handler)}]]])))","handler)}}]","handler)}}])","handler)}}]])","handler.","handler:","host","http://localhost:3000","http://spec.commonmark.org/","id","identifi","index","input","int?,","int?}}","int?}}}","integr","interact","interceptor","interceptor.","interest","interfac","io]))","is.","it'","jetti","jetty]","key","keys)","keys.","keyword","keywords)","keywords.","long","m/instanc","m]","macchiato","make","map","method","middlewar","middleware]}})","miss","modul","module.","more","mount","multipart","multipart/multipart","multipart/temp","multipart]","multipl","muuntaja/format","muuntaja]","name","need","negat","negoti","negotiation,","new","next","normal","note","note:","now","on.","option","options:","outsid","page,","param","paramet","parameter,","parameters\"","parameters/paramet","parameters]","params]","part","particip","part}}","part}}}","pass","path","ping","port","post","pr!","pre","prefix","process","project","queri","real","reitit","reitit.coercion.spec/coercion","reitit.swagg","reitit.swagger.swagg","reitit.swagger/cr","render","request","resourc","responess,","respons","return","ring","ring]","ring])","root,","rout","route,","route]","route]]","route]])))","router.","router:","rule","run","same","schema","scope","see","separ","sequenc","serv","set","short","simpl","slash","slash)","spec","spec,","spec:","specif","specification,","specification.","specification:","start","store","stream","string","summari","support","swagger","swagger.","swagger2","swagger]","swagger])","swaggger","tag","take","thank","thing","time","to.","todo","too.","tool","tools.","trail","true","true}","turn","two","two\"","two/swagger.json\"}","type\"","ui","ui\"","ui,","ui.","ui/creat","ui:","ui]","ui])","under","unnam","us","use,","user","valid","valu","version","via","visual","way","webjar","welcom","whole","wildcard","with:","within","work","world","wrap","x","y)}})}","y)}})}}]]]","y]}","{\"/api/ping\"","{\"content","{200","{:bodi","{:coercion","{:data","{:file","{:get","{:id","{:info","{:multipart","{:no","{:path","{:port","{:post","{:produc","{:queri","{:request","{:statu","{:summari","{:swagger","{:tag","{:titl","{:total","{:x","{}}","{}}}}}"],"ring/RESTful_form_methods.html":["\"_method\"","\"_method\"])","\"_method\"]))))","\"delete\"","\"get\"","\"patch\"","\"post\"","(:request","(=","(and","(assoc","(def","(defn","(fn","(get","(handler","(hidden","(if","(keyword","(note:","(or","(pioneer","(reitit.ring/cr","(reitit.ring/r","(reitit.ring/rout","...)","::wrap",":form",":multipart",":post",":request",":wrap",";;","[:form","[:multipart","[fm","[handler]","[reitit.ring.middleware.parameters/paramet","[request]","appli","applic","befor","browser","come","data","default","design","do","don't","field","field.","fm))","form","forms.","given","handler","handler)","here","hidden","insid","look","lot","map","match","method","method.)","method]})","middlewar","need","out","param","pattern","place","rails)","reitit","reitit.ring.middleware.multipart/multipart","reitit.ring/handler.","replac","request","request))","request))))})","request))]","request,","rest","rout","solv","spesif","submit","support","swap","this:","us","whatev","wrap","wrapper","wrong","{:middlewar","{:name"],"http/interceptors.html":["\"\",","\"/\"})","\"/api/number\"})","\"0.3.1\"]","'[reitit.http","'[reitit.interceptor.sieppari","'[reitit.r","(app","(def","(defn","(fn","(fnil","(http/ring","(http/router","(requir","(ring/creat","(select","(updat","+","0)","03","08","1)]}","10)]","100)]","111}}","200","200,","404,",":a",":bodi",":executor",":get",":get,",":handler",":header",":interceptor",":middlewar",":number]",":uri",";",";;","[\"/api\"","[\"/number\"","[(interceptor","[:number])})}}]])","[:request","[ctx]","[metosin/reitit","[number]","[req]","altern","app","basic","build","chain","chains.","context.","ctx","data","default","details.","differences:","enqueu","exampl","execut","executor","extra","features.","handl","handler","handler)","have","http","http])","https://quanttype.net/posts/2018","https://www.reddit.com/r/clojure/comments/9csmty/why_interceptors/","implement","instead","interceptor","interceptors.html","interceptors?","key","librari","match","method","middleware.","modul","number))})","option","optionally,","package.","pedest","reitit","reitit.http/http","reitit.http/rout","reitit.interceptor","reitit.interceptor/executor","req","requir","ring","ring])","rout","router","same","see","shipped,","sieppari","sieppari/executor}))","sieppari])","simpl","support","top","type","us","{:enter","{:executor","{:interceptor","{:number","{:request","{:statu","{}}"],"http/pedestal.html":["\"0.3.1\"]","\"0.5.5\"]","#interceptor","&","'[io.pedestal.http","'[reitit.http","'[reitit.pedest","'[reitit.r","(","(coercion,","(context","(context)","(def","(defn","(fn","(fnil","(http/router","(pedestal/replac","(pedestal/rout","(requir","(select","(server/cr","(server/default","(server/dev","(server/start))","(updat","+","0)","1","1)]}","10)]","100)]","2","200","3000","::server/join?","::server/port","::server/rout",":a",":bodi",":error",":get",":handler",":jetti",":number]",";",";;",">","[\"/api\"","[\"/number\"","[(interceptor","[:number])})}}]])","[:request","[]}","[ctx]","[io.pedestal/pedestal.jetti","[io.pedestal/pedestal.servic","[metosin/reitit","[number]","[req]","altern","ariti","async","backend","backslashes.","be","both","class","clojur","clojure.","clojurian","coercion","common","compar","compat","complet","conflict","ctx","currently,","custom","data","default","defined.","discuss","doc","enabled:","engin","etc.)","even","exampl","except","exception).","fals","faster.","first","fix","framework","frontend.","full","guide.","handl","handler","http])","https://github.com/metosin/reitit/tree/master/examples/pedest","instead","interceptor","interceptors)","interceptors,","interceptors:","key","known","last","minimalist","model,","model.","more","mostli","number))})","on","out","paramet","pedest","pedestal'","pedestal.","pedestal])","problem","provid","read","reitit","reitit,","reitit.http.interceptors.exception/except","req","resolution.","ring])","rout","router","router.","routes)))","routing.","routing?","server)","server])","sieppari","simpl","slack.","spec","support","swagger","swagger.","swap","sync","syntax,","take","trail","us","validation.","web","welcom","{::server/typ","{:enter","{:interceptor","{:statu"],"http/sieppari.html":["\"","\"/api/ping\"}","\"/api/ping\"})","\"0.3.1\"]","\"enter","\"leav","\"pong\"}","\"pong\"}))","&","'[reitit.http","'[reitit.interceptor.sieppari","(app","(def","(defn","(deref","(fn","(futur","(http/ring","(http/router","(let","(println","(promise)]","(requir","1000","200,","::timeout))",":a",":api",":api)]}",":bodi",":get",":get)]",":get,",":handler",":leav",":ping",":ping)]",":uri",";=>",";enter",";leav","[\"/api\"","[\"/ping\"","[(i","[_]","[ctx]","[metosin/reitit","[respond","[x]","app","async","attach","batteri","both","chains.","clojure,","code:","coercion","compil","core.async,","ctx)","ctx)})","default","exampl","example,","execut","fast","handler","handler}}]])","http","http,","http])","https://github.com/metosin/reitit/tree/master/examples/http","implement","interceptor","interceptors,","manifold","method","model,","need","new","nil)","pluggabl","promesa.","reitit","reitit.interceptor.sieppari/executor","respond","ring","router","same","seamlesli","share","sieppari","sieppari.","sieppari/executor}))","sieppari])","simpl","support","support:","swagger","sync","synchron","syncron","together.","us","work","x)","{:enter","{:executor","{:interceptor","{:request","{:statu"],"http/default_interceptors.html":["\"0.3.1\"]","[metosin/reitit","action:","app","content","default","exampl","except","handl","https://github.com/metosin/reitit/blob/master/examples/http","interceptor","interceptors.","middleware,","multipart","negoti","paramet","reitit.http.interceptors.exception/except","reitit.http.interceptors.multipart/multipart","reitit.http.interceptors.muuntaja/format","reitit.http.interceptors.parameters/paramet","request","respons","ring","see","swagger/src/example/server.clj."],"http/transforming_interceptor_chain.html":["\"/api/ping\"})","\"0.3.1\"]","#(interleav","%","'[reitit.http","'[reitit.interceptor.sieppari","(actually,","(app","(def","(defn","(fn","(fnil","(http/ring","(http/router","(interceptor","(interceptor/transform","(repeat","(requir","(select","(uncom","(updat","1)","1]}}","2","2)]}","200","200,","3","3)]","3]}}",":a",":bodi",":debug",":debug)))})",":debug]}}",":get,",":handler",":message]",":reitit.interceptor/transform",":uri",";","[\"/api\"","[\"/ping\"","[(interceptor","[1","[3","[:message])})","[:request","[])","[ctx]","[message]","[metosin/reitit","[req]","add","app","appli","applic","between","butlast","chain","chain,","clojure.core/revers","compil","conj","console.","context","ctx","diff","diffs):","each","effect","endpoint.","exampl","extra","first","follow","function","handler","handler,","handler}}]]","handler}}]])","helper","http","http])","https://github.com/metosin/reitit/blob/master/examples/http","https://github.com/metosin/reitit/blob/master/examples/pedest","interceptor","interceptor.","interceptors.","interleav","it,","key","last","make","message))})","method","new","note:","option","option:","out","output:","pedestal:","per","print","put","reitit.http.interceptor.dev/print","reitit.http.interceptors.dev/print","reitit.interceptor/transform","req","rest","return","revers","reverse)})","router","router):","sampl","see","sieppari/executor}))","sieppari:","sieppari])","swagger/src/example/server.clj","transform","transformation,","underli","unreachable.","us","usual","valu","vector","{::interceptor/transform","{:enter","{:executor","{:get","{:interceptor","{:messag","{:request","{:statu"],"frontend/basics.html":[":paramet","addit","allow","attach","basic","break","browser","built","chang","code","coerc","coercer","coercion","compil","console.warn","control","core","default.","due","easi","enabled,","enabled.","error","errors.","event","extens","featur","few","frontend","function","functions:","hash","histori","html","includ","instead","integr","javascript,","layers:","log","match","multipl","name","name!","next","option","orient","origin","param","paramet","parameters.","pars","path","prevent","property,","property.","provid","queri","react","read","regardless","reitit","reitit.frontend","router","same","state","store","string,","throw","uri","us","version","wrap","wrapper"],"frontend/browser.html":["#.","(.back","(.go","(index.html).","1)",";;","allow","alway","anyway","api","api:","applications,","back","browser","call","calls.","chang","check","correct","current","directli","doesn't","downsid","easi","entri","event","events.","exampl","example.","file","follow","forwards,","fragment","fragment,","frontend","function","go","handler","histori","history.","html5","i.e.","includ","instanc","integr","integrations.","js/window.histori","js/window.history)","know","leav","look","make","manag","manipul","mean","modifi","never","normal,","page","part","pass","previou","provid","push","reitit","reitit.frontend.easi","replac","request","requir","respond","return","ring","rout","route,","router","server","server.","simpl","singl","somewher","stack,","state","store","two","uri","url","us","without","work:","wrapper"],"frontend/controllers.html":["\"item","\"root","&","(","(:control","(:requir","(also","(assoc","(atom","(def","(defn","(defonc","(e.g.","(fn","(get","(js/console.log","(mayb","(n","(rfc/appli","(rfe/start!","(swap!","(when","...])","/item/someth","/item/something,",":a",":control",":id)))",":id)))}]}]",":id]))",":path",":start",":stop",">","[\"/\"","[\"/item/:id\"","[:id]}","[:path","[]","[_]","[item","[match]","[new","[old","[parameters]","[reitit.frontend.control","[reitit.frontend.easi","[{:param","[{:paramet","[{:start","ad","add","affect","again.","all,","altern","alway","api","appli","applic","arbitrari","authent","automat","bad","befor","both","call","callback","chang","change.","changes.","check","code","code,","concaten","consid","contain","control","controller,","current","data","declar","declaration,","describ","differ","disabl","done","done).","done,","done.","easi","else,","else.","elsewher","enabl","enter","even","event","example.","example:","exit","first","frame","frontend.cor","full","function","function,","functions,","get","graphql","handler).","https://github.com/metosin/reitit/tree/master/examples/frontend","id))","id))}]}]]","id]","ident","implement","init!","initi","isn't","item","keechma","leav","left.","load","logic","manual","map","match","match)","match))))))))","match,","match]","merged.","miss","navig","need","nest","new","next","nil))","nil.","old","out","param","paramet","params.","per","possibl","prevent","previou","properties:","query)","re","reinitialized:","reitit.frontend.controllers/appli","reitit.frontend.easy:","rememb","request","requir","resolv","resourc","resources,","resources.","return","rfc]))","rfe]","root","rout","route,","router","run","same","see","server.","set,","similar","solut","someth","start","start\"","start\"))}]}","started.","state","statu","stay","stop","stop\"","take","them.","time","tip","to:","tree,","tree:","tri","unauthent","until","updat","url","us","user","valu","value,","value.","vector.","way","whenev","whole","work","yet.","{:control","{:path"],"advanced/configuring_routers.html":["#{route}}","()","(data)","(default",":coerc",":compil",":conflict",":data",":except",":expand",":path",":rout",":router",":spec",":valid","=>","[])","actual","arg","avail","base","clojure.spec","coerc","compil","configur","conflict","creation","data","data,","definit","descript","effect","except","expand","follow","function","handl","handler","implement","initi","key","nil","opt","option","options.","overrid","path","reitit.core/expand)","reitit.core/router:","reitit.exception/exception)","reitit.spec","resolv","result","return","rout","route,","router","see","side","throw","time","us","valid","via","{rout","{})"],"advanced/composing_routers.html":["\"/\"","\"/\"))]","\"/avaruus\"","\"/avaruus\"}]","\"/beers/lager\")","\"/beers/sahti\")","\"/beers/saison\")","\"/dynamic\"","\"/dynamic/duo\"","\"/dynamic/duo\")","\"/gin/napue\")","\"/kerran/*\"","\"/kerran/avaruus\"}","\"/olipa/*\"","\"/olipa/iso/kala\"}","\"/olipa/kerran/avaruus\")","\"/olipa/kerran/avaruus\"}","\"/olipa/kerran/iso/kala\")","\"/vodka/russian\")","\"avaruus\"}","\"beer\"","\"bock\"])","\"duo\"","\"kerran/avaruus\"}","\"kerran/iso/kala\"}","\"sahti\"","#object[...]","#object[...]}","#object[reitit.core$lookup_router]}","#object[reitit.core$mixed_router]}","#object[user$reify__24359]}]]","#reitit.core.match{:templ","'[clojure.str","'[compojure.cor","'[reitit.cor","(","(:templat","(add","(app","(appli","(atom","(comp","(con","(constantli","(context","(creat","(def","(defn","(deref","(for","(if","(into","(keyword","(let","(list","(map","(mapv","(merg","(name","(nested)","(r/match","(r/option","(r/rout","(r/router","(rand","(recurs","(reifi","(request","(requir","(reset","(reset!","(some","(str","(str/last","(sub","(swap!","+","/:this/should/:fail","/baz/:id/:subid","/beers/sahti","/beers/saison","/ciders/weston","/dynamic/duo","/gin/napu","/saison","100)))]))))","12000n","20000n","23ns.","40n","440n","600n","::bar]]))","::baz]]))","::fail]])","::foo]","::route1])","::route2])","::route3])))",":a",":avaruus]",":avaruus}",":beer",":beer/bock}]",":beer/lager}]",":beer/sahti}]",":ciders]",":ciders}]",":coerc",":compil",":conflict",":data",":data))))",":duo",":duo)))",":duo55]",":duo71]",":dynam",":dynamic,",":expand",":get})",":ihminen]])}]])}]]))",":kerran",":lager]",":lager]])))",":makkara]",":name",":napue]",":napue}]",":olipa",":olut]",":path",":ping]",":refer",":request",":result",":router",":router)]",":saison]",":saison]])",":user/bar}]",":user/bar}]]",":user/baz}]]",":user/foo}]",":user/route1}]",":user/route2}]",":user/route3}]]",";",";#match{:templ",";[#reitit.core.match{:templ",";[:beer/sahti]",";[[\"/foo\"",";[[\"/gin/napue\"",";[[\"/route1\"",";compilerexcept",";{:lookup",">",">>","@router","@router)","[\"/bar/:id\"","[\"/baz/:id/:subid\"","[\"/beers\"","[\"/beers/*\"","[\"/beers/bock\"","[\"/beers/lager\"","[\"/beers/sahti\"","[\"/ciders/*\"","[\"/duo\"","[\"/dynamic/*\"","[\"/ihminen\"","[\"/kerran/*\"","[\"/makkara\"","[\"/olipa/*\"","[\"/route1\"","[\"/route2\"","[\"/route3\"","[\"lager\"","[&","[(str","[:beer","[:dynam","[:napue]","[:olipa","[[\"/:this/should/:fail\"","[[\"/avaruus\"","[[\"/baz/:id/:subid\"","[[\"/foo\"","[[\"/gin/napue\"","[[\"/lager\"","[[\"/olut\"","[[\"/ping\"","[[\"/saison\"","[]","[_]","[beer","[beers]","[context])","[match","[router","[submatch","[subpath","[subrout","above,","achiev","ad","add","against","ahead","allow","and/or","anyth","app","applied,","approach","around","atom:","avoided.","background,","beer","beer)","beer)])]","beers)))","beers:","beers]","below","benchmark","better","both","can't","cases,","cases.","catch","chains.","chang","changed.","changed:","choise.","clojure.lang.exceptioninfo:","clojure.lang.ideref","compar","compil","compojur","compojure.","compojure:","compos","conflict","constant","contain","core","correctly?","cost.","creat","created,","creation","data","data,","data:","database.","deepli","didn't","disabled,","doesn't","don't","driven","dynam","each","effect","embed","entri","exampl","expected:","expos","extra","faster.","faster?","first,","fulli","function","gave","generation,","have","helper","here'","hook","immut","immutat","implement","includ","index","insert","instead","int","interceptor","invalid","it'","it:","key","key,","key.","let'","level","level,","lookup","lookups:","magnitud","make","match","match)","match))))","match,","matches.","matches:","mayb","merg","method","middlewar","modifi","more","much","multipl","name","need","nest","nester","nesting/composition.","new","nil","nil)))","non","normal","not...","now","ns","on","onc","one:","ones,","option","option.","options.","options:","order","origin","over","param","parameter.","path","path)","path)]","path.","path:","path]","paths:","perform","performance.","previou","protocol","queri","quick","r/option","r/options.","r/rout","r])","re","recreat","recurs","recursive,","refer","references:","reitit","reitit.core/merg","request.","request:","reset","resolution:","resolv","return","ring","root","rout","route.","route:","router","router!","router)","router)))","router,","router2","router2)","router:","routers))","routers))))","routers,","routers.","routers:","routers?","routers]","router}]","router}]]))","routes)","routes,","routes.","routes:","routes]","routing,","rule","saison!?","second,","see","separ","slower","slower,","slowest","small","so,","specs,","static","static.","str])","submatch)))","subpath)]","subrout","subrouters.","such","support","sure.","swap","system","that,","that?","then,","this,","through","time","time)","time,","time.","todo","too.","top","tree","tree:","trivial","two","type","under","understand","updat","us","valid","vector","via","walk","wanted,","we'll","whole","work","works:","wrap","{:","{:name","{:uri","{}"],"advanced/different_routers.html":["'[reitit.cor","(def","(r/router","(requir","::ping]","::users]]","::users]]))",":a",":linear",":lookup",":mix",":quarantin",":router",":singl",":trie",";","[\"/api/:users\"","[[\"/ping\"","ask","base","catch","configur","conflict","conflicts.","contain","creat","descript","differ","expand","fast","faster","found.","function","hash","implement","implementation.","implementation:","inspect","lookup","manual","match","much","name","non","on","optim","option,","origin","out","overrid","paramet","path","pedest","protocol,","r/linear","r])","reitit","resolv","rout","route.","router","router)","router,","router:","routers.","routers:","router}))","routes.","search","see","select","set","sever","ship","slow,","start","static","string","suitabl","super","table.","top","trees.","trie","two","until","us","valid","wildcard","work","{:router"],"advanced/route_validation.html":["\"/\"))","\"/\")))","\"/\"))))","\"0.4.0\"]","\"tenant1\"","#'reitit.core/rout","%","%)","'[clojure.spec.alpha","'[clojure.spec.test.alpha","'[expound.alpha","'[reitit.cor","'[reitit.spec","'[reitit.spec])","(*","(?","([\"/api\"","([...","(and","(blank?","(cat","(clojure.core/fn","(clojure.core/or","(clojure.spec.alpha/*","(clojure.spec.alpha/?","(clojure.spec.alpha/and","(clojure.spec.alpha/cat","(clojure.spec.alpha/col","(clojure.spec.alpha/nil","(clojure.spec.alpha/or","(clojure.string/blank?","(clojure.string/start","(def","(fn","(nilabl","(or","(r/router","(requir","(s/explain","(s/valid?","(set!","(start","(stest/instru","...","...])","2","::spec/raw","::tenant1])",":a",":arg",":child",":clojure.spec.alpha/spec",":clojure.spec.alpha/valu",":dev",":into",":path",":path]",":reitit.spec/arg)",":reitit.spec/path",":reitit.spec/path:",":reitit.spec/raw",":rout",":user/tenant1",":user/tenant1]",";","[\"/api\"","[\"/ping\"]","[\"/public\"","[\"pong\"]]])","[\"tenant1\"","[%]","[...","[0]","[1]","[:rout","[:routes]","[]))","[expound","^^^^^^","`reitit/router)","add","argument","at:","bootstrapping:","call","clojure.core/string?","clojure.lang.exceptioninfo:","clojure.spec","compilerexcept","conform","contain","db","db)","definit","depend","detect","develop","error","exampl","expound","expound/printer)","expound])","fail","fals","first","function","go:","higher","in:","instrument","namespac","options.","out*","predicate:","pretti","print","problems.","r])","raw","readi","reitit.core/rout","reitit.spec","relev","rout","route))))","route:","router","routes,","routes:","s/*explain","s])","satisfi","spec","spec:","spec])","stest])","time","to:","tool","us","val:","valid","with?"],"advanced/dev_workflow.html":["!","\"/api/ns2/more/bar\")","\"/api/ns2/more/bar\",","\"/api/ns2/more/bar\"}","#(r/router","'[ns1])","'[ns2])","'[reitit.cor","(:requir","(constantli","(def","(defn","(n","(ns1/routes)]])","(ns2/routes)]","(r/match","(r/router","(requir","(router)","(routes)))","(routes))))",":","::bar","::bar])","::ping]","::ping]])",":a",":data",":ns1/bar",":ns1/bar},",":path",":result",";#reitit.core.match{:templ",";;",";[\"/bar\"",";the","?","[\"/api\"","[\"/bar\"","[\"/more\"","[\"/ns2\"","[\"/ping\"","[[\"/ping\"","[]","[reitit.cor","again","alway","appli","applic","astut","bit","call","chang","consid","contrari","correct,","crude","dev","dev,","developement,","developement.","differ","dure","dynam","easi","exampl","expect","fast","fix","frankli","full","function","function.","functions.","goal","goe","hit","inde","invocation.","it,","iterations.","let'","mani","match","multipl","name","name]","name])","namespac","namespace,","namespace.","namespaces.","name},","need","new","nil,","notic","now","ns1","ns1)","ns1,","ns1/rout","ns1/routes]])","ns2)","ns2/routes]","ns3)","ns3.","on","onc","order","param","pass","path","perform","possible,","practic","problem","prod","product","production.","queri","quit","r])","r]))","reader","recompil","reitit,","reitit.","reload","replac","requir","result","rout","router","routers,","routes))","sampl","see","slower","small","solut","span","still","sun.","that'","time.","top","tree","tree,","two","under","us","var","want","way","we'll","we'r","whole","without","workflow","worklfow","{:name","{},"],"advanced/shared_routes.html":["\"/kikka\"","\"/kikka\"}","\"/kikka\"})","\"bar\"})","\"get\"})","\"post\"}","\"post\"})","#?(:clj","#?@(:clj","&","'[reitit.cor","'[reitit.r","(app","(assoc","(declar","(def","(defn","(fn","(if","(in","(keyword?","(mi","(r/expand","(r/match","(r/router","(requir","(ring/r","(ring/rout","(some",".cljc","200,","::bar","::bar]]","::bar]])","::kikka","::kikka)","::kikka]",":a",":bodi",":data",":expand",":handler",":name",":path",":post",":post,",":result",":uri",":user/kikka}",";",";#match{:templ",";;",">","[\"/bar\"","[\"/kikka\"","[:get","[:post","[[\"/kikka\"","[_]","[data","[registry]","app","application,","argument,","backend","backend,","bar","bar})})))","both","both,","clojur","clojurescript,","clojurescript:","common","condit","core","custom","data","data)","data))","default","defin","enabl","expand","file):","files.","first,","frontend","frontend,","function","function.","get","given","handler","kikka","kikka))","kikka}","kikka}])","kikka}])}])","method","multimethod.","multipl","name","need","nil","non","on","option","opts)","opts))))","opts]","param","post","processing,","r])","raw","reader","registri","reitit","reitit.core.rout","reitit.core/expand","request","revers","ring])","rout","router","routes))","routes:","routing.","sequenti","share","tabl","table.","those","us","work","{::kikka","{:expand","{:get","{:handler","{:name","{:request","{:statu"],"performance.html":["\"/auth/login\")))","\"/ping\"})))","\"/workspace/1/1\")))","\"ok\"})])","'[criterium.cor","'[reitit.cor","'[reitit.r","(30x","(a","(app","(ataraxy,","(cc/quick","(constantli","(creat","(def","(defn","(dotim","(let","(matches,","(micro","(or","(per","(r/match","(r/router","(real","(requir","(ring/creat","(ring/r","(ring/rout","(static","(wildcard","(with",")benchmark","/api/command/add","1","100","1000)","1000):","1000]","110x","115","130n","16","18","2,5","200,","256","3.2","300","312m","4","50%","50+","500x","6","8.7m","80n",":",":a",":auth/login]",":auth/recovery]",":bodi",":get,",":inject",":lookup",":mix",":request",":segment",":uri",":workspace/page]]))",";;",">","[\"/auth/recovery/token/:token\"","[\"/ping\"","[\"/workspace/:project/:page\"","[[\"/auth/login\"","[_","[app","[options]","`lein","above).","abstract","accur","actual","against.","algorithms,","also,","alway","anoth","api","ataraxi","average,","awesome.","base","baselin","bench","benchmark.","best","better","better,","between","bide","bidi,","both","box","busi","but,","cach","cache:","calfpath","can't","card","case,","case.","cc])","chosen","ci","code","compil","compojur","comput","conflict","contain","core","core):","cores:","cqr","creat","creation","data.","default","default,","definit","definitions.","degrade.","depends.","describ","differ","do","don't","dynam","e.g.","effect","enabl","ensur","environment.","error.","errors.","even","exampl","execut","extensions.","fail","fallback","false,","false.","false})]","fast","fast.","faster","faster!","fastest","featur","few","first","flatten","follow","found","function","gb","ghz","go","go.","handl","handler","handler)","handler.","have","help","here.","hierarchi","http","hw","i7","idea","identifier:","immut","implementation.","indic","infinit","inject","inlin","intel","interceptor","interceptor)","interceptors,","intern","invok","it'","java","jvm","kb","kinda","know.","l2","l3","larg","large!","less","lib","librari","libs.","life","life)","life,","linearrouter,","look","lookup","lot","lot.","lupapiste.","macbook","macbookpro11,3","magnitud","magnitude.","manag","map","match","match?","matter","matter?","mb","mean","measur","measure?","memory:","method","mid","middlewar","middleware,","mix","model","modif","more","mount","move","much","multimethod","multipl","mutabl","name:","nano","need","new","nice","nil)]","non","not.","notabl","note:","nothing.","ns","number","ok","on","opensensor","ops/sec","optim","option","options))","order","order.","out","over","paramet","parameters.","path","path)","path.","pedest","pedestal).","perf","perform","performance,","performance.","performance:","pleas","poke","possibl","precompute/compil","prefix","present.","pro","process","processor","processors:","proof","protocol","pull","quick","quit","r])","radix","rational","re","readme:","real","realistic.","realli","really,","record","regress","reitit","reitit.http/r","reitit.http/rout","reitit.ring/r","remov","repl","repl`","repo","request","request.","rest","rest(ish)","result","revers","ring","ring])","rout","router","router,","router:","router?","routers.","routes,","run","same","sampl","save","scenario","scientif","second","serv","set","sets)","setup:","shine","simpl","site","size","slower","slowest","small","snappi","so,","someth","speed:","stabl","start","static","static,","still","style","swagger","tabl","take","taken","ten","test","test).","test,","tests,","thank","thing","three","time","time,","tip","todo","total","tree","tree),","tree,","tree.","trees,","tri","trie","trust","two","unmount","us","usual","view","want","welcome!","well,","wild","wildcard","wildcard,","without","work","write","{:inject","{:request","{:statu","µs","µs."],"development.html":["\"1.0.0\"","#","./scripts/lein","./scripts/set","./scripts/test.sh","break","build","built","bump","chang","changes!","clean,","cli","clj","clojar","deploy","develop","document","g","gitbook","gitbook.","includ","instal","instruct","lein","level","locally:","modul","never","new","npm","patch","preview","promise:","rememb","run","serv","test","up","us","version","version:","versioning.","work"],"faq.html":["\"/\"","\"/api\"","\"/users/:id\"","#reitit","&","(","(clojure)","(context","(def","(defrout","(fn","(get","(human","(ok","(reitit","(simple)","(wrap","30",":","::ping]","::ping}]",":auth/login]",":auth/recovery]",":bodi",":get",":handler",":id))))}",":name",":page",":rout",":secure]]}",":token]",":workspace/page]])",":workspace/page]]]]])",";;",">","[\"/\"","[\"/api\"","[\"/api/ping\"","[\"/auth/recovery/token/:token\"","[\"/pizza\"","[\"/users/:id\"","[\"/workspace/:project","[\"workspace/\"","[[\"/auth/login\"","[[\"auth/login\"","[[\"auth/recovery/token/\"","[[[:project","[[wrap","[]","[id","[parameters]}]","[wrap","[{:key","ad","algorithm.","allow","alreadi","anoth","api","appli","apps,","argument","ask","awesome.","base","behav","best","bi","bidi","bidi.","bidi:","bidi?","both","busi","channel","class","clojur","clojure,","clojure.","clojurescript","clojurescript.","clojurian","coercion.","compil","compojur","compojure,","compojure.","compojure:","compojure?","compos","conflict","contribute?","core","data","data,","debug.","destructur","differ","differences:","differently,","direct","discuss","dispatch","driven","driven,","dynam","easi","effect","enough","exist","expos","extensions.","extra","faq","fast.","faster","featur","felt","first","frequent","frontend","full","fun","function","goal","good","great","guard","hacki","handler}]]])","hard","here","http","ident","identity,","influenc","int?}}}","interceptor","issues.","it'","it.","join","keyword","known","lib","librari","library?","log]","machin","macro","main","make","mani","map","maps.","margin","match","micro","mid","middlewar","missing:","mix","modul","module:","mostli","much","multipl","name","need","none","on","optim","order","origin","overal","param","paramet","part","path","pattern","pedest","pedestal,","pedestal:","pedestal?","perfect.","perform","performance.","pizza","pluggabl","post","process","projects.","proven","provid","question","readabl","readable)","realli","really,","reitit","reitit,","reitit.","reitit:","relat","represent","representation.","request.","resolut","resolv","ring","roadmap","rout","router","routes,","same","same.","seconds,","separ","ship","similar","slack","so,","source:","spec","special","specs,","speed","static","still","string","sub","support","syntax","syntax,","syntax.","syntax:","tabl","take","taken","target","terse,","thank","things.","thu","thus,","time","too).","took","tree","trickeri","trivial","us","user","uuid","uuid\"","uuid/:pag","uuid]","verbose.","wildcard","work","works,","written","{:get","{:id","{:middlewar","{:paramet","{:path","{:post"]},"length":44},"tokenStore":{"root":{"0":{"3":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}},"8":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}},"docs":{},".":{"3":{"docs":{},".":{"0":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"docs":{}}},"docs":{},".":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},"1":{"0":{"0":{"0":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}},"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},")":{"docs":{},"]":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},")":{"docs":{},")":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"docs":{},")":{"docs":{},"]":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"1":{"0":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"1":{"docs":{},"}":{"docs":{},"}":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}},"5":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"2":{"0":{"0":{"0":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"docs":{}},"3":{"docs":{},"}":{"docs":{},"}":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"]":{"docs":{},"}":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"docs":{}},"3":{"0":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{}},"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},":":{"5":{"9":{"docs":{},":":{"5":{"4":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"8":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"8":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.013761467889908258}}}},"]":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415}},"}":{"docs":{},"}":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}},"]":{"docs":{},"}":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}},"2":{"0":{"0":{"0":{"0":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},",":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.034220532319391636},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"1":{"8":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},"docs":{}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}},"1":{"1":{"6":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"docs":{}},"docs":{}},"2":{"5":{"1":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"docs":{}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},"3":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"5":{"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{}},"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"}":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415}}}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"]":{"docs":{},"}":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}},"\"":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},",":{"5":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{}}},"3":{"0":{"0":{"0":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"8":{"docs":{},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463}}}},"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"}":{"docs":{},"}":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"1":{"2":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{}},"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},"]":{"docs":{},"]":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415}}},"}":{"docs":{},"}":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"]":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}},".":{"2":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{}}},"4":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},"3":{"docs":{},",":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},"4":{"docs":{},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.022222222222222223},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}},"5":{"docs":{},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334}}}},"6":{"docs":{},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334}}}},"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"4":{"0":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"5":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{},"%":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"+":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"6":{"0":{"0":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"8":{"0":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},".":{"7":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{}}},"docs":{},"\"":{"0":{"docs":{},".":{"3":{"docs":{},".":{"1":{"docs":{},"\"":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"docs":{}}},"5":{"docs":{},".":{"5":{"docs":{},"\"":{"docs":{},"]":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}}}},"docs":{}}},"docs":{}}},"1":{"2":{"3":{"docs":{},"\"":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"]":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}},"}":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965}}}}}}},"docs":{}},"docs":{},"\"":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"}":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505}}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}},".":{"0":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}},"docs":{}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"docs":{}}},"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.004878048780487805}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"}":{"docs":{},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"\"":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"2":{"docs":{},"\"":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.004878048780487805}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"}":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"3":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628}}}},"docs":{}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"1":{"docs":{},"\"":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.013761467889908258}},")":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}}},"s":{"2":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}},"}":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}}}}}}}}}}}},"docs":{}}}},"\"":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}},"l":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}},")":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},")":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778}},")":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0076045627376425855}}}}},"/":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171}}}}},"/":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.011406844106463879}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"u":{"docs":{},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"1":{"2":{"3":{"docs":{},"\"":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"}":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}},"docs":{}},"docs":{}},"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"}":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}},"/":{"0":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"1":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"2":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"3":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"4":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"5":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"6":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"7":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"8":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"9":{"docs":{},"?":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"=":{"docs":{},"m":{"docs":{},"%":{"docs":{},"c":{"3":{"docs":{},"%":{"docs":{},"b":{"6":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}}},"docs":{}}}},"docs":{}}}}}}}}}},"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}}}}}}}}},"*":{"docs":{},"\"":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"/":{"docs":{},"k":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"/":{"docs":{},"k":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"o":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"\"":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"d":{"docs":{},"k":{"docs":{},"a":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"1":{"docs":{},"/":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"\"":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"]":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"m":{"docs":{},"ö":{"docs":{},"l":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.01060070671378092},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"]":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"\"":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}}}},"\"":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.02666666666666667},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}},")":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}},"]":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}},"]":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171}}}}}}},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}}}}}},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"\"":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"h":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}}}}}}}}},"u":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"/":{"docs":{},"k":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"]":{"docs":{},"}":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"1":{"docs":{},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"docs":{}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}},")":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"}":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"\"":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"b":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}},"c":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},")":{"docs":{},")":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"e":{"docs":{},"t":{"docs":{},"\"":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},"}":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"u":{"docs":{},"o":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"n":{"docs":{},"y":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"y":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"_":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"\"":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.018867924528301886}},"]":{"docs":{},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"#":{"docs":{"development.html":{"ref":"development.html","tf":0.046153846153846156}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.012195121951219513},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.013761467889908258},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"{":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"[":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"$":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"_":{"docs":{},"_":{"2":{"4":{"3":{"5":{"9":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.016877637130801686},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}},"}":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"$":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"]":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{},"$":{"docs":{},"]":{"docs":{},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"}":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}},"z":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}},":":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"}":{"docs":{},"}":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}}}}}},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"{":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"{":{"docs":{},":":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"{":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},":":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}}}}}}}}}}}}},"'":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}},"?":{"docs":{},"(":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}},"@":{"docs":{},"(":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}}}}},"&":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"'":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"[":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"]":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"]":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}}}}}},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"e":{"docs":{},"p":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},"t":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"1":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257}}}}},"2":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"docs":{}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"e":{"docs":{},"m":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"(":{"3":{"0":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{}},"4":{"0":{"4":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}},"i":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}},"a":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"p":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.044444444444444446},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.034220532319391636},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"l":{"docs":{},"i":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},"n":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"l":{"docs":{},"l":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"s":{"docs":{},"o":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}}},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{},"y":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"d":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},")":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"/":{"docs":{},"*":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.012285012285012284}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}}},"o":{"docs":{},"l":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}}}},"o":{"docs":{},"r":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"k":{"docs":{},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"n":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"o":{"docs":{},"r":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"q":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"e":{"docs":{},"!":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}},",":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}},"r":{"docs":{},"e":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{},":":{"4":{"7":{"3":{"9":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"j":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.02666666666666667},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.034220532319391636},"ring/static.html":{"ref":"ring/static.html","tf":0.018433179723502304},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}},"m":{"docs":{},"p":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}},"c":{"docs":{},"/":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.006211180124223602}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/router.html":{"ref":"basics/router.html","tf":0.012658227848101266},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.008680555555555556},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0189873417721519},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0062047569803516025},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.008704061895551257},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"n":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.006769825918762089},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.03571428571428571}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585}}}},"e":{"docs":{},"f":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}},"f":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.020151133501259445},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},"/":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}},"u":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.02195121951219512},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.024691358024691357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.05045871559633028},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.01060070671378092},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}},"t":{"docs":{},"h":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.016877637130801686},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.006769825918762089}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.012658227848101266},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.011389521640091117},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.01791044776119403},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.012572533849129593},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.014925373134328358},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0176678445229682},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0215633423180593},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0234375},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.010680907877169559},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.012658227848101266},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.01606425702811245},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.0171990171990172},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.027989821882951654},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"p":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}},"e":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"!":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},"r":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016877637130801686},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.022813688212927757},"ring/static.html":{"ref":"ring/static.html","tf":0.018433179723502304},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016877637130801686},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.027649769585253458},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843}},"e":{"docs":{},"r":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"f":{"docs":{},"c":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"!":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}},"t":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"/":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008955223880597015},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.026954177897574125},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}},"e":{"docs":{},"e":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"q":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"?":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}},"!":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"v":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}}}}}}}}},"p":{"docs":{},"!":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},"u":{"docs":{},"b":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}},"*":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}},"[":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.022900763358778626}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.008704061895551257}}}}},"o":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"e":{"docs":{},":":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}},"s":{"1":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}}}}},"2":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}}}}}}},"docs":{}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"p":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},"v":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"y":{"docs":{},"b":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"i":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}},"r":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}},"f":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"k":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"v":{"docs":{},"i":{"docs":{},"a":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.02109704641350211},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},"e":{"docs":{},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"/":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.012594458438287154}}}}}}}}}}}}}}}},"#":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"{":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856}}},"{":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}},"i":{"docs":{},"k":{"docs":{},"e":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"s":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"p":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}}}},"e":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},"]":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796}}}}}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.004658385093167702}}}}},"i":{"docs":{},"f":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"n":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968}},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},")":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}}}}}}}}}}}}},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}}},"n":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"+":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"o":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}},"\"":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},"?":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}},"=":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"k":{"docs":{},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}},":":{"1":{"2":{"3":{"docs":{},"}":{"docs":{},"]":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}}}}},"docs":{}},"docs":{}},"3":{"0":{"0":{"0":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.014634146341463415}}}}}},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01366742596810934},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.007317073170731708}},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467}},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}}}}},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}},"s":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}},"l":{"docs":{},"u":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"s":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},"p":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893}},"]":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}}},"c":{"docs":{},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}},"d":{"docs":{},"b":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}},"s":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}},")":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"]":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467}}},"}":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}},"k":{"docs":{},"u":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"?":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.011940298507462687},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.023206751054852322}},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"1":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"2":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"3":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"docs":{}}}}},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008955223880597015}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}}},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"m":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965}}},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585}}}}}},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585}}},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"o":{"docs":{},"o":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"1":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"docs":{}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"]":{"docs":{},"]":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}},"z":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"a":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.014925373134328358},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.012367491166077738},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.024193548387096774},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.018867924528301886},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.010680907877169559},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011780104712041885},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.014767932489451477},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.017580144777662874},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.01606425702811245},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}},"d":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}},")":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}}}},"p":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.022222222222222223}},"]":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}},"}":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},")":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"}":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"r":{"docs":{},"g":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0234375},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.06222222222222222},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.057034220532319393},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.03225806451612903},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.009345794392523364},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.024869109947643978},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010548523206751054},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.01344364012409514},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"y":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"n":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}},"s":{"1":{"0":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}},"docs":{}},"docs":{}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"/":{"docs":{},"b":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.014634146341463415},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.005802707930367505},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},"b":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},"]":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843}},"e":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444}}},"]":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}},"]":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}}}}},"}":{"docs":{},"}":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}},"v":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"u":{"docs":{},"o":{"5":{"5":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"7":{"1":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}},"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},"i":{"docs":{},"c":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.014767932489451477},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.027777777777777776},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.02666666666666667},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},")":{"docs":{},"]":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}},"}":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007238883143743537},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},")":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}},"]":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.022813688212927757},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"r":{"docs":{},"e":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}},"x":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"]":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.015945330296127564},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},"p":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"]":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}},"o":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"s":{"1":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}},"}":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}}}}}},"docs":{}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.026829268292682926},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.024691358024691357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.03211009174311927},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.015901060070671377},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.007736943907156673},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"c":{"docs":{},"h":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.015901060070671377},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0062047569803516025},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"}":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"u":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}},"s":{"docs":{},")":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.016172506738544475}},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.022222222222222223}},")":{"docs":{},"]":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.014634146341463415},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.0171990171990172}},":":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.04176904176904177}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"e":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"r":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.013539651837524178},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},")":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343}}}},"o":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.035555555555555556},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.022968197879858657},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"d":{"docs":{},"b":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},"u":{"docs":{},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},"s":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}},"}":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505}},"]":{"docs":{},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843}}}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"o":{"docs":{},"o":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},"z":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"1":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"2":{"docs":{},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"3":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"docs":{}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"1":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"docs":{}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"]":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},"e":{"docs":{},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.014134275618374558},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"i":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"a":{"docs":{},"v":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013089005235602094}}},"y":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.011940298507462687},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}},"i":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}},"u":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}},"i":{"docs":{},"a":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"t":{"docs":{},"o":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}},"a":{"docs":{},"l":{"docs":{},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}},"d":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"]":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},")":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"}":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},")":{"docs":{},"}":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"h":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.014925373134328358},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}},"k":{"docs":{},"u":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}},"o":{"docs":{},"p":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}}}}}},"e":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"i":{"docs":{},"g":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.008680555555555556}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}}}},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}},"u":{"docs":{},"t":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"]":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"i":{"docs":{},"e":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628}}}}},"a":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"?":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"y":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}},"x":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}},"z":{"docs":{},")":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},")":{"docs":{},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}}}}}},";":{"docs":{"./":{"ref":"./","tf":0.09024390243902439},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.01532567049808429},"basics/router.html":{"ref":"basics/router.html","tf":0.04219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.07407407407407407},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.11467889908256881},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.05694760820045558},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.029850746268656716},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.15463917525773196},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0636042402826855},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.08064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.04043126684636118},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.03819444444444445},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0859375},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.044444444444444446},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.04182509505703422},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.010680907877169559},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.049738219895287955},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.01606425702811245},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.05415860735009671},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.2727272727272727},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.021551724137931036}},";":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.050314465408805034},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.027950310559006212},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}}}}},"#":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"1":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{}}}}}}}}},"#":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"{":{"docs":{},":":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"b":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"\"":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}},"|":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005}}},"{":{"docs":{},":":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"=":{"docs":{},">":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.03333333333333333}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.03333333333333333}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}},">":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.05154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013089005235602094},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}},")":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},",":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}}}},">":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"[":{"0":{"docs":{},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"1":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"3":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},"docs":{},"\"":{"docs":{},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"/":{"docs":{},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}}}},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}},"p":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.01791044776119403},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.012658227848101266},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}}}},":":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.011389521640091117}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"/":{"docs":{},":":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"z":{"docs":{},"z":{"docs":{},"a":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"/":{"docs":{},"\"":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"*":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}},"{":{"docs":{},"*":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"}":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}},"\"":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"/":{"docs":{},":":{"docs":{},"z":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}}},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"/":{"docs":{},":":{"docs":{},"u":{"docs":{},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}},"{":{"docs":{},"u":{"docs":{},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"u":{"docs":{},"o":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218}}}}},"{":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},".":{"docs":{},"{":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}}}}}}}}},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"y":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"u":{"docs":{},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"l":{"docs":{},"k":{"docs":{},"/":{"docs":{},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"l":{"docs":{},"k":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}}},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}}}}}}},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}},"z":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},":":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"b":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"s":{"docs":{},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"\"":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"*":{"docs":{},"\"":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}}}}}}},"h":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}},"s":{"2":{"docs":{},"\"":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}},"docs":{}}},"c":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"\"":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"1":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"2":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"3":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"docs":{}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"/":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"\"":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"{":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"}":{"docs":{},".":{"docs":{},"{":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"}":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"1":{"docs":{},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"docs":{}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}},"[":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}}}}}}}}}}}}}},":":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},"{":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}},"\"":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"u":{"docs":{},"u":{"docs":{},"s":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},":":{"docs":{},"u":{"docs":{},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"{":{"docs":{},"u":{"docs":{},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},":":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},":":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"z":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},":":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{},"\"":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"{":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},".":{"docs":{},"{":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"}":{"docs":{},".":{"docs":{},"{":{"docs":{},"*":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"}":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"/":{"docs":{},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}}}}}}}}}}},"#":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"[":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"$":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.02926829268292683},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},":":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}},"m":{"docs":{},"w":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}},"[":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}},"_":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"]":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"e":{"docs":{},"]":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}}}}}}}}},"u":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}}}}}},"i":{"docs":{},"r":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},"]":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"d":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"]":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}}}}},":":{"docs":{},":":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"]":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},"p":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}}},"c":{"docs":{},"c":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}}}}},"d":{"docs":{},"b":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}}}}},"k":{"docs":{},"u":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"r":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}},"m":{"docs":{},"w":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"]":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}},"}":{"docs":{},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}}},"p":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"t":{"docs":{},"h":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"s":{"docs":{},"k":{"docs":{},"u":{"docs":{},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}},"s":{"1":{"0":{"docs":{},"]":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}},"docs":{}},"docs":{}}}}},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"]":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{},"e":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"i":{"docs":{},"d":{"docs":{},"]":{"docs":{},"}":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}},"d":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}}},"p":{"docs":{},"p":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"i":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},")":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}}}},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}},"]":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}},"}":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.012658227848101266}},"s":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.016877637130801686}}}}}}},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"m":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"]":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}},"t":{"docs":{},"x":{"docs":{},"]":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"}":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"{":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.03234501347708895}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"e":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}},"{":{"docs":{},"{":{"docs":{},":":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}}},"#":{"docs":{},"(":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"\\":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\\":{"docs":{},"\"":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"s":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"]":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}}},"i":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.02390438247011952}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.02109704641350211}}}}}},";":{"docs":{},";":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}},"e":{"docs":{},"w":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}},"&":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"%":{"docs":{},"]":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}},"a":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.008704061895551257},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"i":{"docs":{},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},":":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}},"p":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/ring.html":{"ref":"ring/ring.html","tf":0.012152777777777778},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.017777777777777778},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0189873417721519},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.044444444444444446},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"l":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"y":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}},"u":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467}}}}},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"s":{"docs":{},"s":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"h":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"n":{"docs":{},"y":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}}},"a":{"docs":{},"y":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}},"t":{"docs":{},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}},"n":{"docs":{},"y":{"docs":{},"m":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"r":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}},"s":{"docs":{},"*":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}}}},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.03526448362720403}}}}}}},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"s":{"docs":{},"o":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}}}}},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}},"o":{"docs":{},"m":{"docs":{},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},":":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}},"g":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"s":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}}}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"i":{"docs":{},"l":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.022222222222222223}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}},"k":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"t":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"w":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":3.3580246913580245},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":3.3379204892966357},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"i":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"frontend/basics.html":{"ref":"frontend/basics.html","tf":10.01}}}}},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"c":{"docs":{},"k":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"d":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"d":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.01694915254237288}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"development.html":{"ref":"development.html","tf":0.015384615384615385}}},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}},"t":{"docs":{},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}}}}}},"s":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"m":{"docs":{},"p":{"docs":{"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218}},"s":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.03},"frontend/browser.html":{"ref":"frontend/browser.html","tf":5.036231884057971}}}}}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}}},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}},"a":{"docs":{},"v":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.006769825918762089}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{},")":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},".":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}},"n":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}},"s":{"docs":{},",":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}}}}}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}},"d":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},")":{"docs":{"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008955223880597015},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":10.008086253369273},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"h":{"docs":{},"a":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"n":{"docs":{},"?":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}},"e":{"docs":{},"x":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},":":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}}}}}}},",":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"a":{"docs":{},"r":{"docs":{"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}},"s":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.011940298507462687}}},"u":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"i":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}},"j":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"development.html":{"ref":"development.html","tf":0.03076923076923077}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},",":{"docs":{"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}}}},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":5.035335689045937},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.016172506738544475},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/coercion.html":{"ref":"ring/coercion.html","tf":5.031413612565445},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.026392961876832845},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02}},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},":":{"docs":{"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625}}}}}},"e":{"docs":{},"!":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.024193548387096774},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0234375}}},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02346041055718475},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},"s":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}}},"d":{"docs":{},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.014134275618374558},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.016722408026755852},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":5.0146627565982405},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}},"r":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}},"o":{"docs":{},"s":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":5.003868471953578},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"i":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"e":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}},"a":{"docs":{},"r":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}}},"u":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"e":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":5.061855670103093},"ring/static.html":{"ref":"ring/static.html","tf":0.018433179723502304},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927}}},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.017857142857143},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}},"j":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.012016021361815754},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}},"x":{"docs":{},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968}},".":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"e":{"docs":{},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}},"o":{"docs":{},"l":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":10.083123425692696}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}},"c":{"docs":{},"i":{"docs":{},"d":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.03},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},",":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}}},")":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"s":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"?":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"d":{"docs":{},"e":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},":":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}},"s":{"docs":{},"t":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.005802707930367505},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"u":{"docs":{},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"s":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}},"s":{"docs":{},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"p":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"l":{"docs":{},"l":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.027707808564231738},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}},"s":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"f":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"c":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"r":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}},"n":{"docs":{},"g":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"development.html":{"ref":"development.html","tf":0.015384615384615385}},"e":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"s":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"!":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}},"d":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"i":{"docs":{},"n":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":3.3479674796747965},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":3.3492695883134127}},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},"s":{"docs":{},".":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}},"o":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"q":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.016877637130801686},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.015463917525773196},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.014506769825918761},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862}}}}}},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}},"t":{"docs":{},"x":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},"}":{"docs":{},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"c":{"docs":{},"]":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":5.034168564920273},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.357213930348258},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":5.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":3.350055741360089},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.010680907877169559},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.3502109704641345},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009307135470527405},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.026785714285714284},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862},"faq.html":{"ref":"faq.html","tf":0.012711864406779662}},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008955223880597015},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"e":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}},"e":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":5.010178117048346}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"development.html":{"ref":"development.html","tf":5.015384615384615}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.01060070671378092},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013089005235602094},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010548523206751054},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"i":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":5.022222222222222},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.011406844106463879},"ring/static.html":{"ref":"ring/static.html","tf":0.03686635944700461},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":5.005340453938585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0062047569803516025},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.020080321285140562},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":5.066666666666666},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"s":{"docs":{},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}},")":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},".":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"s":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"s":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}},"b":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"i":{"docs":{},"r":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}},"g":{"docs":{},"n":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},",":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.00801068090787717},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"i":{"docs":{},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}},"l":{"docs":{},"i":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"f":{"docs":{},"f":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968}},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":5.011494252873563},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.014830508474576272}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}},"s":{"docs":{},")":{"docs":{},":":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}},"d":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":3.3366778149386844},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":5.012903225806451},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.013539651837524178},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"o":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"n":{"docs":{},"e":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}},")":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"'":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.011389521640091117},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009307135470527405},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"s":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}},"}":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"development.html":{"ref":"development.html","tf":0.03076923076923077}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"w":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}},"e":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},"r":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"b":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},"x":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.00801068090787717},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007238883143743537},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.020080321285140562},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.044444444444444446},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"e":{"docs":{},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},":":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"c":{"docs":{},"t":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"s":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":5.019354838709678},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"r":{"docs":{},"n":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"r":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.03017241379310345}}},"s":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":5.001766784452297},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"o":{"docs":{},"s":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"]":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.03871829105473965},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.026785714285714284}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"\"":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941}}}}}}}}},".":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"l":{"docs":{},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"c":{"docs":{},"h":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},",":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},".":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}},"s":{"docs":{},".":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},".":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.02109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"e":{"docs":{},"r":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.011940298507462687},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"s":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},"i":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"'":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"b":{"docs":{},"e":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"y":{"docs":{},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}},"d":{"docs":{},"n":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"e":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"s":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}},"r":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843}}}}}}}}}},"]":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}},"e":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.006211180124223602},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"?":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.004658385093167702}}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}},"i":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.011940298507462687},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.012285012285012284},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"s":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"l":{"docs":{},"s":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"e":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"q":{"docs":{"faq.html":{"ref":"faq.html","tf":10}}}},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"l":{"docs":{},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.03686635944700461},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},":":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}},"s":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"x":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.018867924528301886}},".":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"e":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}},"m":{"docs":{},"e":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}}}},"n":{"docs":{},"k":{"docs":{},"l":{"docs":{},"i":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}},"u":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008955223880597015},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.008680555555555556},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.016722408026755852},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.03},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.0625},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.005802707930367505},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.017811704834605598},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},":":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},".":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"l":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}},"m":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":3.3459119496855343}},"a":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"s":{"docs":{},".":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},"e":{"docs":{},",":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"s":{"docs":{},".":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}},"w":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"l":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"n":{"docs":{},"?":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}},"m":{"docs":{},")":{"docs":{},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.015209125475285171},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.010680907877169559},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.06666666666666667},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"ring/ring.html":{"ref":"ring/ring.html","tf":0.034722222222222224},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":5.04},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":5.0494296577946765},"ring/static.html":{"ref":"ring/static.html","tf":0.041474654377880185},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.02403204272363151},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011780104712041885},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0379746835443038},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.01344364012409514},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"]":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},"]":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},")":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}}}}}},"\"":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}},")":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"]":{"docs":{},"]":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"]":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}},")":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}},"]":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"s":{"docs":{},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"/":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}},",":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"r":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"e":{"docs":{},"r":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"v":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"s":{"docs":{},"h":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921}}}}}},"r":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"'":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},"s":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}},"/":{"1":{"docs":{},".":{"1":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},"docs":{}}},"docs":{}},"i":{"docs":{},"e":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"2":{"0":{"1":{"8":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"r":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"9":{"docs":{},"c":{"docs":{},"s":{"docs":{},"m":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"w":{"docs":{},"h":{"docs":{},"y":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"3":{"0":{"0":{"0":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"m":{"docs":{},"l":{"5":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608}}},"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}},"g":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.03773584905660377}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.043478260869565216}}},"y":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"l":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"c":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"s":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"w":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"i":{"7":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.024734982332155476},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}},"}":{"docs":{},"]":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.004878048780487805}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}},"\"":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.022670025188916875},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},"}":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},")":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"f":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"f":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"a":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"g":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.04},"frontend/browser.html":{"ref":"frontend/browser.html","tf":5.0144927536231885}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":10.064705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.040160642570281124},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.022222222222222223},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":5.222222222222222},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":3.381142098273572},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}},"?":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224}}},",":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},":":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}}}}}}}},"n":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"t":{"docs":{"./":{"ref":"./","tf":10.002439024390243}}}}}}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}}}}}},"?":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}},"}":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"]":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},"e":{"docs":{},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}},"e":{"docs":{},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"l":{"docs":{"development.html":{"ref":"development.html","tf":0.06153846153846154}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"r":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"c":{"docs":{},"t":{"docs":{"development.html":{"ref":"development.html","tf":5.015384615384615}}}}}}},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"i":{"docs":{},"d":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"f":{"docs":{},"o":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"r":{"docs":{},"m":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008955223880597015},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},"s":{"docs":{},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"development.html":{"ref":"development.html","tf":0.015384615384615385}},"e":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"x":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}}},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"i":{"docs":{},"t":{"docs":{},"!":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}},"t":{"docs":{},"'":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}},"?":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"e":{"docs":{},"m":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.010075566750629723}}},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},":":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"a":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"}":{"docs":{},")":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"o":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},".":{"docs":{},"e":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}}}}}},"l":{"2":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"3":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}},"r":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"s":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}}},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}},"r":{"docs":{},"g":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}}},"y":{"docs":{},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}},"s":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}},"f":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"n":{"docs":{},"k":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"v":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/ring.html":{"ref":"ring/ring.html","tf":0.012152777777777778},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"development.html":{"ref":"development.html","tf":0.015384615384615385}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}},"t":{"docs":{},"'":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.007736943907156673},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}},"s":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"f":{"docs":{},"t":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"i":{"docs":{},"n":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}},"o":{"docs":{},"g":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},"i":{"docs":{},"c":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"]":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"o":{"docs":{},"k":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"u":{"docs":{},"p":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},"s":{"docs":{},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"a":{"docs":{},"d":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}},"e":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}},"l":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}}}},"n":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.04938271604938271},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02932551319648094},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.04},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.017632241813602016},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0183752417794971},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.006211180124223602},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"?":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},",":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"s":{"docs":{},".":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395}}},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"?":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"p":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"g":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"u":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}},"k":{"docs":{},"e":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"n":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}},"a":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"p":{"docs":{},"r":{"docs":{},"o":{"1":{"1":{"docs":{},",":{"3":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"y":{"docs":{},"b":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"r":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/ring.html":{"ref":"ring/ring.html","tf":0.029513888888888888},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.04},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":3.40251572327044},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"s":{"docs":{},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"]":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}},"a":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}},"r":{"docs":{},"g":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.006769825918762089}},"e":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"d":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.004658385093167702}},"e":{"docs":{},"?":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"i":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.026041666666666668},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":3.413600891861761},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":3.3723577235772355},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":5.057268722466961},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":5.03871829105474},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.01832460732984293},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.029535864978902954},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":5.035190615835777},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.011375387797311272},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.03773584905660377},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941}}},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"]":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"development.html":{"ref":"development.html","tf":0.046153846153846156},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"i":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"i":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"d":{"docs":{},"?":{"docs":{},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}}}},"e":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"s":{"docs":{},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},",":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}},"r":{"docs":{},"e":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007238883143743537},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{},"\"":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"v":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006675567423230975}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"u":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.014634146341463415},"basics/router.html":{"ref":"basics/router.html","tf":0.03375527426160337},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":3.3792048929663605},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}},"s":{"docs":{},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"e":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"s":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}},"!":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},".":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"}":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"i":{"docs":{},"v":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.017632241813602016}}}}},"n":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.02195121951219512},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.024691358024691357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.011406844106463879},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.008704061895551257},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}},":":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},"}":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},".":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"]":{"docs":{},")":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889}}}}},"}":{"docs":{},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"c":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}},",":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.005802707930367505},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.012572533849129593}},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.007736943907156673},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"development.html":{"ref":"development.html","tf":0.015384615384615385}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.00801068090787717},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.044444444444444446}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"x":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}},"t":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}}}},"h":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"\"":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"i":{"docs":{},"c":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"w":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.022900763358778626}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}},"s":{"1":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}}}},"2":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}}}},"3":{"docs":{},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"p":{"docs":{},"m":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.044642857142857144}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.055299539170506916},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.010341261633919338},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"s":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.02109704641350211}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},":":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}},"m":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"s":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}}},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}},"a":{"docs":{},"q":{"docs":{},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.007763975155279503},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},")":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"n":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},"c":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"e":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"l":{"docs":{},"y":{"docs":{},")":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"e":{"docs":{},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"s":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},"a":{"docs":{},"l":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"f":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}}},"u":{"docs":{},"t":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},":":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"*":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"k":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}},"l":{"docs":{},"d":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.014634146341463415},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.022935779816513763},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.017015706806282723},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.03773584905660377},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.022988505747126436},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.013761467889908258},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.012367491166077738},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.020942408376963352},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.03},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.020151133501259445},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"s":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},".":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"s":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"}":{"docs":{},"}":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"]":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}},",":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"p":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"s":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}},"t":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.04597701149425287},"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":3.4320987654320985},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.030927835051546393},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0176678445229682},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.022243713733075435},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"performance.html":{"ref":"performance.html","tf":0.009316770186335404},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"s":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152}}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"]":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"c":{"docs":{},"h":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}},"g":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"s":{"docs":{},"s":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":10.040160642570282},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"faq.html":{"ref":"faq.html","tf":0.01694915254237288}},"a":{"docs":{},"l":{"docs":{},"'":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},"]":{"docs":{},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},":":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"?":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}},"r":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.010869565217391304}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":10.006211180124224},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}},"l":{"docs":{},"u":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"g":{"docs":{},"g":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":5.016129032258065},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}},"c":{"docs":{},"e":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"r":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"l":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"d":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}},"s":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"y":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.011940298507462687}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}},"c":{"docs":{},"i":{"docs":{},"s":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}}},"m":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}},"i":{"docs":{},"o":{"docs":{},"u":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"e":{"docs":{},"w":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}}},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}},"e":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}}},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},"s":{"docs":{},".":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"s":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}},"d":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}},"u":{"docs":{},"c":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},".":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},".":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}},"o":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"e":{"docs":{},"r":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},"!":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"s":{"docs":{},"h":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}},"s":{"docs":{},"h":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},"l":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"o":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"s":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"?":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"e":{"docs":{},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"k":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669}}}},"z":{"docs":{},"z":{"docs":{},"a":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046}},"]":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"e":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.041463414634146344},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.028112449799196786},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.010869565217391304},"faq.html":{"ref":"faq.html","tf":0.05084745762711865}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}},":":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"!":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"e":{"docs":{},"p":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"c":{"docs":{},"r":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}}},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"/":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"$":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"@":{"5":{"9":{"docs":{},"f":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"/":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.08888888888888889}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}},"y":{"docs":{},":":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}}}},"q":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.012903225806451613},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.024390243902439025},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.025367156208277702},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.010471204188481676},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0062047569803516025},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.0440251572327044},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.044444444444444446},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047}},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},"}":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"]":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"}":{"docs":{},"]":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},",":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"e":{"docs":{},"d":{"docs":{},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},":":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"v":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":5.050691244239632},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.010075566750629723}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.020026702269692925},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.04398826979472141},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282}}},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},":":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}},"]":{"docs":{},"}":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"d":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"s":{"docs":{},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":3.3459119496855343},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"e":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":5.015625},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805}}}}}},")":{"docs":{},"}":{"docs":{},")":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.024691358024691357},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},",":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}}}}},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"v":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}},"i":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"e":{"docs":{},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"l":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"y":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.020066889632107024},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"s":{"docs":{},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"g":{"docs":{},"n":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"g":{"docs":{},"e":{"docs":{},"x":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":5.022026431718062},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"y":{"docs":{},",":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},":":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}},"?":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}},"p":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"a":{"docs":{},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"`":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.011406844106463879}}}}}}}},"l":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}},"e":{"docs":{},"v":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}}},"a":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"u":{"docs":{},"s":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"e":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.012195121951219513},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":5.022569444444445},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0234375},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":5.00261780104712},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.022222222222222223},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},",":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}}}},":":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},"/":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.02195121951219512},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":5.057471264367816},"basics/router.html":{"ref":"basics/router.html","tf":0.0759493670886076},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":3.3703703703703702},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":3.356269113149847},"basics/route_data.html":{"ref":"basics/route_data.html","tf":5.063781321184511},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.369154228855721},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":5.061855670103093},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.019434628975265017},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":5.015625},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.3502109704641345},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.03519061583577713},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.01964839710444674},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.024096385542168676},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.028985507246376812},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.030226700251889168},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.037717601547388784},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.04597701149425287},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":5.031941031941032},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.04834605597964377},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":5.0344827586206895},"performance.html":{"ref":"performance.html","tf":0.04503105590062112},"faq.html":{"ref":"faq.html","tf":0.07627118644067797}},"e":{"docs":{},"r":{"2":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"docs":{"./":{"ref":"./","tf":0.03414634146341464},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/router.html":{"ref":"basics/router.html","tf":10.050632911392405},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.04938271604938271},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.029612756264236904},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008955223880597015},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.041237113402061855},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.015901060070671377},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":5.013888888888889},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.028985507246376812},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.035714285714286},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":5.0638297872340425},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":5.1321839080459775},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.027989821882951654},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414},"performance.html":{"ref":"performance.html","tf":0.009316770186335404},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},")":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/router.html":{"ref":"basics/router.html","tf":0.02531645569620253},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},":":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"s":{"docs":{},".":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}}},"?":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},"?":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"!":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"}":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},")":{"docs":{},")":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}},"s":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436}}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},":":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.014742014742014743}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},".":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},")":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}},"?":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}},"o":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"l":{"docs":{},"e":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},":":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"a":{"docs":{},"w":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}},"c":{"docs":{},"k":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}},"l":{"docs":{},"s":{"docs":{},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"d":{"docs":{},"i":{"docs":{},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"s":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.014925373134328358}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"}":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"u":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"development.html":{"ref":"development.html","tf":0.015384615384615385}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"l":{"docs":{},"e":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}},"b":{"docs":{},"y":{"docs":{},"'":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}},"]":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"s":{"docs":{},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843}}}}}}}},"]":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"f":{"docs":{},"c":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"e":{"docs":{},"]":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":5.016129032258065},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"y":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"]":{"docs":{},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},"s":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}},"r":{"docs":{},"v":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.03686635944700461},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"development.html":{"ref":"development.html","tf":0.015384615384615385}},"e":{"docs":{},"r":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},"]":{"docs":{},")":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"d":{"docs":{},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"i":{"docs":{},"e":{"docs":{},"p":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":10.027777777777779}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}},".":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}},":":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"e":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}},"d":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}},"t":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"z":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}},"s":{"docs":{},"h":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":5.0418250950570345},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},",":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}},".":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.004658385093167702}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"s":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.03582089552238806},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.029649595687331536},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":5.015625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016877637130801686},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.014477766287487074},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.012285012285012284},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}},"s":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}},")":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}},"?":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825}}},"]":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"i":{"docs":{},"f":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"i":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"l":{"docs":{},"l":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343}}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}},"s":{"docs":{},"i":{"docs":{},"f":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}},"e":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"a":{"docs":{},"n":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.017632241813602016},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"\"":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},")":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{},"}":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":5.018433179723503},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"u":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}},"s":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"e":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"c":{"docs":{},"k":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}},"y":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"o":{"docs":{},"p":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.012594458438287154}},"\"":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"r":{"docs":{},"e":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406}}}}},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"s":{"docs":{},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.009174311926605505}}},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395}}}},"?":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},",":{"docs":{"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"p":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843}}}}}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"]":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"e":{"docs":{},"p":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"s":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"]":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00975609756097561},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.004136504653568},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.014830508474576272}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},":":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"b":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}},"i":{"docs":{},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}},"n":{"docs":{},".":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.056876938986556},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":5.007662835249042},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},",":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"c":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},".":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"p":{"docs":{},"l":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}},"f":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"!":{"docs":{},"?":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"v":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":5.012931034482759}}}},"p":{"docs":{},"e":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"i":{"docs":{},"p":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}},"n":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838}},"}":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"}":{"docs":{},"]":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}},")":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"s":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"n":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}},"o":{"docs":{},"r":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"*":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}},"u":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}},"h":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"e":{"docs":{},"\"":{"docs":{},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"q":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}},"l":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}},"c":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}},"e":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},",":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}}}}}}}}}}},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}},".":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},")":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"k":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"d":{"docs":{},"o":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}}}}}}}}},":":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"e":{"docs":{},"e":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.012658227848101266},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.012658227848101266},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"s":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},")":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":3.3430894308943087},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":3.3492695883134127}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238}}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"i":{"docs":{},"l":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.04182509505703422},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}},"c":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"v":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"e":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"s":{"docs":{},"t":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"performance.html":{"ref":"performance.html","tf":0.020186335403726708},"development.html":{"ref":"development.html","tf":0.03076923076923077}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"?":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},"'":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"n":{"docs":{},"k":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}},"/":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"e":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"e":{"docs":{},"m":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}},"e":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"n":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"s":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341}}}}}}},"s":{"docs":{},":":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259}}},")":{"docs":{},":":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"u":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"p":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"w":{"docs":{},"o":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"/":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0088339222614841},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/static.html":{"ref":"ring/static.html","tf":0.009216589861751152},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"b":{"docs":{},"l":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},".":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.020682523267838676}},".":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}}}}}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024}}}}},"s":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.008955223880597015},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.008086253369272238},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.010033444816053512},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.009345794392523364},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.029411764705882353},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.03},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.010075566750629723},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.03879310344827586},"performance.html":{"ref":"performance.html","tf":0.007763975155279503},"development.html":{"ref":"development.html","tf":0.015384615384615385},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},"e":{"docs":{},"r":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.008438818565400843},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145}}}}}}},"d":{"docs":{},".":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}},":":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"a":{"docs":{},"g":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/ring.html":{"ref":"ring/ring.html","tf":0.008680555555555556},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}},"l":{"docs":{},"i":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}},"p":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}},".":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}},"r":{"docs":{},"l":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.021739130434782608},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"i":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"/":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"]":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"development.html":{"ref":"development.html","tf":0.03076923076923077}},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"development.html":{"ref":"development.html","tf":0.015384615384615385}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.36318407960199},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.3459915611814344},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.022988505747126436},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":5.002457002457002}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},",":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}}}}},"u":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"e":{"docs":{},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}},"s":{"docs":{},".":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},")":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}}}}},"]":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}}},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"i":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"i":{"docs":{},"a":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004219409282700422},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.017857142857142856},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"e":{"docs":{},"w":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.00530035335689046},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"s":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}}}}},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"2":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"3":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.02109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.012578616352201259},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"}":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"performance.html":{"ref":"performance.html","tf":0.006211180124223602},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0076045627376425855},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.014492753623188406},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}},"i":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}}}}},"a":{"docs":{},"y":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"l":{"docs":{},"k":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"e":{"docs":{},"r":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}}},"r":{"docs":{},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"n":{"docs":{},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}},"y":{"docs":{},"?":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"v":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"e":{"docs":{},"b":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"e":{"docs":{},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"l":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"d":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}},"'":{"docs":{},"l":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"r":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028}}}}},"s":{"docs":{},"g":{"docs":{},"i":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928}}}}},"r":{"docs":{},"k":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"development.html":{"ref":"development.html","tf":0.015384615384615385},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},":":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}},"s":{"docs":{},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":5.002544529262087}}}}}},"l":{"docs":{},"f":{"docs":{},"o":{"docs":{},"w":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}}}}},"l":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},"w":{"docs":{},"w":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}},"{":{"2":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}},"docs":{}},"docs":{}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.00683371298405467},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008438818565400843},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.011375387797311272},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0024390243902439024},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.01791044776119403},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0189873417721519},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}}}}}},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047}},"d":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.027522935779816515},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.022988505747126436},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.011389521640091117},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.012048192771084338},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.02390438247011952}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"s":{"docs":{},"o":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.007317073170731708},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011494252873563218},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/ring.html":{"ref":"ring/ring.html","tf":0.010416666666666666},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.02926829268292683},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.01762114537444934},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010548523206751054},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.011406844106463879}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}}}},"u":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.012195121951219513},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"basics/router.html":{"ref":"basics/router.html","tf":0.03375527426160337},"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.01834862385321101},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01366742596810934},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.012367491166077738},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.016129032258064516},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.015625},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.027079303675048357},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}}},"o":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.0044444444444444444}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.035555555555555556},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.014634146341463415},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005170630816959669},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"ring/ring.html":{"ref":"ring/ring.html","tf":0.015625},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0234375},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.06222222222222222},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.057034220532319393},"ring/static.html":{"ref":"ring/static.html","tf":0.013824884792626729},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.03225806451612903},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.01951219512195122},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.013215859030837005},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.010471204188481676},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010548523206751054},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009307135470527405},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.01764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.016666666666666666},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}}}}}}}},"k":{"docs":{},"u":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.013477088948787063}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008273009307135471}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.007662835249042145},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0176678445229682},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.01078167115902965},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"z":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.014925373134328358},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.006329113924050633}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}}}},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.022968197879858657},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.03225806451612903},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.03125}}}}},"i":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125}}}}}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}},"r":{"docs":{},"i":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.078125},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.034220532319391636},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004005340453938585}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}},"a":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},":":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.00975609756097561}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}},"b":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.022026431718061675}}}},"d":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004136504653567736}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}},"z":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0189873417721519}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.004878048780487805},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"}":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}},"*":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"}":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},".":{"docs":{},"p":{"docs":{},"d":{"docs":{},"f":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},".":{"docs":{},"p":{"docs":{},"d":{"docs":{},"f":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},".":{"docs":{},"p":{"docs":{},"d":{"docs":{},"f":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}}}}}}}}},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.019011406844106463}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}},"x":{"docs":{},"\"":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047}}}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}},";":{"docs":{},";":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428}}}}}}},"/":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},"%":{"2":{"0":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}},"docs":{}},"docs":{}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}}}}}},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},":":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"l":{"docs":{},"k":{"docs":{},"/":{"docs":{},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"l":{"docs":{},"k":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927}}}}}}}}}}},"a":{"docs":{},"z":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},":":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"i":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"a":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.005154639175257732}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"*":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.020618556701030927}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"o":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"u":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}}},"\\":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}},"\"":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"\\":{"docs":{},"\"":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"b":{"docs":{},"a":{"docs":{},"\\":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}}}}}}}}},"g":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}}},"t":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.015113350125944584},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717}},"n":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"development.html":{"ref":"development.html","tf":0.046153846153846156}},".":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}}}}}},"o":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"o":{"docs":{},"d":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},":":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}},"a":{"docs":{},"l":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"e":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.01935483870967742},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}},"m":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},"q":{"docs":{},"l":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00847457627118644}}}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}},"h":{"docs":{},"z":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.011940298507462687},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.008680555555555556},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.012016021361815754},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0062047569803516025},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.008928571428571428},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/ring.html":{"ref":"ring/ring.html","tf":0.005208333333333333},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.01762114537444934},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"?":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}},"s":{"docs":{},".":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}},",":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},"e":{"docs":{},"t":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.0031023784901758012}}}},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},",":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},"e":{"docs":{},"p":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}}}},"u":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}},"n":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.01293103448275862}},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008620689655172414}}}},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"]":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}},"}":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.015625},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}},"y":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},"}":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}}}}}}}}}}},":":{"docs":{},"=":{"2":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"docs":{}}},"]":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}}},"e":{"docs":{},"t":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"^":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}}}}}}}}},"^":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"^":{"docs":{},"^":{"docs":{},"^":{"docs":{},"^":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.004555808656036446}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.007067137809187279},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258}}}}}}}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.013477088948787063}}}},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}},"y":{"docs":{},")":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.007246376811594203}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}}},"y":{"docs":{},"(":{"9":{"docs":{},".":{"2":{"docs":{},".":{"2":{"1":{"docs":{},".":{"docs":{},"v":{"2":{"0":{"1":{"7":{"0":{"1":{"2":{"0":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0026702269692923898}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}}}}}},"v":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0029850746268656717},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001034126163391934},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},")":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}},"]":{"docs":{},")":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{},"c":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004310344827586207}}}}}},"/":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{"development.html":{"ref":"development.html","tf":0.046153846153846156}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"development.html":{"ref":"development.html","tf":0.015384615384615385}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"development.html":{"ref":"development.html","tf":0.03076923076923077}}}}}}}}}}}}}}}}}}},"=":{"docs":{},">":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.005970149253731343},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010309278350515464},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"coercion/schema_coercion.html":{"ref":"coercion/schema_coercion.html","tf":0.008064516129032258},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"coercion/data_spec_coercion.html":{"ref":"coercion/data_spec_coercion.html","tf":0.0078125},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.013377926421404682},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0053404539385847796},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.0625}}}},"%":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}},")":{"docs":{},")":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.002109704641350211}}}}}}},"+":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.00881057268722467},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"|":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.022026431718061675}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002068252326783868}},":":{"docs":{},"=":{"1":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"docs":{}}},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}}}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013351134846461949}}},"?":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}}}}}}}}}}}},"`":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"`":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}},"@":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}}},"!":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257}}},")":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}}}}},"µ":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}},"length":7309},"corpusTokens":["!","\"","\"\",","\"\".","\"\"}","\"\"})","\"\"})))","\"\"})]","\"\"})])))","\"\"})]])","\"(constrain","\"(not","\"/\"","\"/\"))","\"/\")))","\"/\"))))","\"/\"))]","\"/\"}","\"/\"})","\"/*\",","\"/:company/users/:us","\"/all\"})","\"/api","\"/api\"","\"/api\",","\"/api/admin/db\"})","\"/api/admin/ping\",","\"/api/admin/ping\"})","\"/api/admin/users\"})","\"/api/bonus\"})","\"/api/get\"})","\"/api/internal/users\"})","\"/api/ipa\")","\"/api/ns2/more/bar\")","\"/api/ns2/more/bar\",","\"/api/ns2/more/bar\"}","\"/api/number\"})","\"/api/orders/1\")","\"/api/orders/1\"}","\"/api/orders/2\"}","\"/api/orders/:id\"","\"/api/orders/:id\",","\"/api/ping\"","\"/api/ping\")","\"/api/ping\"}","\"/api/ping\"})","\"/api/plus/3\"","\"/api/pong\"","\"/api/user/1\"","\"/api/user/1\")","\"/api/user/1?iso=m%c3%b6ly\"","\"/api/user/:id\"","\"/api/user/:id\",","\"/assets/*\".","\"/auth/login\")))","\"/avaruus\"","\"/avaruus\"}]","\"/beers/lager\")","\"/beers/sahti\")","\"/beers/saison\")","\"/dynamic\"","\"/dynamic/duo\"","\"/dynamic/duo\")","\"/fail\"","\"/fail\"})","\"/fail\"}}","\"/favicon.ico\"})","\"/gin/napue\")","\"/hello\")","\"/invalid\"})","\"/kerran/*\"","\"/kerran/avaruus\"}","\"/kikka\"","\"/kikka\"}","\"/kikka\"})","\"/metosin/users/123\")","\"/metosin/users/123\"))","\"/metosin/users/123\"}","\"/metosin/users/ikitommi\")","\"/metosin/users/ikitommi\"))","\"/olipa/*\"","\"/olipa/iso/kala\"}","\"/olipa/kerran/avaruus\")","\"/olipa/kerran/avaruus\"}","\"/olipa/kerran/iso/kala\")","\"/one","\"/one/ping\"","\"/one/swagger.json\"}","\"/ping\"","\"/ping\")","\"/ping\"}","\"/ping\"})","\"/ping\"})))","\"/ping\"},","\"/ping/\"})","\"/plus\"","\"/pong\"})","\"/pong/\"},","\"/swagger.json\"","\"/swagger.json\"})","\"/two/deep/ping\")","\"/two/ping\"","\"/two/ping\")","\"/two/swagger.json\"}","\"/users\"})","\"/users/0?iso=m%c3%b6ly\"}","\"/users/1?iso=m%c3%b6ly\"}","\"/users/2?iso=m%c3%b6ly\"}","\"/users/3?iso=m%c3%b6ly\"}","\"/users/4?iso=m%c3%b6ly\"}","\"/users/5?iso=m%c3%b6ly\"}","\"/users/6?iso=m%c3%b6ly\"}","\"/users/7?iso=m%c3%b6ly\"}","\"/users/8?iso=m%c3%b6ly\"}","\"/users/9?iso=m%c3%b6ly\"})}","\"/users/:id\"","\"/vodka/russian\")","\"/workspace/1/1\")))","\"0.3.1\"]","\"0.4.0\"]","\"0.5.5\"]","\"1\",","\"1\"}","\"1\"})","\"1\"}}","\"1.0.0\"","\"123\"","\"123\"},","\"123\"}]","\"123\"}]}","\"2.0\"","\"_method\"","\"_method\"])","\"_method\"]))))","\"abba\"}","\"abba\"},","\"any\"","\"any\"},","\"avaruus\"}","\"bar\"})","\"beer\"","\"bock\"])","\"default\"","\"default\")","\"delete\"","\"download","\"duo\"","\"enter","\"error\"","\"error\")","\"exception\"","\"exception\")","\"fail\"","\"fail\")))]","\"fail\"}","\"fail\"}})","\"forbidden\"}","\"forc","\"get\"","\"get\"})","\"goto","\"identity\"","\"identity\",","\"identity\"},","\"identity\"}]","\"identity\"}])","\"identity\"}}})},","\"ikitommi\"))}}","\"image/png\"}","\"index.html\")])","\"int\",","\"item","\"java.lang.exception\"}}","\"kerran/avaruus\"}","\"kerran/iso/kala\"}","\"kikka\"}]","\"kosh\"}","\"kosh\"})","\"kosh\"})})))","\"kukka\"})}}]]","\"leav","\"look","\"mation\"}]","\"metosin\",","\"mi","\"middlewar","\"much\"","\"möly\"}))","\"möly\"}))})})}]","\"negoti","\"ok\",","\"ok\"}","\"ok\"})","\"ok\"}))","\"ok\"})])","\"patch\"","\"ping\"})}]","\"ping\"})}])","\"plu","\"pong\"}","\"pong\"}))","\"pong\"})]","\"pong\"})])","\"pong\"})}]","\"pong\"})}]]","\"post\"","\"post\"}","\"post\"})","\"reitit.png\"))})}}]]","\"root","\"sahti\"","\"server","\"sql","\"swagger","\"tenant1\"","\"text/xml\"}","\"too\"}]}","\"total\":","\"upload","\"user...\"})}]])))","\"y\"","#","#'app","#'reitit.core/rout","#(interleav","#(r/router","#(respond","#(slurp","#.","#:clojure.spec.alpha{:problem","#?(:clj","#?@(:clj","#coercionerror{:schema","#endpoint{...}","#endpoint{...}}","#endpoint{:data","#interceptor","#match{:templ","#methods{...}","#methods{:get","#object[...]","#object[...]}","#object[...]}}","#object[reitit.coercion$request_coercer$]},","#object[reitit.core$...]","#object[reitit.core$linear_router$reify]","#object[reitit.core$lookup_router]}","#object[reitit.core$mixed_router]}","#object[user$handler]}","#object[user$reify__24359]}]]","#partialmatch{:templ","#reitit","#reitit.core.match{:templ","#{::one","#{:admin","#{:adminz}}]","#{:admin}","#{:admin}}","#{:admin}})","#{:admin}}}]]","#{:admin}}}]]]","#{:db","#{:id}","#{:id}}","#{:manager}","#{:manager}}","#{:public","#{:reitit.swagger/default}","#{:session}","#{:user}","#{route}}","#{}))","%","%)","%))","%))))","&","'())","'[clojure.set","'[clojure.spec.alpha","'[clojure.spec.test.alpha","'[clojure.str","'[compojure.cor","'[criterium.cor","'[expound.alpha","'[io.pedestal.http","'[ns1])","'[ns2])","'[reitit.coercion","'[reitit.coercion.schema])","'[reitit.coercion.spec","'[reitit.coercion.spec])","'[reitit.cor","'[reitit.dev.pretti","'[reitit.http","'[reitit.interceptor.sieppari","'[reitit.middlewar","'[reitit.pedest","'[reitit.r","'[reitit.ring.coercion","'[reitit.ring.middleware.except","'[reitit.ring.middleware.multipart","'[reitit.ring.middleware.muuntaja","'[reitit.ring.spec","'[reitit.spec","'[reitit.spec])","'[reitit.swagg","'[ring.adapter.jetti","'[schema.cor","'[spec","'add","'em","'get","'positiveint))","(","(\"/common/ping\"","(#reitit.spec.problem{:path","()","(*","(*path).","(+","(.back","(.getclass","(.go","(30x","(404","(:api","(:control","(:get,","(:id)","(:reitit.coercion/request","(:request","(:requir","(:tags,","(:templat","(:uri","(=","(?","([\"/api\"","([\"/get","([...","([request","([request]","(a","(actually,","(add","(affect","(all","(also","(and","(app","(appli","(assoc","(ataraxy,","(atom","(blank?","(case","(cat","(cc/quick","(clojur","(clojure)","(clojure.core/fn","(clojure.core/or","(clojure.spec),","(clojure.spec.alpha/*","(clojure.spec.alpha/?","(clojure.spec.alpha/and","(clojure.spec.alpha/cat","(clojure.spec.alpha/col","(clojure.spec.alpha/nil","(clojure.spec.alpha/or","(clojure.string/blank?","(clojure.string/start","(coerc","(coercion","(coercion,","(coercion/coerc","(coercion/coerce!","(coercion/respons","(comp","(compiled)","(con","(conj","(constantli","(context","(context)","(core","(core.clj:4739)","(cqr","(creat","(current","(data)","(declar","(def","(default","(default:","(defn","(defonc","(defprotocol","(defrout","(deref","(deriv","(done","(dotim","(e.g.","(ex","(exception.","(exception/cr","(expand","(expound/custom","(extend","(fn","(fnil","(for","(futur","(get","(handler","(hidden","(http","(http/ring","(http/router","(human","(if","(in","(index.html).","(integer?","(interceptor","(interceptor/transform","(into","(io/input","(io/resourc","(java.io.file.","(jetty/run","(js/console.log","(json,","(keyword","(keyword?","(legaci","(let","(like","(list","(map","(mapv","(match","(matches,","(mayb","(merg","(mi","(micro","(middleware/cr","(n","(name","(nested)","(nilabl","(no","(non","(not","(note:","(ns1/routes)]])","(ns2/routes)]","(of","(ok","(onli","(option","(optional)","(or","(partial","(pedestal/replac","(pedestal/rout","(per","(pioneer","(positiveint","(pr","(printer","(println","(promise)]","(r/compil","(r/expand","(r/match","(r/option","(r/partial","(r/path","(r/rout","(r/router","(rand","(rang","(real","(records,","(recurs","(reifi","(reitit","(reitit.ring/cr","(reitit.ring/r","(reitit.ring/rout","(repeat","(request","(requir","(reset","(reset!","(respons","(reverse)","(rfc/appli","(rfe/start!","(ring/creat","(ring/get","(ring/r","(ring/redirect","(ring/rout","(rout","(router","(router)","(routes)))","(routes))))","(s/coll","(s/constrain","(s/def","(s/explain","(s/key","(s/merg","(s/valid?","(schema","(see","(select","(seq","(server/cr","(server/default","(server/dev","(server/start))","(set!","(set/subset?","(simple)","(some","(st/coerc","(start","(static","(stest/instru","(str","(str/last","(sub","(swagger","(swagger/cr","(swap!","(throw","(uncom","(updat","(via","(when","(whether)","(wildcard","(with","(without","(wrap","({:path","({:uri",")benchmark","+","...","...)","...,","...])","./scripts/lein","./scripts/set","./scripts/test.sh",".cljc","/","/:this/should/:fail","/:user","/:version/statu","/admin/p","/api","/api/command/add","/api/user/:id:","/baz/:id/:subid","/beers/sahti","/beers/saison","/bulk/:bulk","/ciders/weston","/dynamic/duo","/examples/r","/foo","/foo%20bar.","/gin/napu","/item/someth","/item/something,","/ping","/public/*path","/saison","/swagger.json","0)","0..n","0.3.0,","03","08","1","1)","1)]}","10)]","100","100)))]))))","100)]","1000","1000)","1000):","1000]","10]}})))","10}})","11","110x","111}}","115","12000n","123}]}","123}}","130n","16","16:59:54","16:59:58","18","1]","1]}}","1}","1})","2","2\"}})","2)","2)]}","2,5","20","200","200,","20000n","2018","20]]}","2116","22","2251","23ns.","256","2]]}","2})","2},","2}})","3","3)","3)]","3.2","30","300","3000","3000\"))","3000,","308,","30}}","312m","3]]","3]}}","4","4)","400","400)","400,","403,","404,","405,","406,","40n","440n","5)","50%","50+","500","500)}))","500,","500x","6","6))\"},","600n","6},","6}}","8","8.7m","80n",":",":123}]",":3000/math",":3000/xml","::acc","::admin]","::admin}]","::api","::api],","::bar","::bar])","::bar]]","::bar]])","::bar]]))","::baz]]))","::coerc","::compani","::db]","::db]]","::db]}","::db}]","::default","::descript","::error","::except","::exception)","::exception/default","::exception/wrap","::fail]])","::failue})))]","::failur","::foo]","::horror","::ipa)","::kikka","::kikka)","::kikka]","::mi","::mw/coerc","::one","::one}}","::order","::path","::photo","::photos]))","::ping","::ping)","::ping))","::ping]","::ping]]","::ping]])","::ping}","::ping}]","::ping}]]","::plu","::plus)","::pong]]","::pong]]))","::pong}]]","::r/match)","::r/router","::role","::roles)]","::route1])","::route2])","::route3])))","::rs/default","::rs/explain","::rs/respons","::rs/wrap","::server/join?","::server/port","::server/rout","::sku","::spec/raw","::swagger]","::swagger}]","::tenant1])","::timeout))","::two","::two}}","::two}}}","::user","::user)","::user))","::user]])","::user]]))","::users]","::users]]","::users]])","::users]]))","::users}","::wrap","::wrap2","::wrap3","::zone",":a",":add})",":add})))",":admin",":admin]]}",":admin}",":api",":api)]}",":api]]",":api]]}",":append,",":arg",":auth/login]",":auth/recovery]",":avaruus]",":avaruus}",":basepath",":basepath)",":beer",":beer/bock}]",":beer/lager}]",":beer/sahti}]",":bodi",":body,",":body.",":body]}}",":body}",":bonu",":bonus10",":cache,",":child",":ciders]",":ciders}]",":class",":clojure.spec.alpha/spec",":clojure.spec.alpha/valu",":coerc",":coercion",":coercion)",":command",":compil",":compile.",":config",":conflict",":consum",":control",":data",":data))))",":data:",":db",":db]]",":debug",":debug)))})",":debug]))})))",":debug]}}",":delet",":delete,",":delete]]",":descript",":dev",":displac",":duo",":duo)))",":duo55]",":duo71]",":dynam",":dynamic,",":error",":etag,",":except",":executor",":expand",":figwheel",":form",":form,",":get",":get)]",":get,",":get})",":gzip",":handler",":handler)})",":handler]}",":head,",":header",":here",":id",":id)))",":id))))}",":id)))}]}]",":id]))",":id].",":ihminen]])}]])}]]))",":in",":index",":infor",":inject",":interceptor",":intern",":internal}",":internal})",":into",":jetti",":join?",":kerran",":lager]",":lager]])))",":last",":leav",":let",":linear",":loader",":lookup",":makkara]",":manager})",":message]",":method",":middlewar",":mix",":multipart",":multipart]",":multipart}",":muuntaja",":muuntaja/decod",":muuntaja/request",":muuntaja/respons",":name",":name)))",":napue]",":napue}]",":no",":not",":ns1/bar",":ns1/bar},",":number\"]",":number]",":ok]}",":olipa",":olut]",":option",":options,",":opts)]",":page",":paramet",":parameters.",":parameters}]",":patch,",":path",":path.",":path]",":photo",":photo/id",":ping",":ping)]",":ping]",":post",":post)]]",":post,",":pred",":prepend,",":print",":problem",":problems))",":produc",":produces,",":provides.",":public",":public}",":put",":put,",":quarantin",":queri",":query,",":query}",":refer",":reitit.coercion/request",":reitit.coercion/respons",":reitit.core/match",":reitit.core/rout",":reitit.interceptor/transform",":reitit.middleware/registri",":reitit.middleware/transform",":reitit.ring/default",":reitit.ring/respons",":reitit.ring/response,",":reitit.spec/arg)",":reitit.spec/default",":reitit.spec/handl",":reitit.spec/handler],",":reitit.spec/path",":reitit.spec/path:",":reitit.spec/raw",":reitit.spec/wrap",":replac",":req",":request",":requir",":respons",":responses)",":result",":role",":root",":rout",":router",":router)]",":saison]",":saison]])",":schema,",":scope",":secure]]}",":segment",":singl",":sku",":sku/id",":spec",":start",":stop",":strip})))",":summari",":summary,",":swagger",":tag",":token]",":top]]}))",":trace).",":trie",":type",":uri",":url",":user",":user/bar}]",":user/bar}]]",":user/baz}]]",":user/db}]",":user/failue}",":user/foo}]",":user/kikka}",":user/ord",":user/ping}",":user/ping}]",":user/route1}]",":user/route2}]",":user/route3}]]",":user/tenant1",":user/tenant1]",":user/us",":user/user]",":user/users}]",":user/user}",":user/user},",":user/user}]]",":val",":valid",":valu",":via",":workspace/page]])",":workspace/page]]))",":workspace/page]]]]])",":wrap",":wrap.",":x",":x)",":y",":y)",":z))]",":zone",":zone)]",";",";#match{:templ",";#reitit.core.match{:templ",";:reitit.core/p",";;",";=>",";[\"/bar\"",";[#reitit.core.match{:templ",";[:beer/sahti]",";[[\"/foo\"",";[[\"/gin/napue\"",";[[\"/ping\"",";[[\"/route1\"",";avail",";compilerexcept",";enter",";leav",";the",";{:lookup",";{:statu",";|","=>",">",">>",">edn",">path",">path))",">path,",">path:","?","?intomiddleware.","@router","@router)","[\"\"","[\"/\"","[\"/*\"","[\"/:company/users/:us","[\"/:user","[\"/:version/status\"]])","[\"/add","[\"/admin\"","[\"/admin/db\"","[\"/admin/ping\"","[\"/api","[\"/api\"","[\"/api/:users\"","[\"/api/:version/ping\"]]","[\"/api/admin/db\"","[\"/api/admin/users\"","[\"/api/internal/users\"","[\"/api/orders/:id\"","[\"/api/ping\"","[\"/api/pong\"","[\"/api/user/:id\"","[\"/assets/*\"","[\"/auth/recovery/token/:token\"","[\"/bar\"","[\"/bar/:id\"","[\"/baz/:id/:subid\"","[\"/beers\"","[\"/beers/*\"","[\"/beers/bock\"","[\"/beers/lager\"","[\"/beers/sahti\"","[\"/bonus\"","[\"/bulk/:bulk","[\"/ciders/*\"","[\"/db\"","[\"/deep\"","[\"/download\"","[\"/duo\"","[\"/dynamic/*\"","[\"/fail\"","[\"/files\"","[\"/files/fil","[\"/files/{name}.{extension}\"]","[\"/get\"","[\"/ihminen\"","[\"/internal\"","[\"/item/:id\"","[\"/kerran/*\"","[\"/kikka\"","[\"/makkara\"","[\"/math\"","[\"/more\"","[\"/ns2\"","[\"/number\"","[\"/olipa/*\"","[\"/one","[\"/one\"","[\"/ping\"","[\"/ping\"]","[\"/pizza\"","[\"/plus\"","[\"/plus/:z\"","[\"/pong\"","[\"/pong\"]]","[\"/pong/\"","[\"/public\"","[\"/public/*path\"]","[\"/public/{*path}\"]","[\"/route1\"","[\"/route2\"","[\"/route3\"","[\"/swagger.json\"","[\"/two\"","[\"/upload\"","[\"/user/:id\"","[\"/user/:us","[\"/user/{us","[\"/users\"","[\"/users/:id\"","[\"/workspace/:project","[\"/workspace/:project/:page\"","[\"/xml\"","[\"events.{target}.{type}\"]]","[\"files\"]}}","[\"image/png\"]}","[\"lager\"","[\"math\"]}}","[\"pong\"]]])","[\"tenant1\"","[\"workspace/\"","[#(wrap","[%]","[&","[(exception/cr","[(i","[(interceptor","[(str","[...","[0]","[1","[1]","[3","[::acc]}]","[::admin],","[::admin]}","[::api","[::api]","[::api]}","[::compani","[::db]","[::description]))","[::mw/coerc","[::r/router]}]","[::roles]","[::session","[::session]}}))","[::sku","[::zone])","[:api","[:beer","[:bonu","[:bonus10]","[:command","[:dynam","[:form","[:get","[:handler]","[:handler],","[:handler]}),","[:id]}","[:message])})","[:multipart","[:napue]","[:number])})}}]])","[:olipa","[:paramet","[:path","[:photo/id]))","[:post","[:reitit.spec/default","[:request","[:respons","[:rout","[:routes]","[:sku/id]))","[:swagger","[:top","[:user/p","[;;","[[\"\"","[[\"/:this/should/:fail\"","[[\"/admin/ping\"","[[\"/all\"","[[\"/api\"","[[\"/api/:version\"]","[[\"/api/admin\"","[[\"/api/ping\"","[[\"/api/public/ping\"","[[\"/api/{version}\"]","[[\"/auth/login\"","[[\"/avaruus\"","[[\"/baz/:id/:subid\"","[[\"/common\"","[[\"/files/fil","[[\"/foo\"","[[\"/gin/napue\"","[[\"/kikka\"","[[\"/lager\"","[[\"/math\"","[[\"/olut\"","[[\"/ping\"","[[\"/ping\"]","[[\"/saison\"","[[\"/swagger.json\"","[[\"/users\"","[[\"/users/:us","[[\"/users/{us","[[\"auth/login\"","[[\"auth/recovery/token/\"","[[\"broker.{customer}.{device}.{*data}\"]","[[#object[user$wrap]","[[:bonu","[[:queri","[[[:project","[[mw","[[type","[[wrap","[[wrap3","[\\\"index.html\\\"]","[]","[])","[]))","[]}","[]}}]]","[_","[_]","[actions]","[add","[admin","[app","[beer","[beers]","[bonus]}]","[clojure.java.io","[coercer","[coercion","[conflicts]","[context])","[ctx]","[data","[except","[exception/except","[expound","[file","[file]}","[fm","[get","[handler","[handler]","[i","[id","[interceptor]}}])])","[io.pedestal/pedestal.jetti","[io.pedestal/pedestal.servic","[item","[match","[match]","[messag","[message]","[method","[metosin/reitit","[middleware]","[muuntaja.cor","[muuntaja/format","[new","[number]","[old","[options]","[parameters]","[parameters]}]","[path","[path]","[printer","[registry]","[reitit.coercion.spec]","[reitit.cor","[reitit.frontend.control","[reitit.frontend.easi","[reitit.r","[reitit.ring.coercion","[reitit.ring.middleware.except","[reitit.ring.middleware.multipart","[reitit.ring.middleware.muuntaja","[reitit.ring.middleware.paramet","[reitit.ring.middleware.parameters/paramet","[reitit.swagg","[req]","[request]","[requir","[respond","[respons","[ring.adapter.jetti","[ring.middleware.param","[router","[rrc/coerc","[status]","[submatch","[subpath","[subrout","[thi","[this])","[total","[wrap","[wrap2","[x","[x]","[zone","[{:id","[{:key","[{:param","[{:paramet","[{:start","[{{{:key","\\","\\\"abba\\\"))\"},","\\\"public\\\"","\\.","^:replac","^^","^^^^^^","`lein","`reitit.coercion/coercion`","`reitit/router)","a:descript","abil","about.","above).","above,","abstract","acc","accept","accept,","access","accident","accumul","accur","achiev","act","action","action:","actual","ad","add","addit","admin","admin}}]]","admin}}]]]))","affect","again","again.","again:","against","against.","againt","ahead","algorithm.","algorithms,","all,","allow","allowed.","alpha","alreadi","also,","altern","alternative,","alway","ancestor","and/or","annot","anonym","anoth","another.","anyth","anything,","anyway","anywher","any},","api","api\"}","api)","api,","api:","apidoc","apis.","app","app)","app:","appli","applic","application,","application.","application/json;","application/x","applications,","applied,","applied.","apply.","approach","approaches,","apps,","arbitrari","arg","args*]","argument","argument,","argument:","arguments:","ariti","around","ask","astut","async","asynchron","at:","ataraxi","atom:","attach","aug","authent","author","authorizationmiddlewar","automat","automatic.","automatically.","avail","available:","average,","avoided.","awesome.","back","back.","backend","backend,","background,","backslashes.","bad","bar","bar})})))","base","baselin","basic","batteri","be","beer","beer)","beer)])]","beers)))","beers:","beers]","befor","behav","behavior","behind","below","bench","benchmark","benchmark.","besid","best","better","better,","better.","between","bi","bide","bidi","bidi,","bidi.","bidi:","bidi?","bit","blown","bodi","bonu","bonus,","bonus}})))","bonus}})}]]","boolean","booleans,","bootstrapping:","both","both,","both.","box","box.","bracket","brackets,","break","browser","build","built","bump","bundl","bundled:","busi","but,","butlast","cach","cache:","calfpath","call","callback","calls.","can't","captur","card","case","case,","case.","cases,","cases.","catch","catches:","caus","cc])","chain","chain,","chains.","chang","change.","changed.","changed:","changes!","changes.","channel","charact","charset","charset=utf","check","child","choise.","chosen","ci","class","class.","classpath.","clean,","cleanli","cli","client","clj","clojar","clojur","clojure(script)","clojure(script).","clojure,","clojure.","clojure.core/ex","clojure.core/fn?,","clojure.core/revers","clojure.core/string?","clojure.lang.exceptioninfo","clojure.lang.exceptioninfo:","clojure.lang.ideref","clojure.spec","clojure.spec)","clojure.spec,","clojure.spec.alpha/conform,","clojure.specs.","clojurescript","clojurescript,","clojurescript.","clojurescript:","clojurian","close","closur","code","code,","code:","coerc","coerce!","coerced.","coercer","coercers.","coercers}))","coercion","coercion)","coercion,","coercion.","coercion/coerc","coercion/compil","coercion:","coercion]","coercion])","collect","come","common","compar","compat","compil","compilation,","compilation.","compiled.","compilerexcept","compiling:","complet","complex","compojur","compojure,","compojure.","compojure:","compojure?","compon","compos","composit","comput","concaten","concepts.","concid","condit","configur","configuration.","conflict","conflict,","conflicts)))})","conflicts.","conflicts:","conform","conj","consid","console.","console.warn","constant","construct","contain","content","context","context.","contrari","contribut","contribute?","control","controller,","convert","core","core):","core.async,","cores:","correct","correct,","correctli","correctly:","correctly?","cors.","cost.","cqr","creat","created,","creation","creation:","crude","ctx","ctx)","ctx)})","current","currently,","custom","data","data)","data))","data,","data.","data:","database.","databases.","date:","db","db)","debug","debug.","decid","declar","declaration,","decod","deepli","default","default).","default,","default.","default:","defaults:","defin","defined).","defined,","defined.","defined:","definit","definition\"","definitions,","definitions.","degrade.","demonstr","depend","depends.","deploy","deprec","describ","descript","design","design,","desir","destructur","detail","details.","detect","dev","dev,","develop","developement,","developement.","didn't","diff","differ","differences:","differenti","differently,","diffs):","direct","directli","directory,","disabl","disabled,","discuss","dispatch","do","doc","docs\"","docs\"})))","docs/*\"","docs/index.html\"})","docs:","docs]","docs]]","docs}]","document","documentation,","documentation:","doesn't","don't","done","done).","done,","done.","done:","downsid","driven","driven,","duct","due","dure","dynam","e","e.g.","e.g.,","e/expound","e])","each","easi","easier","easili","easy,","edn","edn,","effect","elegantly.","else,","else.","elsewher","embed","emit","emit'","empti","en","enabl","enabled,","enabled.","enabled:","encod","encoding.","end","endpoint","endpoint,","endpoint.","endpoints.","enforc","engin","enough","enqueu","ensur","enter","entri","environment.","error","error.","error:","errors,","errors.","errors:","etc.","etc.)","evalu","even","event","events.","everyth","ex","exact","exampl","example,","example.","example.serv","example:","except","exception\")","exception)","exception).","exception/cr","exception/default","exception/except","exception]","exception])","exceptioninfo","exceptions,","exclud","execut","executor","exist","exist.","exit","expand","expans","expect","expected:","explain","explicit","expos","expound","expound/printer)","expound])","extend","extens","extensions.","extern","extra","extract","factor","fail","failed...","failed:","fails,","fallback","fals","false,","false.","false})","false})]","faq","fast","fast,","fast.","faster","faster!","faster.","faster?","fastest","featur","feature,","features.","felt","few","field","field.","file","file\"","file)","file):","files.","file}})}}]","first","first,","fix","flatten","flattened:","fm))","fn?","follow","following:","forc","form","format","format.","formatter.","forms.","forwards,","found","found)","found.","fragment","fragment,","frame","framework","frameworks.","frankli","free","frequent","frontend","frontend,","frontend.","frontend.cor","full","fulli","fun","function","function,","function.","functions,","functions.","functions:","futur","g","gave","gb","gener","generation,","get","ghz","gitbook","gitbook.","give","given","gmt","go","go.","go:","goal","goe","good","good:","graphql","great","guard","guide.","hacki","hander","handl","handler","handler\"","handler)","handler))","handler)))","handler))))","handler).","handler)]]","handler)]])","handler)}]","handler)}]]])))","handler)}}]","handler)}}])","handler)}}]])","handler,","handler.","handler/middlewar","handler:","handler]","handler])","handler])))","handler]]]]","handlers)","handlers.","handler}","handler}]","handler}]))","handler}]]","handler}]])","handler}]])))","handler}]]])","handler}]]])))","handler}}]]","handler}}]])","handler}}]])))","handler}}]]]","handler}}]]])))","handling.","hard","hard.","hardcoded)","harder","hash","have","header","headers.","help","help.","helper","here","here'","here.","hidden","hierarchi","higher","hinder","histori","history.","hit","hoc","hold","hook","host","html","html5","http","http,","http/1.1","http://localhost:3000","http://spec.commonmark.org/","http])","httpie:","https://github.com/metosin/reitit/blob/master/examples/http","https://github.com/metosin/reitit/blob/master/examples/pedest","https://github.com/metosin/reitit/blob/master/examples/r","https://github.com/metosin/reitit/tree/master/examples/frontend","https://github.com/metosin/reitit/tree/master/examples/http","https://github.com/metosin/reitit/tree/master/examples/pedest","https://quanttype.net/posts/2018","https://www.reddit.com/r/clojure/comments/9csmty/why_interceptors/","hw","i.e.","i7","id","id\"","id\",","id\"]","id)","id))","id)))","id))))","id))}]}]]","id/ord","id/orders\"]","id/orders\"]]","id]","id]))","id]]))","idea","idenfi","idenfitifi","ident","identifi","identifier.","identifier:","identity).","identity,","identity]","identity]}","identity}]","identity}}]]","identity}}]]))","id}","id}\"]","id},","id}/orders\"]]","ignor","ignored.","immut","immutat","implement","implementation.","implementation:","implicit","implicitli","in:","includ","include:","inde","index","indic","indirection,","infer","infinit","influenc","info","inform","information:","init!","initi","inject","injectuserintorequestmiddlewar","inlin","input","insert","insid","inspect","inspir","instal","instanc","instance,","instead","instruct","instrument","int","int,","int?","int?)","int?,","int?}}","int?}}}","int?}}},","int?}}}]","integr","integrations.","intel","interact","interceptor","interceptor)","interceptor))","interceptor.","interceptor]","interceptors)","interceptors,","interceptors.","interceptors.html","interceptors:","interceptors?","interest","interfac","interleav","intern","internal)","internal,","interpret","intomiddlewar","intomiddleware.","introduc","introduct","int}}},","invalid","invalid:","inventoried.","inventories,","invocation.","invok","io]))","is.","isn't","issu","issues.","it'","it,","it.","it:","it?","item","iterations.","itself","itself)","i})","java","java.io.fil","java.lang.string,","java.sql.sqlexcept","javascript,","jetti","jetty(9.2.21.v20170120)","jetty]","jetty])","join","js/window.histori","js/window.history)","json","jvm","kb","keechma","keep","key","key,","key.","keys)","keys,","keys.","keyset.","keyword","keyword?)","keywords)","keywords.","kikka","kikka))","kikka}","kikka}])","kikka}])}])","kinda","know","know.","known","kukka","l2","l3","larg","large!","last","later.","latest","layers:","leaf","lean","leav","left.","lein","length:","less","let'","level","level,","lib","librari","library?","libs.","life","life)","life,","lift","linearrouter,","link","list","liter","load","loader","local","locally:","locat","log","log]","logic","long","look","lookup","lookups:","lot","lot.","lupapiste.","m/instanc","m]","macbook","macbookpro11,3","macchiato","machin","macro","magical.","magnitud","magnitude.","main","make","manag","mani","manifold","manipul","manual","map","map.","maps.","margin","match","match)","match))))","match))))))))","match,","match.","match:","match?","match]","matched)","matched),","matched,","matched.","matches.","matches:","matter","matter?","mayb","mb","mean","measur","measure?","memory:","merg","merge.","merged.","messag","message))})","message.","messages:","meta","method","method.","method.)","method:","method]})","methods)","methods:","micro","mid","middlewar","middleware)","middleware,","middleware.","middleware/interceptor","middleware:","middleware])","middleware]}","middleware]}})","middleware]}})))","minimalist","miss","missing/extra","missing:","misspel","mix","model","model,","model.","models.","modif","modifi","modified?,","modul","modular","module.","module:","modules:","more","more.","mostli","mount","mount.\"","move","much","multimethod","multimethod.","multipart","multipart/cr","multipart/multipart","multipart/temp","multipart]","multipart])","multipl","mutabl","muuntaja","muuntaja.core/muuntaja","muuntaja/format","muuntaja]","muuntaja])","naiv","name","name!","name,","name.","name:","name]","name])","names.","names:","namespac","namespace,","namespace.","namespaces.","name},","nano","navig","need","negat","negoti","negotiation,","nest","nester","nesting/composition.","never","new","next","nice","nice,","nicer","nil","nil)","nil))","nil)))","nil).","nil)]","nil)]])","nil)})","nil,","nil.","nil:","nil]","nil]]","nil})","non","none","normal","normal,","not.","not...","notabl","note","note:","noth","nothing.","nothing.\"","notic","now","npm","ns","ns1","ns1)","ns1,","ns1/rout","ns1/routes]])","ns2)","ns2/routes]","ns3)","ns3.","number","number))})","numbers,","objects:","of,","ok","old","on","on.","on:","onc","once,","one:","ones,","only)","opaqu","opensensor","ops/sec","opt","optim","option","option)","option,","option.","option:","optionally,","options)","options))","options)))","options,","options.","options:","options]","opts)","opts))))","opts)]","opts]","order","order\"","order.","order:","order]])","order]}}])]","orient","origin","otherwis","out","out*","output:","outsid","over","overal","overrid","overridden","package.","page","page,","param","paramet","parameter,","parameter.","parameter:","parameters\"","parameters.","parameters/paramet","parameters:","parameters]","params.","params]","params]))","params]}}","params}},","params}}]","paremet","pars","part","part.","partial","partialmatch","partialmatch,","particip","parts:","part}}","part}}}","pass","patch","path","path)","path)]","path,","path.","path:","path]","path])","paths,","paths.","paths:","pattern","pedest","pedestal'","pedestal).","pedestal,","pedestal.","pedestal:","pedestal?","pedestal])","penalty.","per","perf","perfect.","perform","performance,","performance.","performance:","persist","ping","pizza","place","place.","plain","pleas","plu","pluggabl","plumat","po","poke","polish","port","pos?","positiveint","positiveint)\"},","positiveint}}}","possibl","possible,","post","power","powerful.","pr!","practic","pre","precis","precompute/compil","preconfigur","predicate:","predicates,","prefer","prefil","prefix","present","present.","present:","pretti","pretty/exception})","pretty])","prevent","preview","previou","print","printer","pro","problem","problem.","problem:","problems.","process","processing,","processing.","processor","processors:","prod","produc","product","production.","programmatically:","project","projects.","promesa.","promise:","proof","properties:","property,","property.","protocol","protocol,","protocol.","protocol:","proven","provid","public","publish","pull","purpose:","push","put","python'","qualifi","queri","query)","question","quick","quit","r","r/expand","r/linear","r/match","r/option","r/options.","r/rout","r])","r]))","rack.","radix","rails)","raise))))))","raise)))))))})","raise]","rational","raw","rcs/coercion","rcs/json","rcs])","re","react","react.js,","read","readabl","readable)","reader","readi","readme:","real","realistic.","realli","really,","reason","reasoning:","recogn","recompil","record","records.","recreat","recurs","recursive,","recursive.","redirect","refer","referenc","references:","regardless","regex","registri","registry,","registry.","registry:","registry?","regress","reinitialized:","reitit","reitit,","reitit.","reitit.coercion.schema/coercion","reitit.coercion.spec/coercion","reitit.coercion/coerce!","reitit.coercion/coercion","reitit.coercion/compil","reitit.cor","reitit.core.rout","reitit.core/expand","reitit.core/expand)","reitit.core/match","reitit.core/merg","reitit.core/rout","reitit.core/router,","reitit.core/router:","reitit.exception/exception)","reitit.frontend","reitit.frontend.controllers/appli","reitit.frontend.easi","reitit.frontend.easy:","reitit.http.interceptor.dev/print","reitit.http.interceptors.dev/print","reitit.http.interceptors.exception/except","reitit.http.interceptors.multipart/multipart","reitit.http.interceptors.muuntaja/format","reitit.http.interceptors.parameters/paramet","reitit.http/http","reitit.http/r","reitit.http/rout","reitit.impl/intostring.","reitit.interceptor","reitit.interceptor.sieppari/executor","reitit.interceptor/executor","reitit.interceptor/transform","reitit.middleware/intomiddlewar","reitit.middleware/middlewar","reitit.ring.coercion:","reitit.ring.middleware.dev/print","reitit.ring.middleware.multipart/multipart","reitit.ring.middleware.parameters/paramet","reitit.ring.spec/valid","reitit.ring/cr","reitit.ring/get","reitit.ring/handler.","reitit.ring/r","reitit.ring_test$wrap_bonus@59fddabb","reitit.spec","reitit.spec/valid","reitit.swagg","reitit.swagger.swagg","reitit.swagger/cr","reitit:","rel","relat","relev","reload","rememb","remov","render","repl","repl.","repl`","replac","repo","represent","representation.","req","request","request)","request))","request)))","request))))","request)))))","request))))})","request))]","request))})))","request)}})","request,","request.","request:","request]","request}]","requir","required)","reset","resolut","resolution.","resolution:","resolv","resourc","resources,","resources.","respond","responess,","respons","response\"","response)","response))","response)))","response.","response:","response]","responses)","responses,","responses:","responses]}","rest","rest(ish)","result","results,","retriev","return","returned,","returned:","reus","reuse)","revers","reverse)})","reverse})))","rfc]))","rfe]","ring","ring,","ring.","ring.middleware.params/wrap","ring/creat","ring/rout","ring:","ring]","ring])","roadmap","role","roles)))","roles:","roles]","roles]}","roles]}]","roles]}]]","roles]}})))","root","root,","rout","route))))","route,","route.","route:","route]","route]]","route]])))","router","router!","router)","router))","router)))","router):","router,","router.","router2","router2)","router:","router?","routers))","routers))))","routers,","routers.","routers:","routers?","routers]","router}))","router}]","router}]]))","routes)","routes))","routes)))","routes):","routes,","routes.","routes:","routes]","routes])","routing)","routing,","routing.","routing:","routing?","rrc/coerc","rrc])","rrs/valid","rrs])","rs/valid","rs/validate})","rs])","ruby'","rule","run","runtim","s/*explain","s/and,","s/coll","s/every),","s/int","s/int}","s/int}}","s/int}}}]","s/int}}}]))","s/key","s/keys,","s/map","s/nillabl","s/or,","s/str","s])","safe","saison!?","same","same.","sampl","satisfi","save","scenario","scene","schema","schema.","schema:","scientif","scope","seamlesli","search","second","second,","seconds,","see","select","separ","separately.","sequenc","sequenti","sequential)","serv","served.","server","server)","server.","server:","server])","servers,","set","set,","set.","set])","sets)","setup:","sever","shape","share","shine","ship","shipped,","short","side","sieppari","sieppari.","sieppari/executor}))","sieppari:","sieppari])","sight","silent","similar","simpl","simple,","singl","site","size","slack","slack.","slash","slash)","slash,","slash.","slashes.","slow,","slower","slower,","slowest","small","snappi","so,","solut","solv","someth","sometim","somewher","sourc","source\".","source:","span","spec","spec,","spec.","spec:","spec])","special","specif","specifi","specification,","specification.","specification:","specs),","specs,","specs.","specs:","specs?","speed","speed:","spell/clos","spell])","spesif","sqlexcept","st/json","st/string","st])","stabl","stack","stack,","start","start\"","start\"))}]}","started.","state","static","static,","static.","statu","status)]","stay","step","steps.","stest])","still","stop","stop\"","store","str","str])","stream","string","string,","string:","string?","string?)","string?,","strings,","strings:","strip","structur","str})))","style","sub","submap.","submatch)))","submit","subpath)]","subrout","subrouters.","success","successfuli","such","suitabl","summari","sun.","super","support","support:","supported:","sure.","swagger","swagger.","swagger/src/example/server.clj","swagger/src/example/server.clj.","swagger2","swagger]","swagger])","swaggger","swap","sync","synchron","syncron","syntax","syntax,","syntax.","syntax:","system","system.","tabl","table.","tag","take","taken","target","ten","termin","terminator.","terse,","test","test).","test,","tests,","text/xml","thank","that'","that,","that?","them,","them.","theme,","then,","thing","things.","things.\"","this):","this,","this:","those","three","through","throw","thrown","thrown,","thrown/rais","thu","thus,","time","time)","time),","time,","time.","tip","to,","to.","to:","todo","together.","too).","too.","too:","took","tool","tools.","tools.cor","tools.core/spec,","tools.spec","tools.spel","tools.spell/clos","top","total","total}}))})","total}}))}}]]","toward","trace","trail","transform","transformation,","transformer)","transit)\"","tree","tree),","tree,","tree.","tree:","trees,","trees.","tri","trickeri","trie","trivial","true","true)","true,","true}","trust","turn","two","two\"","two/swagger.json\"}","type","type\"","type:","ui","ui\"","ui,","ui.","ui/creat","ui:","ui]","ui])","un","unauthent","under","underli","understand","unifi","unmount","unnam","unreachable.","until","unwrap","up","up.","updat","uri","url","urlencod","us","usag","use,","used.","used:","user","user\"","user]","user]}}]","usual","util","uuid","uuid\"","uuid/:pag","uuid]","val:","valid","validation,","validation.","valu","value))))","value,","value.","value:","value]","values.","var","varieti","vector","vector.","verbose.","verifi","version","version:","versioning.","via","view","view,","view]))","view},","visual","vote","walk","walker","want","want,","wanted,","warn","way","way,","way.","we'll","we'r","web","webjar","wed,","welcom","welcome!","well,","whatev","whenev","whole","why?","wild","wildcard","wildcard,","with:","with?","within","without","won't","work","work:","workflow","worklfow","works,","works:","world","wrap","wrap2","wrap3","wrapper","wrap})","wrap}))","write","written","wrong","wrong.","wsgi","www","x","x)","x:=1","xml","y)}})}","y)}})}}]","y)}})}}]]]","y:=2","y]}","yet.","yield","yourself.","zero","zone","zone)","{","{\"/api/ping\"","{\"content","{\"location\"","{\"x\"","{*user/path}.","{200","{:","{::interceptor/transform","{::kikka","{::middleware/registri","{::middleware/transform","{::role","{::server/typ","{:bodi","{:bonu","{:coercion","{:compani","{:compil","{:conflict","{:control","{:data","{:descriptionz","{:enter","{:executor","{:expand","{:file","{:get","{:handler","{:i","{:id","{:info","{:inject","{:interceptor","{:iso","{:lookup","{:messag","{:method","{:middlewar","{:multipart","{:muuntaja","{:name","{:no","{:not","{:number","{:paramet","{:path","{:port","{:post","{:problem","{:produc","{:queri","{:reitit.coercion/request","{:request","{:role","{:router","{:schema","{:sku","{:statu","{:summari","{:swagger","{:tag","{:theme","{:titl","{:too","{:total","{:type","{:uri","{:user","{:valid","{:x","{:z","{:zone","{;;","{method","{name}","{name}.pdf\"]","{number}.pdf\"]]","{rout","{user/id},","{version}.pdf\"]]","{}","{})","{},","{}}","{}}}}}","|","}","µs","µs."],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"Introduction\nReitit is a fast data-driven router for Clojure(Script).\n\nSimple data-driven route syntax\nRoute conflict resolution\nFirst-class route data\nBi-directional routing\nPluggable coercion (schema & clojure.spec)\nHelpers for ring, http, pedestal & frontend\nExtendable\nModular\nFast\n\nThere is #reitit in Clojurians Slack for discussion & help.\nMain Modules\n\nreitit - all bundled\nreitit-core - the routing core\nreitit-ring - a ring router\nreitit-middleware - common middleware for reitit-ring\nreitit-spec clojure.spec coercion\nreitit-schema Schema coercion\nreitit-swagger Swagger2 apidocs\nreitit-swagger-ui Integrated Swagger UI.\nreitit-frontend Tools for frontend routing\nreitit-http http-routing with Pedestal-style Interceptors\nreitit-interceptors - common interceptors for reitit-http\nreitit-sieppari support for Sieppari Interceptors\nreitit-dev - development utilities\n\nExtra modules\n\nreitit-pedestal support for Pedestal\n\nLatest version\nAll bundled:\n[metosin/reitit \"0.3.1\"]\n\nOptionally, the parts can be required separately.\nExamples\nSimple router\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [[\"/api/ping\" ::ping]\n [\"/api/orders/:id\" ::order-by-id]]))\n\nRouting:\n(r/match-by-path router \"/api/ipa\")\n; nil\n\n(r/match-by-path router \"/api/ping\")\n; #Match{:template \"/api/ping\"\n; :data {:name ::ping}\n; :result nil\n; :path-params {}\n; :path \"/api/ping\"}\n\n(r/match-by-path router \"/api/orders/1\")\n; #Match{:template \"/api/orders/:id\"\n; :data {:name ::order-by-id}\n; :result nil\n; :path-params {:id \"1\"}\n; :path \"/api/orders/1\"}\n\nReverse-routing:\n(r/match-by-name router ::ipa)\n; nil\n\n(r/match-by-name router ::ping)\n; #Match{:template \"/api/ping\"\n; :data {:name ::ping}\n; :result nil\n; :path-params {}\n; :path \"/api/ping\"}\n\n(r/match-by-name router ::order-by-id)\n; #PartialMatch{:template \"/api/orders/:id\"\n; :data {:name :user/order-by-id}\n; :result nil\n; :path-params nil\n; :required #{:id}}\n\n(r/partial-match? (r/match-by-name router ::order-by-id))\n; true\n\n(r/match-by-name router ::order-by-id {:id 2})\n; #Match{:template \"/api/orders/:id\",\n; :data {:name ::order-by-id},\n; :result nil,\n; :path-params {:id 2},\n; :path \"/api/orders/2\"}\n\nRing-router\nRing-router adds support for :handler functions, :middleware and routing based on :request-method. It also supports pluggable parameter coercion (clojure.spec), data-driven middleware, route and middleware compilation, dynamic extensions and more.\n(require '[reitit.ring :as ring])\n\n(defn handler [_]\n {:status 200, :body \"ok\"})\n\n(defn wrap [handler id]\n (fn [request]\n (update (handler request) :wrap (fnil conj '()) id)))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[wrap :api]]}\n [\"/ping\" {:get handler\n :name ::ping}]\n [\"/admin\" {:middleware [[wrap :admin]]}\n [\"/users\" {:get handler\n :post handler}]]])))\n\nRouting:\n(app {:request-method :get, :uri \"/api/admin/users\"})\n; {:status 200, :body \"ok\", :wrap (:api :admin}\n\n(app {:request-method :put, :uri \"/api/admin/users\"})\n; nil\n\nReverse-routing:\n(require '[reitit.core :as r])\n\n(-> app (ring/get-router) (r/match-by-name ::ping))\n; #Match{:template \"/api/ping\"\n; :data {:middleware [[#object[user$wrap] :api]]\n; :get {:handler #object[user$handler]}\n; :name ::ping}\n; :result #Methods{...}\n; :path-params nil\n; :path \"/api/ping\"}\n\n"},"basics/route_syntax.html":{"url":"basics/route_syntax.html","title":"Route Syntax","keywords":"","body":"Route Syntax\nRoutes are defined as vectors of String path and optional (non-sequential) route argument child routes.\nRoutes can be wrapped in vectors and lists and nil routes are ignored.\nPaths can have path-parameters (:id) or catch-all-parameters (*path). Since version 0.3.0, parameters can also be wrapped in brackets, enabling use of qualified keywords {user/id}, {*user/path}. The non-bracket syntax might be deprecated later.\nExamples\nSimple route:\n[\"/ping\"]\n\nTwo routes:\n[[\"/ping\"]\n [\"/pong\"]]\n\nRoutes with route arguments:\n[[\"/ping\" ::ping]\n [\"/pong\" {:name ::pong}]]\n\nRoutes with path parameters:\n[[\"/users/:user-id\"]\n [\"/api/:version/ping\"]]\n\n[[\"/users/{user-id}\"]\n [\"/files/file-{number}.pdf\"]]\n\nRoute with catch-all parameter:\n[\"/public/*path\"]\n\n[\"/public/{*path}\"]\n\nNested routes:\n[\"/api\"\n [\"/admin\" {:middleware [::admin]}\n [\"\" ::admin]\n [\"/db\" ::db]]\n [\"/ping\" ::ping]]\n\nSame routes flattened:\n[[\"/api/admin\" {:middleware [::admin], :name ::admin}]\n [\"/api/admin/db\" {:middleware [::admin], :name ::db}]\n [\"/api/ping\" {:name ::ping}]]\n\nEncoding\nReitit does not apply any encoding to your paths. If you need that, you must encode them yourself. E.g., /foo bar should be /foo%20bar.\nWildcards\nNormal path-parameters (:id) can start anywhere in the path string, but have to end either to slash / (currently hardcoded) or to en end of path string:\n[[\"/api/:version\"]\n [\"/files/file-:number\"]\n [\"/user/:user-id/orders\"]]\n\nBracket path-parameters can start and stop anywhere in the path-string, the following character is used as a terminator.\n[[\"/api/{version}\"]\n [\"/files/{name}.{extension}\"]\n [\"/user/{user-id}/orders\"]]\n\nHaving multiple terminators after a bracket path-path parameter with identical path prefix will cause a compile-time error at router creation:\n[[\"/files/file-{name}.pdf\"] ;; terminator \\.\n [\"/files/file-{name}-{version}.pdf\"]] ;; terminator \\-\n\nSlash Free Routing\n[[\"broker.{customer}.{device}.{*data}\"]\n [\"events.{target}.{type}\"]]\n\nGenerating routes\nRoutes are just data, so it's easy to create them programmatically:\n(defn cqrs-routes [actions]\n [\"/api\" {:interceptors [::api ::db]}\n (for [[type interceptor] actions\n :let [path (str \"/\" (name interceptor))\n method (case type\n :query :get\n :command :post)]]\n [path {method {:interceptors [interceptor]}}])])\n\n(cqrs-routes\n [[:query 'get-user]\n [:command 'add-user]\n [:command 'add-order]])\n; [\"/api\" {:interceptors [::api ::db]}\n; ([\"/get-user\" {:get {:interceptors [get-user]}}]\n; [\"/add-user\" {:post {:interceptors [add-user]}}]\n; [\"/add-order\" {:post {:interceptors [add-order]}}])]\n\n"},"basics/router.html":{"url":"basics/router.html","title":"Router","keywords":"","body":"Router\nRoutes are just data and to do routing, we need a router instance satisfying the reitit.core/Router protocol. Routers are created with reitit.core/router function, taking the raw routes and optionally an options map.\nThe Router protocol:\n(defprotocol Router\n (router-name [this])\n (routes [this])\n (options [this])\n (route-names [this])\n (match-by-path [this path])\n (match-by-name [this name] [this name params]))\n\nCreating a router:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/api\"\n [\"/ping\" ::ping]\n [\"/user/:id\" ::user]]))\n\nName of the created router:\n(r/router-name router)\n; :mixed-router\n\nThe flattened route tree:\n(r/routes router)\n; [[\"/api/ping\" {:name :user/ping}]\n; [\"/api/user/:id\" {:name :user/user}]]\n\nWith a router instance, we can do Path-based routing or Name-based (Reverse) routing.\nMore details\nRouter options:\n(r/options router)\n{:lookup #object[...]\n :expand #object[...]\n :coerce #object[...]\n :compile #object[...]\n :conflicts #object[...]}\n\nRoute names:\n(r/route-names router)\n; [:user/ping :user/user]\n\nThe compiled route tree:\n(r/routes router)\n; [[\"/api/ping\" {:name :user/ping} nil]\n; [\"/api/user/:id\" {:name :user/user} nil]]\n\nComposing\nAs routes are defined as plain data, it's easy to merge multiple route trees into a single router\n(def user-routes\n [[\"/users\" ::users]\n [\"/users/:id\" ::user]]) \n\n(def admin-routes\n [\"/admin\"\n [\"/ping\" ::ping]\n [\"/users\" ::users]]) \n\n(r/router\n [admin-routes\n user-routes])\n\nMerged route tree:\n(r/routes router)\n; [[\"/admin/ping\" {:name :user/ping}]\n; [\"/admin/db\" {:name :user/db}]\n; [\"/users\" {:name :user/users}]\n; [\"/users/:id\" {:name :user/user}]]\n\nMore details on composing routers.\nBehind the scenes\nWhen router is created, the following steps are done:\n\nroute tree is flattened\nroute arguments are expanded (via :expand option)\nroutes are coerced (via :coerce options)\nroute tree is compiled (via :compile options)\nroute conflicts are resolved (via :conflicts options)\noptionally, route data is validated (via :validate options)\nrouter implementation is automatically selected (or forced via :router options) and created\n\n"},"basics/path_based_routing.html":{"url":"basics/path_based_routing.html","title":"Path-based Routing","keywords":"","body":"Path-based Routing\nPath-based routing is done using the reitit.core/match-by-path function. It takes the router and path as arguments and returns one of the following:\n\nnil, no match\nPartialMatch, path matched, missing path-parameters (only in reverse-routing)\nMatch, an exact match\n\nGiven a router:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/api\"\n [\"/ping\" ::ping]\n [\"/user/:id\" ::user]]))\n\nNo match returns nil:\n(r/match-by-path router \"/hello\")\n; nil\n\nMatch provides the route information:\n(r/match-by-path router \"/api/user/1\")\n; #Match{:template \"/api/user/:id\"\n; :data {:name :user/user}\n; :path \"/api/user/1\"\n; :result nil\n; :path-params {:id \"1\"}}\n\n"},"basics/name_based_routing.html":{"url":"basics/name_based_routing.html","title":"Name-based Routing","keywords":"","body":"Name-based (reverse) Routing\nAll routes which have :name route data defined can also be matched by name.\nGiven a router:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/api\"\n [\"/ping\" ::ping]\n [\"/user/:id\" ::user]]))\n\nListing all route names:\n(r/route-names router)\n; [:user/ping :user/user]\n\nNo match returns nil:\n(r/match-by-name router ::kikka)\nnil\n\nMatching a route:\n(r/match-by-name router ::ping)\n; #Match{:template \"/api/ping\"\n; :data {:name :user/ping}\n; :result nil\n; :path-params {}\n; :path \"/api/ping\"}\n\nIf not all path-parameters are set, a PartialMatch is returned:\n(r/match-by-name router ::user)\n; #PartialMatch{:template \"/api/user/:id\",\n; :data {:name :user/user},\n; :result nil,\n; :path-params nil,\n; :required #{:id}}\n\n(r/partial-match? (r/match-by-name router ::user))\n; true\n\nWith provided path-parameters:\n(r/match-by-name router ::user {:id \"1\"})\n; #Match{:template \"/api/user/:id\"\n; :data {:name :user/user}\n; :path \"/api/user/1\"\n; :result nil\n; :path-params {:id \"1\"}}\n\nPath-parameters are automatically coerced into strings, with the help of (currently internal) Protocol reitit.impl/IntoString. It supports strings, numbers, booleans, keywords and objects:\n(r/match-by-name router ::user {:id 1})\n; #Match{:template \"/api/user/:id\"\n; :data {:name :user/user}\n; :path \"/api/user/1\"\n; :result nil\n; :path-params {:id \"1\"}}\n\nThere is also an exception throwing version:\n(r/match-by-name! router ::user)\n; ExceptionInfo missing path-params for route /api/user/:id: #{:id}\n\nTo turn a Match into a path, there is reitit.core/match->path:\n(-> router\n (r/match-by-name ::user {:id 1})\n (r/match->path))\n; \"/api/user/1\"\n\nIt can take an optional map of query-parameters too:\n(-> router\n (r/match-by-name ::user {:id 1})\n (r/match->path {:iso \"möly\"}))\n; \"/api/user/1?iso=m%C3%B6ly\"\n\n"},"basics/route_data.html":{"url":"basics/route_data.html","title":"Route Data","keywords":"","body":"Route Data\nRoute data is the key feature of reitit. Routes can have any map-like data attached to them, to be interpreted by the client application, Router or routing components like Middleware or Interceptors.\n[[\"/ping\" {:name ::ping}]\n [\"/pong\" {:handler identity}]\n [\"/users\" {:get {:roles #{:admin}\n :handler identity}}]]\n\nBesides map-like data, raw routes can have any non-sequential route argument after the path. This argument is expanded by Router (via :expand option) into route data at router creation time. \nBy default, Keywords are expanded into :name and functions into :handler keys.\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [[\"/ping\" ::ping]\n [\"/pong\" identity]\n [\"/users\" {:get {:roles #{:admin}\n :handler identity}}]]))\n\nUsing Route Data\nExpanded route data can be retrieved from a router with routes and is returned with match-by-path and match-by-name in case of a route match.\n(r/routes router)\n; [[\"/ping\" {:name ::ping}]\n; [\"/pong\" {:handler identity]}\n; [\"/users\" {:get {:roles #{:admin}\n; :handler identity}}]]\n\n(r/match-by-path router \"/ping\")\n; #Match{:template \"/ping\"\n; :data {:name :user/ping}\n; :result nil\n; :path-params {}\n; :path \"/ping\"}\n\n(r/match-by-name router ::ping)\n; #Match{:template \"/ping\"\n; :data {:name :user/ping}\n; :result nil\n; :path-params {}\n; :path \"/ping\"}\n\nNested Route Data\nFor nested route trees, route data is accumulated recursively from root towards leafs using meta-merge. Default behavior for collections is :append, but this can be overridden to :prepend, :replace or :displace using the target meta-data.\nAn example router with nested data:\n(def router\n (r/router\n [\"/api\" {:interceptors [::api]}\n [\"/ping\" ::ping]\n [\"/admin\" {:roles #{:admin}}\n [\"/users\" ::users]\n [\"/db\" {:interceptors [::db]\n :roles ^:replace #{:db-admin}}]]]))\n\nResolved route tree:\n(r/routes router)\n; [[\"/api/ping\" {:interceptors [::api]\n; :name :user/ping}]\n; [\"/api/admin/users\" {:interceptors [::api]\n; :roles #{:admin}\n; :name ::users} nil]\n; [\"/api/admin/db\" {:interceptors [::api ::db]\n; :roles #{:db-admin}}]]\n\nRoute Data Fragments\nJust like fragments in React.js, we can create routing tree fragments by using empty path \"\". This allows us to add route data without accumulating to path.\nGiven a route tree:\n[[\"/swagger.json\" ::swagger]\n [\"/api-docs\" ::api-docs]\n [\"/api/ping\" ::ping]\n [\"/api/pong\" ::pong]]\n\nAdding :no-doc route data to exclude the first routes from generated Swagger documentation:\n[[\"\" {:no-doc true}\n [\"/swagger.json\" ::swagger]\n [\"/api-docs\" ::api-docs]]\n [\"/api/ping\" ::ping]\n [\"/api/pong\" ::pong]]\n\nAccumulated route data:\n(def router\n (r/router\n [[\"\" {:no-doc true}\n [\"/swagger.json\" ::swagger]\n [\"/api-docs\" ::api-docs]]\n [\"/api/ping\" ::ping]\n [\"/api/pong\" ::pong]]))\n\n(r/routes router)\n; [[\"/swagger.json\" {:no-doc true, :name ::swagger}]\n; [\"/api-docs\" {:no-doc true, :name ::api-docs}]\n; [\"/api/ping\" {:name ::ping}]\n; [\"/api/pong\" {:name ::pong}]]\n\nTop-level Route Data\nRoute data can be introduced also via Router option :data:\n(def router\n (r/router\n [\"/api\"\n {:middleware [::api]}\n [\"/ping\" ::ping]\n [\"/pong\" ::pong]]\n {:data {:middleware [::session]}}))\n\nExpanded routes:\n[[\"/api/ping\" {:middleware [::session ::api], :name ::ping}]\n [\"/api/pong\" {:middleware [::session ::api], :name ::pong}]]\n\nCustomizing Expansion\nBy default, router :expand option has value r/expand function, backed by a r/Expand protocol. Expansion can be customized either by swapping the :expand implementation or by extending the Protocol. r/Expand implementations can be recursive.\nNaive example to add direct support for java.io.File route argument:\n(extend-type java.io.File\n r/Expand\n (expand [file options]\n (r/expand\n #(slurp file)\n options)))\n\n(r/router\n [\"/\" (java.io.File. \"index.html\")])\n\nPage shared routes has an example of an custom :expand implementation.\nRoute data validation\nSee Route data validation.\n"},"basics/route_data_validation.html":{"url":"basics/route_data_validation.html","title":"Route Data Validation","keywords":"","body":"Route Data Validation\nRoute data can be anything, so it's easy to go wrong. Accidentally adding a :role key instead of :roles might hinder the whole routing app without any authorization in place.\nTo fail fast, we could use the custom :coerce and :compile hooks to apply data validation and throw exceptions on first sighted problem.\nBut there is a better way. Router has a :validation hook to validate the whole route tree after it's successfuly compiled. It expects a 2-arity function routes opts => () that can side-effect in case of validation errors.\nclojure.spec\nNamespace reitit.spec contains specs for main parts of reitit.core and a helper function validate that runs spec validation for all route data and throws an exception if any errors are found.\nA Router with invalid route data:\n(require '[reitit.core :as r])\n\n(r/router\n [\"/api\" {:handler \"identity\"}])\n; #object[reitit.core$...]\n\nFailing fast with clojure.spec validation turned on:\n(require '[reitit.spec :as rs])\n\n(r/router\n [\"/api\" {:handler \"identity\"}]\n {:validate rs/validate})\n; CompilerException clojure.lang.ExceptionInfo: Invalid route data:\n;\n; -- On route -----------------------\n;\n; \"/api\"\n;\n; In: [:handler] val: \"identity\" fails spec: :reitit.spec/handler at: [:handler] predicate: fn?\n;\n; {:problems (#reitit.spec.Problem{:path \"/api\", :scope nil, :data {:handler \"identity\"}, :spec :reitit.spec/default-data, :problems #:clojure.spec.alpha{:problems ({:path [:handler], :pred clojure.core/fn?, :val \"identity\", :via [:reitit.spec/default-data :reitit.spec/handler], :in [:handler]}), :spec :reitit.spec/default-data, :value {:handler \"identity\"}}})}, compiling: ...\n\nPretty errors\nTurning on Pretty Errors will give much nicer error messages:\n(require '[reitit.dev.pretty :as pretty])\n\n(r/router\n [\"/api\" {:handler \"identity\"}]\n {:validate rs/validate\n :exception pretty/exception})\n\n\nCustomizing spec validation\nrs/validate reads the following router options:\n\n\n\nkey\ndescription\n\n\n\n\n:spec\nthe spec to verify the route data (default ::rs/default-data)\n\n\n:reitit.spec/wrap\nfunction of spec => spec to wrap all route specs\n\n\n\nNOTE: clojure.spec implicitly validates all values with fully-qualified keys if specs exist with the same name.\nInvalid spec value:\n(require '[clojure.spec.alpha :as s])\n\n(s/def ::role #{:admin :manager})\n(s/def ::roles (s/coll-of ::role :into #{}))\n\n(r/router\n [\"/api\" {:handler identity\n ::roles #{:adminz}}]\n {:validate rs/validate\n :exception pretty/exception})\n\n\nClosed Specs\nTo fail-fast on non-defined and misspelled keys on route data, we can close the specs using :reitit.spec/wrap options with value of spec-tools.spell/closed that closed the top-level specs.\nRequiring a:description and validating using closed specs:\n(require '[spec-tools.spell :as spell])\n\n(s/def ::description string?)\n\n(r/router\n [\"/api\" {:summary \"kikka\"}]\n {:validate rs/validate\n :spec (s/merge ::rs/default-data\n (s/keys :req-un [::description]))\n ::rs/wrap spell/closed\n :exception pretty/exception})\n\n\nIt catches also typing errors:\n(r/router\n [\"/api\" {:descriptionz \"kikka\"}]\n {:validate rs/validate\n :spec (s/merge ::rs/default-data\n (s/keys :req-un [::description]))\n ::rs/wrap spell/closed\n :exception pretty/exception})\n\n\n"},"basics/route_conflicts.html":{"url":"basics/route_conflicts.html","title":"Route Conflicts","keywords":"","body":"Route Conflicts\nWe should fail fast if a router contains conflicting paths or route names. \nWhen a Router is created via reitit.core/router, both path and route name conflicts are checked automatically. By default, in case of conflict, an ex-info is thrown with a descriptive message. In some (legacy api) cases, path conflicts should be allowed and one can override the path conflict resolution via :conflicts router option.\nPath Conflicts\nRoutes with path conflicts:\n(require '[reitit.core :as r])\n\n(def routes\n [[\"/ping\"]\n [\"/:user-id/orders\"]\n [\"/bulk/:bulk-id\"]\n [\"/public/*path\"]\n [\"/:version/status\"]])\n\nCreating router with defaults:\n(r/router routes)\n; CompilerException clojure.lang.ExceptionInfo: Router contains conflicting route paths:\n;\n; /:user-id/orders\n; -> /public/*path\n; -> /bulk/:bulk-id\n;\n; /bulk/:bulk-id\n; -> /:version/status\n;\n; /public/*path\n; -> /:version/status\n;\n\nTo ignore the conflicts:\n(r/router\n routes\n {:conflicts nil})\n; => #object[reitit.core$linear_router$reify]\n\nTo just log the conflicts:\n(r/router\n routes\n {:conflicts (fn [conflicts]\n (println (r/path-conflicts-str conflicts)))})\n; Router contains conflicting route paths:\n;\n; /:user-id/orders\n; -> /public/*path\n; -> /bulk/:bulk-id\n;\n; /bulk/:bulk-id\n; -> /:version/status\n;\n; /public/*path\n; -> /:version/status\n;\n; => #object[reitit.core$linear_router$reify]\n\nName conflicts\nRoutes with name conflicts:\n(def routes\n [[\"/ping\" ::ping]\n [\"/admin\" ::admin]\n [\"/admin/ping\" ::ping]])\n\nCreating router with defaults:\n(r/router routes)\n;CompilerException clojure.lang.ExceptionInfo: Router contains conflicting route names:\n;\n;:reitit.core/ping\n;-> /ping\n;-> /admin/ping\n;\n\nThere is no way to disable the name conflict resolution.\n"},"coercion/coercion.html":{"url":"coercion/coercion.html","title":"Coercion Explained","keywords":"","body":"Coercion Explained\nCoercion is a process of transforming parameters (and responses) from one format into another. Reitit separates routing and coercion into two separate steps.\nBy default, all wildcard and catch-all parameters are parsed into strings:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" ::user-view]))\n\nMatch with the parsed :path-params as strings:\n(r/match-by-path r \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view},\n; :result nil,\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :path \"/metosin/users/123\"}\n\nTo enable parameter coercion, the following things need to be done:\n\nDefine a Coercion for the routes\nDefine types for the parameters\nCompile coercers for the types\nApply the coercion\n\nDefine Coercion\nreitit.coercion/Coercion is a protocol defining how types are defined, coerced and inventoried.\nReitit ships with the following coercion modules:\n\nreitit.coercion.schema/coercion for plumatic schema\nreitit.coercion.spec/coercion for both clojure.spec and data-specs\n\nCoercion can be attached to route data under :coercion key. There can be multiple Coercion implementations within a single router, normal scoping rules apply.\nDefining parameters\nRoute parameters can be defined via route data :parameters. It has keys for different type of parameters: :query, :body, :form, :header and :path. Syntax for the actual parameters depends on the Coercion implementation.\nExample with Schema path-parameters:\n(require '[reitit.coercion.schema])\n(require '[schema.core :as s])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.schema/coercion\n :parameters {:path {:company s/Str\n :user-id s/Int}}}]))\n\nA Match:\n(r/match-by-path r \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path {:company java.lang.String,\n; :user-id Int}}},\n; :result nil,\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :path \"/metosin/users/123\"}\n\nCoercion was not applied. Why? In Reitit, routing and coercion are separate processes and we have done just the routing part. We need to apply coercion after the successful routing.\nBut now we should have enough data on the match to apply the coercion.\nCompiling coercers\nBefore the actual coercion, we should need to compile the coercers against the route data. Compiled coercers yield much better performance and the manual step of adding a coercion compiler makes things explicit and non-magical.\nCompiling can be done via a Middleware, Interceptor or a Router. We apply it now at router-level, effecting all routes (with :parameters and :coercion defined).\nThere is a helper function reitit.coercion/compile-request-coercers just for this:\n(require '[reitit.coercion :as coercion])\n(require '[reitit.coercion.schema])\n(require '[schema.core :as s])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.schema/coercion\n :parameters {:path {:company s/Str\n :user-id s/Int}}}]\n {:compile coercion/compile-request-coercers}))\n\nRouting again:\n(r/match-by-path r \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path {:company java.lang.String,\n; :user-id Int}}},\n; :result {:path #object[reitit.coercion$request_coercer$]},\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :path \"/metosin/users/123\"}\n\nThe compiler added a :result key into the match (done just once, at router creation time), which holds the compiled coercers. We are almost done.\nApplying coercion\nWe can use a helper function reitit.coercion/coerce! to do the actual coercion, based on a Match:\n(coercion/coerce!\n (r/match-by-path router \"/metosin/users/123\"))\n; {:path {:company \"metosin\", :user-id 123}}\n\nWe get the coerced paremeters back. If a coercion fails, a typed (:reitit.coercion/request-coercion) ExceptionInfo is thrown, with data about the actual error:\n(coercion/coerce!\n (r/match-by-path router \"/metosin/users/ikitommi\"))\n; => ExceptionInfo Request coercion failed:\n; #CoercionError{:schema {:company java.lang.String, :user-id Int, Any Any},\n; :errors {:user-id (not (integer? \"ikitommi\"))}}\n; clojure.core/ex-info (core.clj:4739)\n\nFull example\nHere's a full example for doing routing and coercion with Reitit and Schema:\n(require '[reitit.coercion.schema])\n(require '[reitit.coercion :as coercion])\n(require '[reitit.core :as r])\n(require '[schema.core :as s])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.schema/coercion\n :parameters {:path {:company s/Str\n :user-id s/Int}}}]\n {:compile coercion/compile-request-coercers}))\n\n(defn match-by-path-and-coerce! [path]\n (if-let [match (r/match-by-path router path)]\n (assoc match :parameters (coercion/coerce! match))))\n\n(match-by-path-and-coerce! \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path {:company java.lang.String,\n; :user-id Int}}},\n; :result {:path #object[reitit.coercion$request_coercer$]},\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :parameters {:path {:company \"metosin\", :user-id 123}}\n; :path \"/metosin/users/123\"}\n\n(match-by-path-and-coerce! \"/metosin/users/ikitommi\")\n; => ExceptionInfo Request coercion failed...\n\nRing Coercion\nFor a full-blown http-coercion, see the ring coercion.\n"},"coercion/schema_coercion.html":{"url":"coercion/schema_coercion.html","title":"Plumatic Schema","keywords":"","body":"Plumatic Schema Coercion\nPlumatic Schema is a Clojure(Script) library for declarative data description and validation.\n(require '[reitit.coercion.schema])\n(require '[reitit.coercion :as coercion])\n(require '[schema.core :as s])\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.schema/coercion\n :parameters {:path {:company s/Str\n :user-id s/Int}}}]\n {:compile coercion/compile-request-coercers}))\n\n(defn match-by-path-and-coerce! [path]\n (if-let [match (r/match-by-path router path)]\n (assoc match :parameters (coercion/coerce! match))))\n\nSuccessful coercion:\n(match-by-path-and-coerce! \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path {:company java.lang.String,\n; :user-id Int}}},\n; :result {:path #object[reitit.coercion$request_coercer$]},\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :parameters {:path {:company \"metosin\", :user-id 123}}\n; :path \"/metosin/users/123\"}\n\nFailing coercion:\n(match-by-path-and-coerce! \"/metosin/users/ikitommi\")\n; => ExceptionInfo Request coercion failed...\n\n"},"coercion/clojure_spec_coercion.html":{"url":"coercion/clojure_spec_coercion.html","title":"Clojure.spec","keywords":"","body":"Clojure.spec Coercion\nThe clojure.spec library specifies the structure of data, validates or destructures it, and can generate data based on the spec.\nWarning\nclojure.spec by itself doesn't support coercion. reitit uses spec-tools that adds coercion to spec. Like clojure.spec, it's alpha as it leans both on spec walking and clojure.spec.alpha/conform, which is concidered a spec internal, that might be changed or removed later.\nUsage\nFor simple specs (core predicates, spec-tools.core/spec, s/and, s/or, s/coll-of, s/keys, s/map-of, s/nillable and s/every), the transformation is inferred using spec-walker and is automatic. To support all specs (like regex-specs), specs need to be wrapped into Spec Records.\nThere are CLJ-2116 and CLJ-2251 that would help solve this elegantly. Go vote 'em up.\nExample\n(require '[reitit.coercion.spec])\n(require '[reitit.coercion :as coercion])\n(require '[spec-tools.spec :as spec])\n(require '[clojure.spec.alpha :as s])\n(require '[reitit.core :as r])\n\n;; simple specs, inferred\n(s/def ::company string?)\n(s/def ::user-id int?)\n(s/def ::path-params (s/keys :req-un [::company ::user-id]))\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.spec/coercion\n :parameters {:path ::path-params}}]\n {:compile coercion/compile-request-coercers}))\n\n(defn match-by-path-and-coerce! [path]\n (if-let [match (r/match-by-path router path)]\n (assoc match :parameters (coercion/coerce! match))))\n\nSuccessful coercion:\n(match-by-path-and-coerce! \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path ::path-params}},\n; :result {:path #object[reitit.coercion$request_coercer$]},\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :parameters {:path {:company \"metosin\", :user-id 123}}\n; :path \"/metosin/users/123\"}\n\nFailing coercion:\n(match-by-path-and-coerce! \"/metosin/users/ikitommi\")\n; => ExceptionInfo Request coercion failed...\n\nDeeply nested\nSpec-tools allow deeply nested specs to be coerced. One can test the coercion easily in the REPL.\nDefine some specs:\n(require '[clojure.spec.alpha :as s])\n(require '[spec-tools.core :as st])\n\n(s/def :sku/id keyword?)\n(s/def ::sku (s/keys :req-un [:sku/id]))\n(s/def ::skus (s/coll-of ::sku :into []))\n\n(s/def :photo/id int?)\n(s/def ::photo (s/keys :req-un [:photo/id]))\n(s/def ::photos (s/coll-of ::photo :into []))\n\n(s/def ::my-json-api (s/keys :req-un [::skus ::photos]))\n\nApply a string->edn coercion to the data:\n(st/coerce\n ::my-json-api\n {:skus [{:id \"123\"}]\n :photos [{:id \"123\"}]}\n st/string-transformer)\n; {:skus [{:id :123}]\n; :photos [{:id 123}]}\n\nApply a json->edn coercion to the data:\n(st/coerce\n ::my-json-api\n {:skus [{:id \"123\"}]\n :photos [{:id \"123\"}]}\n st/json-transformer)\n; {:skus [{:id :123}]\n; :photos [{:id \"123\"}]}\n\nBy default, reitit uses custom transformers that also strip out extra keys from s/keys specs:\n(require '[reitit.coercion.spec :as rcs])\n\n(st/coerce\n ::my-json-api\n {:TOO \"MUCH\"\n :skus [{:id \"123\"\n :INFOR \"MATION\"}]\n :photos [{:id \"123\"\n :HERE \"TOO\"}]}\n rcs/json-transformer)\n; {:skus [{:id :123}]\n; :photos [{:id \"123\"}]}\n\n"},"coercion/data_spec_coercion.html":{"url":"coercion/data_spec_coercion.html","title":"Data-specs","keywords":"","body":"Data-spec Coercion\nData-specs is alternative, macro-free syntax to define clojure.specs. As a bonus, supports the runtime transformations via conforming out-of-the-box.\n(require '[reitit.coercion.spec])\n(require '[reitit.coercion :as coercion])\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [\"/:company/users/:user-id\" {:name ::user-view\n :coercion reitit.coercion.spec/coercion\n :parameters {:path {:company string?\n :user-id int?}}}]\n {:compile coercion/compile-request-coercers}))\n\n(defn match-by-path-and-coerce! [path]\n (if-let [match (r/match-by-path router path)]\n (assoc match :parameters (coercion/coerce! match))))\n\nSuccessful coercion:\n(match-by-path-and-coerce! \"/metosin/users/123\")\n; #Match{:template \"/:company/users/:user-id\",\n; :data {:name :user/user-view,\n; :coercion >\n; :parameters {:path {:company string?,\n; :user-id int?}}},\n; :result {:path #object[reitit.coercion$request_coercer$]},\n; :path-params {:company \"metosin\", :user-id \"123\"},\n; :parameters {:path {:company \"metosin\", :user-id 123}}\n; :path \"/metosin/users/123\"}\n\nFailing coercion:\n(match-by-path-and-coerce! \"/metosin/users/ikitommi\")\n; => ExceptionInfo Request coercion failed...\n\n"},"ring/ring.html":{"url":"ring/ring.html","title":"Ring-router","keywords":"","body":"Ring Router\nRing is a Clojure web applications library inspired by Python's WSGI and Ruby's Rack. By abstracting the details of HTTP into a simple, unified API, Ring allows web applications to be constructed of modular components that can be shared among a variety of applications, web servers, and web frameworks.\nRead more about the Ring Concepts.\n[metosin/reitit-ring \"0.3.1\"]\n\nreitit.ring/ring-router\nring-router is a higher order router, which adds support for :request-method based routing, handlers and middleware.\n It accepts the following options:\n\n\n\nkey\ndescription\n\n\n\n\n:reitit.middleware/transform\nFunction of [Middleware] => [Middleware] to transform the expanded Middleware (default: identity).\n\n\n:reitit.middleware/registry\nMap of keyword => IntoMiddleware to replace keyword references into Middleware\n\n\n:reitit.ring/default-options-handler\nDefault handler for :options method in endpoints (default: default-options-handler)\n\n\n\nExample router:\n(require '[reitit.ring :as ring])\n\n(defn handler [_]\n {:status 200, :body \"ok\"})\n\n(def router\n (ring/router\n [\"/ping\" {:get handler}]))\n\nMatch contains :result compiled by the ring-router:\n(require '[reitit.core :as r])\n\n(r/match-by-path router \"/ping\")\n;#Match{:template \"/ping\"\n; :data {:get {:handler #object[...]}}\n; :result #Methods{:get #Endpoint{...}\n; :options #Endpoint{...}}\n; :path-params {}\n; :path \"/ping\"}\n\nreitit.ring/ring-handler\nGiven a ring-router, optional default-handler & options, ring-handler function will return a valid ring handler supporting both synchronous and asynchronous request handling. The following options are available:\n\n\n\nkey\ndescription\n\n\n\n\n:middleware\nOptional sequence of middleware that wrap the ring-handler\"\n\n\n:inject-match?\nBoolean to inject match into request under :reitit.core/match key (default true)\n\n\n:inject-router?\nBoolean to inject router into request under :reitit.core/router key (default true)\n\n\n\nSimple Ring app:\n(def app (ring/ring-handler router))\n\nApplying the handler:\n(app {:request-method :get, :uri \"/favicon.ico\"})\n; nil\n\n(app {:request-method :get, :uri \"/ping\"})\n; {:status 200, :body \"ok\"}\n\nThe router can be accessed via get-router:\n(-> app (ring/get-router) (r/compiled-routes))\n;[[\"/ping\"\n; {:handler #object[...]}\n; #Methods{:get #Endpoint{:data {:handler #object[...]}\n; :handler #object[...]\n; :middleware []}\n; :options #Endpoint{:data {:handler #object[...]}\n; :handler #object[...]\n; :middleware []}}]]\n\nRequest-method based routing\nHandlers can be placed either to the top-level (all methods) or under a specific method (:get, :head, :patch, :delete, :options, :post, :put or :trace). Top-level handler is used if request-method based handler is not found. \nBy default, the :options route is generated for all paths - to enable thing like CORS.\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/all\" handler]\n [\"/ping\" {:name ::ping\n :get handler\n :post handler}]])))\n\nTop-level handler catches all methods:\n(app {:request-method :delete, :uri \"/all\"})\n; {:status 200, :body \"ok\"}\n\nMethod-level handler catches only the method:\n(app {:request-method :get, :uri \"/ping\"})\n; {:status 200, :body \"ok\"}\n\n(app {:request-method :put, :uri \"/ping\"})\n; nil\n\nBy default, :options is also supported (see router options to change this):\n(app {:request-method :options, :uri \"/ping\"})\n; {:status 200, :body \"\"}\n\nName-based reverse routing:\n(-> app\n (ring/get-router)\n (r/match-by-name ::ping)\n (r/match->path))\n; \"/ping\"\n\nMiddleware\nMiddleware can be mounted using a :middleware key - either to top-level or under request method submap. Its value should be a vector of reitit.middleware/IntoMiddleware values. These include:\n\nnormal ring middleware function handler -> request -> response\nvector of middleware function [handler args*] -> request -> response and it's arguments\na data-driven middleware record or a map\na Keyword name, to lookup the middleware from a Middleware Registry\n\nA middleware and a handler:\n(defn wrap [handler id]\n (fn [request]\n (handler (update request ::acc (fnil conj []) id))))\n\n(defn handler [{:keys [::acc]}]\n {:status 200, :body (conj acc :handler)})\n\nApp with nested middleware:\n(def app\n (ring/ring-handler\n (ring/router\n ;; a middleware function\n [\"/api\" {:middleware [#(wrap % :api)]}\n [\"/ping\" handler]\n ;; a middleware vector at top level\n [\"/admin\" {:middleware [[wrap :admin]]}\n [\"/db\" {:middleware [[wrap :db]]\n ;; a middleware vector at under a method\n :delete {:middleware [[wrap :delete]]\n :handler handler}}]]])))\n\nMiddleware is applied correctly:\n(app {:request-method :delete, :uri \"/api/ping\"})\n; {:status 200, :body [:api :handler]}\n\n(app {:request-method :delete, :uri \"/api/admin/db\"})\n; {:status 200, :body [:api :admin :db :delete :handler]}\n\nTop-level middleware, applied before any routing is done:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[mw :api]]}\n [\"/get\" {:get handler}]])\n nil \n {:middleware [[mw :top]]}))\n\n(app {:request-method :get, :uri \"/api/get\"})\n; {:status 200, :body [:top :api :ok]}\n\n"},"ring/reverse_routing.html":{"url":"ring/reverse_routing.html","title":"Reverse-routing","keywords":"","body":"Reverse routing with Ring\nBoth the router and the match are injected into Ring Request (as ::r/router and ::r/match) by the reitit.ring/ring-handler and with that, available to middleware and endpoints. To convert a Match into a path, one can use r/match->path, which optionally takes a map of query-parameters too.\nBelow is an example how to do reverse routing from a ring handler:\n(require '[reitit.core :as r])\n(require '[reitit.ring :as ring])\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/users\"\n {:get (fn [{:keys [::r/router]}]\n {:status 200\n :body (for [i (range 10)]\n {:uri (-> router\n (r/match-by-name ::user {:id i})\n ;; with extra query-params\n (r/match->path {:iso \"möly\"}))})})}]\n [\"/users/:id\"\n {:name ::user\n :get (constantly {:status 200, :body \"user...\"})}]])))\n\n(app {:request-method :get, :uri \"/users\"})\n; {:status 200,\n; :body ({:uri \"/users/0?iso=m%C3%B6ly\"}\n; {:uri \"/users/1?iso=m%C3%B6ly\"}\n; {:uri \"/users/2?iso=m%C3%B6ly\"}\n; {:uri \"/users/3?iso=m%C3%B6ly\"}\n; {:uri \"/users/4?iso=m%C3%B6ly\"}\n; {:uri \"/users/5?iso=m%C3%B6ly\"}\n; {:uri \"/users/6?iso=m%C3%B6ly\"}\n; {:uri \"/users/7?iso=m%C3%B6ly\"}\n; {:uri \"/users/8?iso=m%C3%B6ly\"}\n; {:uri \"/users/9?iso=m%C3%B6ly\"})}\n\n"},"ring/default_handler.html":{"url":"ring/default_handler.html","title":"Default handler","keywords":"","body":"Default handler\nBy default, if no routes match, nil is returned, which is not valid response in Ring:\n(require '[reitit.ring :as ring])\n\n(defn handler [_]\n {:status 200, :body \"\"})\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/ping\" handler])))\n\n(app {:uri \"/invalid\"})\n; nil\n\nSetting the default-handler as a second argument to ring-handler:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/ping\" handler])\n (constantly {:status 404, :body \"\"})))\n\n(app {:uri \"/invalid\"})\n; {:status 404, :body \"\"}\n\nTo get more correct http error responses, ring/create-default-handler can be used. It differentiates :not-found (no route matched), :method-not-allowed (no method matched) and :not-acceptable (handler returned nil).\nWith defaults:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" {:get handler}]\n [\"/pong\" (constantly nil)]])\n (ring/create-default-handler)))\n\n(app {:request-method :get, :uri \"/ping\"})\n; {:status 200, :body \"\"}\n\n(app {:request-method :get, :uri \"/\"})\n; {:status 404, :body \"\"}\n\n(app {:request-method :post, :uri \"/ping\"})\n; {:status 405, :body \"\"}\n\n(app {:request-method :get, :uri \"/pong\"})\n; {:status 406, :body \"\"}\n\nWith custom responses:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" {:get handler}]\n [\"/pong\" (constantly nil)]])\n (ring/create-default-handler\n {:not-found (constantly {:status 404, :body \"kosh\"})\n :method-not-allowed (constantly {:status 405, :body \"kosh\"})\n :not-acceptable (constantly {:status 406, :body \"kosh\"})})))\n\n(app {:request-method :get, :uri \"/ping\"})\n; {:status 200, :body \"\"}\n\n(app {:request-method :get, :uri \"/\"})\n; {:status 404, :body \"kosh\"}\n\n(app {:request-method :post, :uri \"/ping\"})\n; {:status 405, :body \"kosh\"}\n\n(app {:request-method :get, :uri \"/pong\"})\n; {:status 406, :body \"kosh\"}\n\n"},"ring/slash_handler.html":{"url":"ring/slash_handler.html","title":"Slash handler","keywords":"","body":"Slash handler\nThe router works with precise matches. If a route is defined without a trailing slash, for example, it won't match a request with a slash.\n(require '[reitit.ring :as ring])\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/ping\" (constantly {:status 200, :body \"\"})])))\n\n(app {:uri \"/ping/\"})\n; nil\n\nSometimes it is desirable that paths with and without a trailing slash are recognized as the same.\nSetting the redirect-trailing-slash-handler as a second argument to ring-handler:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"\"})]\n [\"/pong/\" (constantly {:status 200, :body \"\"})]])\n (ring/redirect-trailing-slash-handler)))\n\n(app {:uri \"/ping/\"})\n; {:status 308, :headers {\"Location\" \"/ping\"}, :body \"\"}\n\n(app {:uri \"/pong\"})\n; {:status 308, :headers {\"Location\" \"/pong/\"}, :body \"\"}\n\nredirect-trailing-slash-handler accepts an optional :method parameter that allows configuring how (whether) to handle missing/extra slashes. The default is to handle both.\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"\"})]\n [\"/pong/\" (constantly {:status 200, :body \"\"})]])\n ; only handle extra trailing slash\n (ring/redirect-trailing-slash-handler {:method :strip})))\n\n(app {:uri \"/ping/\"})\n; {:status 308, :headers {\"Location\" \"/ping\"}, :body \"\"}\n\n(app {:uri \"/pong\"})\n; nil\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"\"})]\n [\"/pong/\" (constantly {:status 200, :body \"\"})]])\n ; only handle missing trailing slash\n (ring/redirect-trailing-slash-handler {:method :add})))\n\n(app {:uri \"/ping/\"})\n; nil\n\n(app {:uri \"/pong\"})\n; {:status 308, :headers {\"Location\" \"/pong/\"}, :body \"\"}\n\nredirect-trailing-slash-handler can be composed with the default handler using ring/routes for more correct http error responses:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"\"})]\n [\"/pong/\" (constantly {:status 200, :body \"\"})]])\n (ring/routes\n (ring/redirect-trailing-slash-handler {:method :add})\n (ring/create-default-handler))))\n\n(app {:uri \"/ping/\"})\n; {:status 404, :body \"\", :headers {}}\n\n(app {:uri \"/pong\"})\n; {:status 308, :headers {\"Location\" \"/pong/\"}, :body \"\"}\n\n"},"ring/static.html":{"url":"ring/static.html","title":"Static Resources","keywords":"","body":"Static Resources (Clojure Only)\nStatic resources can be served using reitit.ring/create-resource-handler. It takes optionally an options map and returns a ring handler to serve files from Classpath.\nThere are two options to serve the files.\nInternal routes\nThis is good option if static files can be from non-conflicting paths, e.g. \"/assets/*\".\n(require '[reitit.ring :as ring])\n\n(ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"pong\"})]\n [\"/assets/*\" (ring/create-resource-handler)]])\n (ring/create-default-handler))\n\nTo serve static files with conflicting routes, e.g. \"/*\", one needs to disable the conflict resolution:\n(require '[reitit.ring :as ring])\n\n(ring/ring-handler\n (ring/router\n [[\"/ping\" (constantly {:status 200, :body \"pong\"})]\n [\"/*\" (ring/create-resource-handler)]]\n {:conflicts (constantly nil)})\n (ring/create-default-handler))\n\nExternal routes\nA better way to serve files from conflicting paths, e.g. \"/*\", is to serve them from the default-handler. One can compose multiple default locations using ring-handler. This way, they are only served if none of the actual routes have matched.\n(ring/ring-handler\n (ring/router\n [\"/ping\" (constantly {:status 200, :body \"pong\"})])\n (ring/routes\n (ring/create-resource-handler {:path \"/\"})\n (ring/create-default-handler)))\n\nConfiguration\nreitit.ring/create-resource-handler takes optionally an options map to configure how the files are being served.\n\n\n\nkey\ndescription\n\n\n\n\n:parameter\noptional name of the wildcard parameter, defaults to unnamed keyword :\n\n\n:root\noptional resource root, defaults to \\\"public\\\"\n\n\n:path\noptional path to mount the handler to. Works only if mounted outside of a router.\n\n\n:loader\noptional class loader to resolve the resources\n\n\n:index-files\noptional vector of index-files to look in a resource directory, defaults to [\\\"index.html\\\"]\n\n\n:not-found-handler\noptional handler function to use if the requested resource is missing (404 Not Found)\n\n\n\nTODO\n\nsupport for things like :cache, :etag, :last-modified?, and :gzip\nsupport for ClojureScript\nserve from file-system\n\n"},"ring/dynamic_extensions.html":{"url":"ring/dynamic_extensions.html","title":"Dynamic Extensions","keywords":"","body":"Dynamic Extensions\nring-handler injects the Match into a request and it can be extracted at runtime with reitit.ring/get-match. This can be used to build ad-hoc extensions to the system.\nExample middleware to guard routes based on user roles:\n(require '[reitit.ring :as ring])\n(require '[clojure.set :as set])\n\n(defn wrap-enforce-roles [handler]\n (fn [{:keys [::roles] :as request}]\n (let [required (some-> request (ring/get-match) :data ::roles)]\n (if (and (seq required) (not (set/subset? required roles)))\n {:status 403, :body \"forbidden\"}\n (handler request)))))\n\nMounted to an app via router data (affecting all routes):\n(def handler (constantly {:status 200, :body \"ok\"}))\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/api\"\n [\"/ping\" handler]\n [\"/admin\" {::roles #{:admin}}\n [\"/ping\" handler]]]]\n {:data {:middleware [wrap-enforce-roles]}})))\n\nAnonymous access to public route:\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body \"ok\"}\n\nAnonymous access to guarded route:\n(app {:request-method :get, :uri \"/api/admin/ping\"})\n; {:status 403, :body \"forbidden\"}\n\nAuthorized access to guarded route:\n(app {:request-method :get, :uri \"/api/admin/ping\", ::roles #{:admin}})\n; {:status 200, :body \"ok\"}\n\nDynamic extensions are nice, but we can do much better. See data-driven middleware and compiling routes.\n"},"ring/data_driven_middleware.html":{"url":"ring/data_driven_middleware.html","title":"Data-driven Middleware","keywords":"","body":"Data-driven Middleware\nRing defines middleware as a function of type handler & args => request => response. It's relatively easy to understand and enables good performance. Downside is that the middleware-chain is just a opaque function, making things like debugging and composition hard. It's too easy to apply the middleware in wrong order.\nReitit defines middleware as data:\n\nMiddleware can be defined as first-class data entries\nMiddleware can be mounted as a duct-style vector (of middleware)\nMiddleware can be optimized & compiled againt an endpoint\nMiddleware chain can be transformed by the router\n\nMiddleware as data\nAll values in the :middleware vector in the route data are expanded into reitit.middleware/Middleware Records with using the reitit.middleware/IntoMiddleware Protocol. By default, functions, maps and Middleware records are allowed.\nRecords can have arbitrary keys, but the following keys have a special purpose:\n\n\n\nkey\ndescription\n\n\n\n\n:name\nName of the middleware as a qualified keyword\n\n\n:spec\nclojure.spec definition for the route data, see route data validation (optional)\n\n\n:wrap\nThe actual middleware function of handler & args => request => response\n\n\n:compile\nMiddleware compilation function, see compiling middleware.\n\n\n\nMiddleware Records are accessible in their raw form in the compiled route results, thus available for inventories, creating api-docs etc.\nFor the actual request processing, the Records are unwrapped into normal functions and composed into a middleware function chain, yielding zero runtime penalty.\nCreating Middleware\nThe following produce identical middleware runtime function.\nFunction\n(defn wrap [handler id]\n (fn [request]\n (handler (update request ::acc (fnil conj []) id))))\n\nMap\n(def wrap3\n {:name ::wrap3\n :description \"Middleware that does things.\"\n :wrap wrap})\n\nRecord\n(require '[reitit.middleware :as middleware])\n\n(def wrap2\n (middleware/create\n {:name ::wrap2\n :description \"Middleware that does things.\"\n :wrap wrap}))\n\nUsing Middleware\n:middleware is merged to endpoints by the router.\n(require '[reitit.ring :as ring])\n\n(defn handler [{:keys [::acc]}]\n {:status 200, :body (conj acc :handler)})\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[wrap 1] [wrap2 2]]}\n [\"/ping\" {:get {:middleware [[wrap3 3]]\n :handler handler}}]])))\n\nAll the middleware are applied correctly:\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body [1 2 3 :handler]}\n\nCompiling middleware\nMiddleware can be optimized against an endpoint using middleware compilation.\nIdeas for the future\n\nSupport Middleware dependency resolution with new keys :requires and :provides. Values are set of top-level keys of the request. e.g.\nInjectUserIntoRequestMiddleware requires #{:session} and provides #{:user}\nAuthorizationMiddleware requires #{:user}\n\n\n\nIdeas welcome & see issues for details.\n"},"ring/transforming_middleware_chain.html":{"url":"ring/transforming_middleware_chain.html","title":"Transforming Middleware Chain","keywords":"","body":"Transforming the Middleware Chain\nThere is an extra option in ring-router (actually, in the underlying middleware-router): :reitit.middleware/transform to transform the middleware chain per endpoint. Value should be a function or a vector of functions that get a vector of compiled middleware and should return a new vector of middleware.\nExample Application\n(require '[reitit.ring :as ring])\n(require '[reitit.middleware :as middleware])\n\n(defn wrap [handler id]\n (fn [request]\n (handler (update request ::acc (fnil conj []) id))))\n\n(defn handler [{:keys [::acc]}]\n {:status 200, :body (conj acc :handler)})\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[wrap 1] [wrap 2]]}\n [\"/ping\" {:get {:middleware [[wrap 3]]\n :handler handler}}]])))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body [1 2 3 :handler]}\n\nReversing the Middleware Chain\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[wrap 1] [wrap 2]]}\n [\"/ping\" {:get {:middleware [[wrap 3]]\n :handler handler}}]]\n {::middleware/transform reverse})))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body [3 2 1 :handler]}\n\nInterleaving Middleware\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[wrap 1] [wrap 2]]}\n [\"/ping\" {:get {:middleware [[wrap 3]]\n :handler handler}}]]\n {::middleware/transform #(interleave % (repeat [wrap :debug]))})))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body [1 :debug 2 :debug 3 :debug :handler]}\n\nPrinting Request Diffs\n[metosin/reitit-middleware \"0.3.1\"]\n\nUsing reitit.ring.middleware.dev/print-request-diffs transformation, the request diffs between each middleware are printed out to the console. To use it, add the following router option:\n:reitit.middleware/transform reitit.ring.middleware.dev/print-request-diffs\n\nSample output:\n\n"},"ring/middleware_registry.html":{"url":"ring/middleware_registry.html","title":"Middleware Registry","keywords":"","body":"Middleware Registry\nThe :middleware syntax in reitit-ring supports also Keywords. Keywords are looked from Middleware Registry, which is a map of keyword => IntoMiddleware. Middleware registry should be stored under key :reitit.middleware/registry in the router options. If a middleware keyword isn't found in the registry, router creation fails fast with descriptive error message.\nExamples\nApplication using middleware defined in the Middleware Registry:\n(require '[reitit.ring :as ring])\n(require '[reitit.middleware :as middleware])\n\n(defn wrap-bonus [handler value]\n (fn [request]\n (handler (update request :bonus (fnil + 0) value))))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[:bonus 20]]}\n [\"/bonus\" {:middleware [:bonus10]\n :get (fn [{:keys [bonus]}]\n {:status 200, :body {:bonus bonus}})}]]\n {::middleware/registry {:bonus wrap-bonus\n :bonus10 [:bonus 10]}})))\n\nWorks as expected:\n(app {:request-method :get, :uri \"/api/bonus\"})\n; {:status 200, :body {:bonus 30}}\n\nRouter creation fails fast if registry doesn't contain the Middleware:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [[:bonus 20]]}\n [\"/bonus\" {:middleware [:bonus10]\n :get (fn [{:keys [bonus]}]\n {:status 200, :body {:bonus bonus}})}]]\n {::middleware/registry {:bonus wrap-bonus}})))\n;CompilerException clojure.lang.ExceptionInfo: Middleware :bonus10 not found in registry.\n;\n;Available middleware in registry:\n;\n;| :id | :description |\n;|--------+--------------------------------------|\n;| :bonus | reitit.ring_test$wrap_bonus@59fddabb |\n\nWhen to use the registry?\nMiddleware as Keywords helps to keep the routes (all but handlers) as literal data (e.g. data that evaluates to itself) enabling the routes to be persisted in external formats like EDN-files and databases. Duct is a good example where the middleware can be referenced from EDN-files. It should be easy to make Duct configuration a Middleware Registry in reitit-ring.\nThe bad thing it's an extra indirection, making things more complex and removed the default IDE-support of \"goto definition\" or \"look source\".\nTODO\n\na prefilled registry of common middleware in the reitit-middleware\n\n"},"ring/default_middleware.html":{"url":"ring/default_middleware.html","title":"Default Middleware","keywords":"","body":"Default Middleware\n[metosin/reitit-middleware \"0.3.1\"]\n\nAny Ring middleware can be used with reitit-ring, but using data-driven middleware is preferred as they are easier to manage and in many cases, yield better performance. reitit-middleware contains a set of common ring middleware, lifted into data-driven middleware.\n\nParameter Handling\nException Handling\nContent Negotiation\nMultipart Request Handling\nInspecting Middleware Chain\n\nParameters Handling\nreitit.ring.middleware.parameters/parameters-middleware to capture query- and form-params. Wraps\nring.middleware.params/wrap-params.\nNOTE: will be factored into two parts: a query-parameters middleware and a Muuntaja format responsible for the the application/x-www-form-urlencoded body format.\nException Handling\nA polished version of compojure-api exception handling. Catches all exceptions and invokes configured exception handler.\n(require '[reitit.ring.middleware.exception :as exception])\n\nexception/exception-middleware\nA preconfigured middleware using exception/default-handlers. Catches:\n\nRequest & response Coercion exceptions\nMuuntaja decode exceptions\nExceptions with :type of :reitit.ring/response, returning :response key from ex-data.\nSafely all other exceptions\n\n(require '[reitit.ring :as ring])\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/fail\" (fn [_] (throw (Exception. \"fail\")))]\n {:data {:middleware [exception/exception-middleware]}})))\n\n(app {:request-method :get, :uri \"/fail\"})\n;{:status 500\n; :body {:type \"exception\"\n; :class \"java.lang.Exception\"}}\n\nexception/create-exception-middleware\nCreates the exception-middleware with custom options. Takes a map of identifier => exception request => response that is used to select the exception handler for the thrown/raised exception identifier. Exception idenfier is either a Keyword or a Exception Class.\nThe following handlers are available by default:\n\n\n\nkey\ndescription\n\n\n\n\n:reitit.ring/response\nvalue in ex-data key :response will be returned\n\n\n:muuntaja/decode\nhandle Muuntaja decoding exceptions\n\n\n:reitit.coercion/request-coercion\nrequest coercion errors (http 400 response)\n\n\n:reitit.coercion/response-coercion\nresponse coercion errors (http 500 response)\n\n\n::exception/default\na default exception handler if nothing else matched (default exception/default-handler).\n\n\n::exception/wrap\na 3-arity handler to wrap the actual handler handler exception request => response (no default).\n\n\n\nThe handler is selected from the options map by exception idenfitifier in the following lookup order:\n1) :type of exception ex-data\n2) Class of exception\n3) :type ancestors of exception ex-data\n4) Super Classes of exception\n5) The ::default handler\n;; type hierarchy\n(derive ::error ::exception)\n(derive ::failure ::exception)\n(derive ::horror ::exception)\n\n(defn handler [message exception request]\n {:status 500\n :body {:message message\n :exception (.getClass exception)\n :data (ex-data exception)\n :uri (:uri request)}})\n\n(def exception-middleware\n (exception/create-exception-middleware\n (merge\n exception/default-handlers\n {;; ex-data with :type ::error\n ::error (partial handler \"error\")\n\n ;; ex-data with ::exception or ::failure\n ::exception (partial handler \"exception\")\n\n ;; SQLException and all it's child classes\n java.sql.SQLException (partial handler \"sql-exception\")\n\n ;; override the default handler\n ::exception/default (partial handler \"default\")\n\n ;; print stack-traces for all exceptions\n ::exception/wrap (fn [handler e request]\n (println \"ERROR\" (pr-str (:uri request)))\n (handler e request))})))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/fail\" (fn [_] (throw (ex-info \"fail\" {:type ::failue})))]\n {:data {:middleware [exception-middleware]}})))\n\n(app {:request-method :get, :uri \"/fail\"})\n; ERROR \"/fail\"\n; => {:status 500,\n; :body {:message \"default\"\n; :exception clojure.lang.ExceptionInfo\n; :data {:type :user/failue}\n; :uri \"/fail\"}}\n\nContent Negotiation\nWrapper for Muuntaja middleware for content-negotiation, request decoding and response encoding. Takes explicit configuration via :muuntaja key in route data. Emit's swagger :produces and :consumes definitions automatically based on the Muuntaja configuration.\nNegotiates a request body based on Content-Type header and response body based on Accept, Accept-Charset headers. Publishes the negotiation results as :muuntaja/request and :muuntaja/response keys into the request.\nDecodes the request body into :body-params using the :muuntaja/request key in request if the :body-params doesn't already exist.\nEncodes the response body using the :muuntaja/response key in request if the response doesn't have Content-Type header already set.\nExpected route data:\n\n\n\nkey\ndescription\n\n\n\n\n:muuntaja\nmuuntaja.core/Muuntaja instance, does not mount if not set.\n\n\n\n(require '[reitit.ring.middleware.muuntaja :as muuntaja])\n\n\nmuuntaja/format-middleware - Negotiation, request decoding and response encoding in a single Middleware\nmuuntaja/format-negotiate-middleware - Negotiation\nmuuntaja/format-request-middleware - Request decoding\nmuuntaja/format-response-middleware - Response encoding\n\n(require '[reitit.ring :as ring])\n(require '[reitit.ring.coercion :as rrc])\n(require '[reitit.coercion.spec :as rcs])\n(require '[ring.adapter.jetty :as jetty])\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/math\"\n {:post {:summary \"negotiated request & response (json, edn, transit)\"\n :parameters {:body {:x int?, :y int?}}\n :responses {200 {:body {:total int?}}}\n :handler (fn [{{{:keys [x y]} :body} :parameters}]\n {:status 200\n :body {:total (+ x y)}})}}]\n [\"/xml\"\n {:get {:summary \"forced xml response\"\n :handler (fn [_]\n {:status 200\n :headers {\"Content-Type\" \"text/xml\"}\n :body \"kukka\"})}}]]\n {:data {:muuntaja m/instance\n :coercion rcs/coercion\n :middleware [muuntaja/format-middleware\n rrc/coerce-exceptions-middleware\n rrc/coerce-request-middleware\n rrc/coerce-response-middleware]}})))\n\n(jetty/run-jetty #'app {:port 3000, :join? false})\n\nTesting with httpie:\n> http POST :3000/math x:=1 y:=2\n\nHTTP/1.1 200 OK\nContent-Length: 11\nContent-Type: application/json; charset=utf-8\nDate: Wed, 22 Aug 2018 16:59:54 GMT\nServer: Jetty(9.2.21.v20170120)\n\n{\n \"total\": 3\n}\n\n> http :3000/xml\n\nHTTP/1.1 200 OK\nContent-Length: 20\nContent-Type: text/xml\nDate: Wed, 22 Aug 2018 16:59:58 GMT\nServer: Jetty(9.2.21.v20170120)\n\nkukka\n\nMultipart Request Handling\nWrapper for Ring Multipart Middleware. Emits swagger :consumes definitions automatically.\nExpected route data:\n\n\n\nkey\ndescription\n\n\n\n\n[:parameters :multipart]\nmounts only if defined for a route.\n\n\n\n(require '[reitit.ring.middleware.multipart :as multipart])\n\n\nmultipart/multipart-middleware a preconfigured middleware for multipart handling\nmultipart/create-multipart-middleware to generate with custom configuration\n\nInspecting Middleware Chain\nreitit.ring.middleware.dev/print-request-diffs is a middleware chain transforming function. It prints a request and response diff between each middleware. To use it, add the following router option:\n:reitit.middleware/transform reitit.ring.middleware.dev/print-request-diffs\n\nPartial sample output:\n\nExample app\nSee an example app with the default middleware in action: https://github.com/metosin/reitit/blob/master/examples/ring-swagger/src/example/server.clj.\n"},"ring/coercion.html":{"url":"ring/coercion.html","title":"Ring Coercion","keywords":"","body":"Ring Coercion\nBasic coercion is explained in detail in the Coercion Guide. With Ring, both request parameters and response bodies can be coerced.\nThe following request parameters are currently supported:\n\n\n\ntype\nrequest source\n\n\n\n\n:query\n:query-params\n\n\n:body\n:body-params\n\n\n:form\n:form-params\n\n\n:header\n:header-params\n\n\n:path\n:path-params\n\n\n\nTo enable coercion, the following things need to be done:\n\nDefine a reitit.coercion/Coercion for the routes\nDefine types for the parameters and/or responses\nMount Coercion Middleware to apply to coercion\nUse the coerced parameters in a handler/middleware\n\nDefine coercion\nreitit.coercion/Coercion is a protocol defining how types are defined, coerced and inventoried.\nReitit ships with the following coercion modules:\n\nreitit.coercion.schema/coercion for plumatic schema\nreitit.coercion.spec/coercion for both clojure.spec and data-specs\n\nCoercion can be attached to route data under :coercion key. There can be multiple Coercion implementations within a single router, normal scoping rules apply.\nDefining parameters and responses\nParameters are defined in route data under :parameters key. It's value should be a map of parameter :type -> Coercion Schema.\nResponses are defined in route data under :responses key. It's value should be a map of http status code to a map which can contain :body key with Coercion Schema as value.\nBelow is an example with Plumatic Schema. It defines schemas for :query, :body and :path parameters and for http 200 response :body.\nHandler can access the coerced parameters can be read under :parameters key in the request.\n(require '[reitit.coercion.schema])\n(require '[schema.core :as s])\n\n(def PositiveInt (s/constrained s/Int pos? 'PositiveInt))\n\n(def plus-endpoint\n {:coercion reitit.coercion.schema/coercion\n :parameters {:query {:x s/Int}\n :body {:y s/Int}\n :path {:z s/Int}}\n :responses {200 {:body {:total PositiveInt}}}\n :handler (fn [{:keys [parameters]}]\n (let [total (+ (-> parameters :query :x)\n (-> parameters :body :y)\n (-> parameters :path :z))]\n {:status 200\n :body {:total total}}))})\n\nCoercion Middleware\nDefining a coercion for a route data doesn't do anything, as it's just data. We have to attach some code to apply the actual coercion. We can use the middleware from reitit.ring.coercion:\n\ncoerce-request-middleware to apply the parameter coercion\ncoerce-response-middleware to apply the response coercion\ncoerce-exceptions-middleware to transform coercion exceptions into pretty responses\n\nFull example\nHere's an full example for applying coercion with Reitit, Ring and Schema:\n(require '[reitit.ring.coercion :as rrc])\n(require '[reitit.coercion.schema])\n(require '[reitit.ring :as ring])\n(require '[schema.core :as s])\n\n(def PositiveInt (s/constrained s/Int pos? 'PositiveInt))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\"\n [\"/ping\" {:name ::ping\n :get (fn [_]\n {:status 200\n :body \"pong\"})}]\n [\"/plus/:z\" {:name ::plus\n :post {:coercion reitit.coercion.schema/coercion\n :parameters {:query {:x s/Int}\n :body {:y s/Int}\n :path {:z s/Int}}\n :responses {200 {:body {:total PositiveInt}}}\n :handler (fn [{:keys [parameters]}]\n (let [total (+ (-> parameters :query :x)\n (-> parameters :body :y)\n (-> parameters :path :z))]\n {:status 200\n :body {:total total}}))}}]]\n {:data {:middleware [rrc/coerce-exceptions-middleware\n rrc/coerce-request-middleware\n rrc/coerce-response-middleware]}})))\n\nValid request:\n(app {:request-method :post\n :uri \"/api/plus/3\"\n :query-params {\"x\" \"1\"}\n :body-params {:y 2}})\n; {:status 200, :body {:total 6}}\n\nInvalid request:\n(app {:request-method :post\n :uri \"/api/plus/3\"\n :query-params {\"x\" \"abba\"}\n :body-params {:y 2}})\n; {:status 400,\n; :body {:schema {:x \"Int\", \"Any\" \"Any\"},\n; :errors {:x \"(not (integer? \\\"abba\\\"))\"},\n; :type :reitit.coercion/request-coercion,\n; :coercion :schema,\n; :value {:x \"abba\"},\n; :in [:request :query-params]}}\n\nInvalid response:\n(app {:request-method :post\n :uri \"/api/plus/3\"\n :query-params {\"x\" \"1\"}\n :body-params {:y -10}})\n; {:status 500,\n; :body {:schema {:total \"(constrained Int PositiveInt)\"},\n; :errors {:total \"(not (PositiveInt -6))\"},\n; :type :reitit.coercion/response-coercion,\n; :coercion :schema,\n; :value {:total -6},\n; :in [:response :body]}}\n\nPretty printing spec errors\nSpec problems are exposed as-is into request & response coercion errors, enabling pretty-printers like expound to be used:\n(require '[reitit.ring :as ring])\n(require '[reitit.ring.middleware.exception :as exception])\n(require '[reitit.ring.coercion :as coercion])\n(require '[expound.alpha :as expound])\n\n(defn coercion-error-handler [status]\n (let [printer (expound/custom-printer {:theme :figwheel-theme, :print-specs? false})\n handler (exception/create-coercion-handler status)]\n (fn [exception request]\n (printer (-> exception ex-data :problems))\n (handler exception request))))\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/plus\"\n {:get\n {:parameters {:query {:x int?, :y int?}}\n :responses {200 {:body {:total pos-int?}}}\n :handler (fn [{{{:keys [x y]} :query} :parameters}]\n {:status 200, :body {:total (+ x y)}})}}]\n {:data {:coercion reitit.coercion.spec/coercion\n :middleware [(exception/create-exception-middleware\n (merge\n exception/default-handlers\n {:reitit.coercion/request-coercion (coercion-error-handler 400)\n :reitit.coercion/response-coercion (coercion-error-handler 500)}))\n coercion/coerce-request-middleware\n coercion/coerce-response-middleware]}})))\n\n(app\n {:uri \"/plus\"\n :request-method :get\n :query-params {\"x\" \"1\", \"y\" \"fail\"}})\n; => ...\n; -- Spec failed --------------------\n;\n; {:x ..., :y \"fail\"}\n; ^^^^^^\n;\n; should satisfy\n;\n; int?\n\n\n\n(app\n {:uri \"/plus\"\n :request-method :get\n :query-params {\"x\" \"1\", \"y\" \"-2\"}})\n; => ...\n;-- Spec failed --------------------\n;\n; {:total -1}\n; ^^\n;\n; should satisfy\n;\n; pos-int?\n\nOptimizations\nThe coercion middleware are compiled againts a route. In the middleware compilation step the actual coercer implementations are constructed for the defined models. Also, the middleware doesn't mount itself if a route doesn't have :coercion and :parameters or :responses defined.\nWe can query the compiled middleware chain for the routes:\n(require '[reitit.core :as r])\n\n(-> (ring/get-router app)\n (r/match-by-name ::plus)\n :result :post :middleware\n (->> (mapv :name)))\n; [::mw/coerce-exceptions\n; ::mw/coerce-request\n; ::mw/coerce-response]\n\nRoute without coercion defined:\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body \"pong\"}\n\nHas no mounted middleware:\n(-> (ring/get-router app)\n (r/match-by-name ::ping)\n :result :get :middleware\n (->> (mapv :name)))\n; []\n\n"},"ring/route_data_validation.html":{"url":"ring/route_data_validation.html","title":"Route Data Validation","keywords":"","body":"Route Data Validation\nRing route validation works just like with core router, with few differences:\n\nreitit.ring.spec/validate should be used instead of reitit.spec/validate - to support validating all endpoints (:get, :post etc.)\nWith clojure.spec validation, Middleware can contribute to route spec via :specs key. The effective route data spec is router spec merged with middleware specs.\n\nExample\nA simple app with spec-validation turned on:\n(require '[clojure.spec.alpha :as s])\n(require '[reitit.ring :as ring])\n(require '[reitit.ring.spec :as rrs])\n(require '[reitit.spec :as rs])\n(require '[expound.alpha :as e])\n\n(defn handler [_]\n {:status 200, :body \"ok\"})\n\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\"\n [\"/public\"\n [\"/ping\" {:get handler}]]\n [\"/internal\"\n [\"/users\" {:get {:handler handler}\n :delete {:handler handler}}]]]\n {:validate rrs/validate\n ::rs/explain e/expound-str})))\n\nAll good:\n(app {:request-method :get\n :uri \"/api/internal/users\"})\n; {:status 200, :body \"ok\"}\n\nExplicit specs via middleware\nMiddleware that requires :zone to be present in route data:\n(s/def ::zone #{:public :internal})\n\n(def zone-middleware\n {:name ::zone-middleware\n :spec (s/keys :req-un [::zone])\n :wrap (fn [handler]\n (fn [request]\n (let [zone (-> request (ring/get-match) :data :zone)]\n (println zone)\n (handler request))))})\n\nMissing route data fails fast at router creation:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [zone-middleware]} ;; \nAdding the :zone to route data fixes the problem:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [zone-middleware]}\n [\"/public\" {:zone :public} ;; {:status 200, :body \"ok\"}\n\nImplicit specs\nBy design, clojure.spec validates all fully-qualified keys with s/keys specs even if they are not defined in that keyset. Validation is implicit but powerful.\nLet's reuse the wrap-enforce-roles from Dynamic extensions and define specs for the data:\n(require '[clojure.set :as set])\n\n(s/def ::role #{:admin :manager})\n(s/def ::roles (s/coll-of ::role :into #{}))\n\n(defn wrap-enforce-roles [handler]\n (fn [{:keys [::roles] :as request}]\n (let [required (some-> request (ring/get-match) :data ::roles)]\n (if (and (seq required) (not (set/subset? required roles)))\n {:status 403, :body \"forbidden\"}\n (handler request)))))\n\nwrap-enforce-roles silently ignores if the ::roles is not present:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [zone-middleware\n wrap-enforce-roles]} ;; {:status 200, :body \"ok\"}\n\nBut fails if they are present and invalid:\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\" {:middleware [zone-middleware\n wrap-enforce-roles]}\n [\"/public\" {:zone :public}\n [\"/ping\" {:get handler}]]\n [\"/internal\" {:zone :internal}\n [\"/users\" {:get {:handler handler\n ::roles #{:manager} ;; \nPushing the data to the endpoints\nAbility to define (and reuse) route-data in mid-paths is a powerful feature, but having data defined all around might be harder to reason about. There is always an option to define all data at the endpoints.\n(def app\n (ring/ring-handler\n (ring/router\n [\"/api\"\n [\"/public\"\n [\"/ping\" {:zone :public\n :get handler\n :middleware [zone-middleware\n wrap-enforce-roles]}]]\n [\"/internal\"\n [\"/users\" {:zone :internal\n :middleware [zone-middleware\n wrap-enforce-roles]\n :get {:handler handler\n ::roles #{:manager}}\n :delete {:handler handler\n ::roles #{:admin}}}]]]\n {:validate rrs/validate\n ::rs/explain e/expound-str})))\n\nOr even flatten the routes:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/api/public/ping\" {:zone :public\n :get handler\n :middleware [zone-middleware\n wrap-enforce-roles]}]\n [\"/api/internal/users\" {:zone :internal\n :middleware [zone-middleware\n wrap-enforce-roles]\n :get {:handler handler\n ::roles #{:manager}}\n :delete {:handler handler\n ::roles #{:admin}}}]]\n {:validate rrs/validate\n ::rs/explain e/expound-str})))\n\nThe common Middleware can also be pushed to the router, here cleanly separing behavior and data:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/api/public/ping\" {:zone :public\n :get handler}]\n [\"/api/internal/users\" {:zone :internal\n :get {:handler handler\n ::roles #{:manager}}\n :delete {:handler handler\n ::roles #{:admin}}}]]\n {:data {:middleware [zone-middleware wrap-enforce-roles]}\n :validate rrs/validate\n ::rs/explain e/expound-str})))\n\n"},"ring/compiling_middleware.html":{"url":"ring/compiling_middleware.html","title":"Compiling Middleware","keywords":"","body":"Compiling Middleware\nThe dynamic extensions is a easy way to extend the system. To enable fast lookups into route data, we can compile them into any shape (records, functions etc.) we want, enabling fast access at request-time.\nBut, we can do much better. As we know the exact route that middleware/interceptor is linked to, we can pass the (compiled) route information into the middleware at creation-time. It can do local reasoning: extract and transform relevant data just for it and pass the optimized data into the actual request-handler via a closure - yielding much faster runtime processing. Middleware can also decide not to mount itself by returning nil. Why mount a wrap-enforce-roles middleware for a route if there are no roles required for it?\nTo enable this we use middleware records :compile key instead of the normal :wrap. :compile expects a function of route-data router-opts => ?IntoMiddleware.\nTo demonstrate the two approaches, below are response coercion middleware written as normal ring middleware function and as middleware record with :compile.\nNormal Middleware\n\nReads the compiled route information on every request. Everything is done at request-time.\n\n(defn wrap-coerce-response\n \"Middleware for pluggable response coercion.\n Expects a :coercion of type `reitit.coercion/Coercion`\n and :responses from route data, otherwise will do nothing.\"\n [handler]\n (fn\n ([request]\n (let [response (handler request)\n method (:request-method request)\n match (ring/get-match request)\n responses (-> match :result method :data :responses)\n coercion (-> match :data :coercion)\n opts (-> match :data :opts)]\n (if (and coercion responses)\n (let [coercers (response-coercers coercion responses opts)]\n (coerce-response coercers request response))\n response)))\n ([request respond raise]\n (let [method (:request-method request)\n match (ring/get-match request)\n responses (-> match :result method :data :responses)\n coercion (-> match :data :coercion)\n opts (-> match :data :opts)]\n (if (and coercion responses)\n (let [coercers (response-coercers coercion responses opts)]\n (handler request #(respond (coerce-response coercers request %))))\n (handler request respond raise))))))\n\nCompiled Middleware\n\nRoute information is provided at creation-time\nCoercers are compiled at creation-time\nMiddleware mounts only if :coercion and :responses are defined for the route\nAlso defines spec for the route data :responses for the route data validation.\n\n(require '[reitit.spec :as rs])\n\n(def coerce-response-middleware\n \"Middleware for pluggable response coercion.\n Expects a :coercion of type `reitit.coercion/Coercion`\n and :responses from route data, otherwise does not mount.\"\n {:name ::coerce-response\n :spec ::rs/responses\n :compile (fn [{:keys [coercion responses]} opts]\n (if (and coercion responses)\n (let [coercers (coercion/response-coercers coercion responses opts)]\n (fn [handler]\n (fn\n ([request]\n (coercion/coerce-response coercers request (handler request)))\n ([request respond raise]\n (handler request #(respond (coercion/coerce-response coercers request %)) raise)))))))})\n\nIt has 50% less code, it's much easier to reason about and is much faster.\n"},"ring/swagger.html":{"url":"ring/swagger.html","title":"Swagger Support","keywords":"","body":"Swagger Support\n[metosin/reitit-swagger \"0.3.1\"]\nReitit supports Swagger2 documentation, thanks to schema-tools and spec-tools. Documentation is extracted from route definitions, coercion :parameters and :responses and from a set of new documentation keys.\nTo enable swagger-documentation for a ring-router:\n\nannotate your routes with swagger-data\nmount a swagger-handler to serve the swagger-spec\noptionally mount a swagger-ui to visualize the swagger-spec\n\nSwagger data\nThe following route data keys contribute to the generated swagger specification:\n\n\n\nkey\ndescription\n\n\n\n\n:swagger\nmap of any swagger-data. Can have :id (keyword or sequence of keywords) to identify the api\n\n\n:no-doc\noptional boolean to exclude endpoint from api docs\n\n\n:tags\noptional set of strings of keywords tags for an endpoint api docs\n\n\n:summary\noptional short string summary of an endpoint\n\n\n:description\noptional long description of an endpoint. Supports http://spec.commonmark.org/\n\n\n\nCoercion keys also contribute to the docs:\n\n\n\nkey\ndescription\n\n\n\n\n:parameters\noptional input parameters for a route, in a format defined by the coercion\n\n\n:responses\noptional descriptions of responess, in a format defined by coercion\n\n\n\nThere is a reitit.swagger.swagger-feature, which acts as both a Middleware and an Interceptor that is not participating in any request processing - it just defines the route data specs for the routes it's mounted to. It is only needed if the route data validation is turned on.\nSwagger spec\nTo serve the actual Swagger Specification, there is reitit.swagger/create-swagger-handler. It takes no arguments and returns a ring-handler which collects at request-time data from all routes for the same swagger api and returns a formatted Swagger specification as Clojure data, to be encoded by a response formatter.\nIf you need to post-process the generated spec, just wrap the handler with a custom Middleware or an Interceptor.\nSwagger-ui\nSwagger-ui is a user interface to visualize and interact with the Swagger specification. To make things easy, there is a pre-integrated version of the swagger-ui as a separate module.\n[metosin/reitit-swagger-ui \"0.3.1\"]\nreitit.swagger-ui/create-swagger-ui-hander can be used to create a ring-handler to serve the swagger-ui. It accepts the following options:\n\n\n\nkey\ndescription\n\n\n\n\n:parameter\noptional name of the wildcard parameter, defaults to unnamed keyword :\n\n\n:root\noptional resource root, defaults to \"swagger-ui\"\n\n\n:url\npath to swagger endpoint, defaults to /swagger.json\n\n\n:path\noptional path to mount the handler to. Works only if mounted outside of a router.\n\n\n:config\nparameters passed to swaggger-ui as-is. See the docs\n\n\n\nWe use swagger-ui from ring-swagger-ui, which can be easily configured from routing application. It stores files swagger-ui in the resource classpath.\nWebjars also hosts a version of the swagger-ui.\nNOTE: Currently, swagger-ui module is just for Clojure. ClojureScript-support welcome as a PR!\nExamples\nSimple example\n\ntwo routes\nswagger-spec served from \"/swagger.json\"\nswagger-ui mounted to \"/api-docs\"\nnote that for real-world use, you need a content-negation middleware -\nsee the next example\n\n(require '[reitit.ring :as ring])\n(require '[reitit.swagger :as swagger])\n(require '[reitit.swagger-ui :as swagger-ui])\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/api\"\n [\"/ping\" {:get (constantly {:status 200, :body \"ping\"})}]\n [\"/pong\" {:post (constantly {:status 200, :body \"pong\"})}]]\n [\"\" {:no-doc true}\n [\"/swagger.json\" {:get (swagger/create-swagger-handler)}]\n [\"/api-docs/*\" {:get (swagger-ui/create-swagger-ui-handler)}]]])))\n\nThe generated swagger spec:\n(app {:request-method :get :uri \"/swagger.json\"})\n;{:status 200\n; :body {:swagger \"2.0\"\n; :x-id #{:reitit.swagger/default}\n; :paths {\"/api/ping\" {:get {}}\n; \"/api/pong\" {:post {}}}}}\n\nSwagger-ui:\n(app {:request-method :get, :uri \"/api-docs/index.html\"})\n; ... the swagger-ui index-page, configured correctly\n\nYou might be interested in adding a trailing slash handler to the app to serve the swagger-ui from /api-docs (without the trailing slash) too.\nAnother way to serve the swagger-ui is using the default handler:\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/api\"\n [\"/ping\" {:get (constantly {:status 200, :body \"ping\"})}]\n [\"/pong\" {:post (constantly {:status 200, :body \"pong\"})}]]\n [\"/swagger.json\"\n {:get {:no-doc true\n :handler (swagger/create-swagger-handler)}}]]) \n (swagger-ui/create-swagger-ui-handler {:path \"/api-docs\"})))\n\nMore complete example\n\nclojure.spec coercion\nswagger data (:tags, :produces, :summary, :basePath)\nswagger-spec served from \"/swagger.json\"\nswagger-ui mounted to \"/\"\nset of middleware for content negotiation, exceptions, multipart etc.\nmissed routes are handled by create-default-handler\nserved via ring-jetty\n\nWhole example project is in /examples/ring-swagger.\n(ns example.server\n (:require [reitit.ring :as ring]\n [reitit.swagger :as swagger]\n [reitit.swagger-ui :as swagger-ui]\n [reitit.ring.coercion :as coercion]\n [reitit.coercion.spec]\n [reitit.ring.middleware.muuntaja :as muuntaja]\n [reitit.ring.middleware.exception :as exception]\n [reitit.ring.middleware.multipart :as multipart]\n [reitit.ring.middleware.parameters :as parameters]\n [ring.middleware.params :as params]\n [ring.adapter.jetty :as jetty]\n [muuntaja.core :as m]\n [clojure.java.io :as io]))\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/swagger.json\"\n {:get {:no-doc true\n :swagger {:info {:title \"my-api\"}\n :basePath \"/\"} ;; prefix for all paths\n :handler (swagger/create-swagger-handler)}}]\n\n [\"/files\"\n {:swagger {:tags [\"files\"]}}\n\n [\"/upload\"\n {:post {:summary \"upload a file\"\n :parameters {:multipart {:file multipart/temp-file-part}}\n :responses {200 {:body {:file multipart/temp-file-part}}}\n :handler (fn [{{{:keys [file]} :multipart} :parameters}]\n {:status 200\n :body {:file file}})}}]\n\n [\"/download\"\n {:get {:summary \"downloads a file\"\n :swagger {:produces [\"image/png\"]}\n :handler (fn [_]\n {:status 200\n :headers {\"Content-Type\" \"image/png\"}\n :body (io/input-stream (io/resource \"reitit.png\"))})}}]]\n\n [\"/math\"\n {:swagger {:tags [\"math\"]}}\n\n [\"/plus\"\n {:get {:summary \"plus with spec query parameters\"\n :parameters {:query {:x int?, :y int?}}\n :responses {200 {:body {:total int?}}}\n :handler (fn [{{{:keys [x y]} :query} :parameters}]\n {:status 200\n :body {:total (+ x y)}})}\n :post {:summary \"plus with spec body parameters\"\n :parameters {:body {:x int?, :y int?}}\n :responses {200 {:body {:total int?}}}\n :handler (fn [{{{:keys [x y]} :body} :parameters}]\n {:status 200\n :body {:total (+ x y)}})}}]]]\n\n {:data {:coercion reitit.coercion.spec/coercion\n :muuntaja m/instance\n :middleware [;; query-params & form-params\n parameters/parameters-middleware\n ;; content-negotiation\n muuntaja/format-negotiate-middleware\n ;; encoding response body\n muuntaja/format-response-middleware\n ;; exception handling\n exception/exception-middleware\n ;; decoding request body\n muuntaja/format-request-middleware\n ;; coercing response bodys\n coercion/coerce-response-middleware\n ;; coercing request parameters\n coercion/coerce-request-middleware\n ;; multipart\n multipart/multipart-middleware]}})\n (ring/routes\n (swagger-ui/create-swagger-ui-handler {:path \"/\"})\n (ring/create-default-handler))))\n\n(defn start []\n (jetty/run-jetty #'app {:port 3000, :join? false})\n (println \"server running in port 3000\"))\n\nhttp://localhost:3000 should render now the swagger-ui:\n\nMultiple swagger apis\nThere can be multiple swagger apis within a router. Each route can be part of 0..n swagger apis. Swagger apis are identified by value in route data under key path [:swagger :id]. It can be either a keyword or a sequence of keywords. Normal route data scoping rules rules apply.\nExample with:\n\n4 routes\n2 swagger apis ::one and ::two\n3 swagger specs\n\n(require '[reitit.ring :as ring])\n(require '[reitit.swagger :as swagger])\n\n(def ping-route\n [\"/ping\" {:get (constantly {:status 200, :body \"ping\"})}])\n\n(def spec-route\n [\"/swagger.json\"\n {:get {:no-doc true\n :handler (swagger/create-swagger-handler)}}])\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/common\" {:swagger {:id #{::one ::two}}} ping-route]\n [\"/one\" {:swagger {:id ::one}} ping-route spec-route]\n [\"/two\" {:swagger {:id ::two}} ping-route spec-route\n [\"/deep\" {:swagger {:id ::one}} ping-route]]\n [\"/one-two\" {:swagger {:id #{::one ::two}}} spec-route]])))\n\n(-> {:request-method :get, :uri \"/one/swagger.json\"} app :body :paths keys)\n; (\"/common/ping\" \"/one/ping\" \"/two/deep/ping\")\n\n(-> {:request-method :get, :uri \"/two/swagger.json\"} app :body :paths keys)\n; (\"/common/ping\" \"/two/ping\")\n\n(-> {:request-method :get, :uri \"/one-two/swagger.json\"} app :body :paths keys)\n; (\"/common/ping\" \"/one/ping\" \"/two/ping\" \"/two/deep/ping\")\n\nTODO\n\nClojureScript\nexample for Macchiato\nbody formatting\nresource handling\n\n\n\n"},"ring/RESTful_form_methods.html":{"url":"ring/RESTful_form_methods.html","title":"RESTful form methods","keywords":"","body":"RESTful form methods\nWhen designing RESTful applications you will be doing a lot of \"PATCH\" and \"DELETE\" request, but most browsers don't support methods other than \"GET\" and \"POST\" when it comes to submitting forms. \nThere is a pattern to solve this (pioneered by Rails) using a hidden \"_method\" field in the form and swapping out the \"POST\" method for whatever is in that field.\nWe can do this with middleware in reitit like this: \n(defn- hidden-method\n [request]\n (keyword \n (or (get-in request [:form-params \"_method\"]) ;; look for \"_method\" field in :form-params\n (get-in request [:multipart-params \"_method\"])))) ;; or in :multipart-params\n\n(def wrap-hidden-method\n {:name ::wrap-hidden-method\n :wrap (fn [handler]\n (fn [request]\n (if-let [fm (and (= :post (:request-method request)) ;; if this is a :post request\n (hidden-method request))] ;; and there is a \"_method\" field \n (handler (assoc request :request-method fm)) ;; replace :request-method\n (handler request))))})\n\nAnd apply the middleware like this: \n(reitit.ring/ring-handler\n (reitit.ring/router ...)\n (reitit.ring/create-default-handler)\n {:middleware \n [reitit.ring.middleware.parameters/parameters-middleware ;; needed to have :form-params in the request map\n reitit.ring.middleware.multipart/multipart-middleware ;; needed to have :multipart-params in the request map\n wrap-hidden-method]}) ;; our hidden method wrapper\n\n(NOTE: This middleware must be placed here and not inside the route data given to reitit.ring/handler. \nThis is so that our middleware is applied before reitit matches the request with a spesific handler using the wrong method.)\n"},"http/interceptors.html":{"url":"http/interceptors.html","title":"Interceptors","keywords":"","body":"Interceptors\nReitit also support for interceptors as an alternative to using middleware. Basic interceptor handling is implemented in reitit.interceptor package. There is no interceptor executor shipped, but you can use libraries like Pedestal Interceptor or Sieppari to execute the chains.\nReitit-http\n[metosin/reitit-http \"0.3.1\"]\n\nAn module for http-routing using interceptors instead of middleware. Builds on top of the reitit-ring module having all the same features.\nThe differences:\n\n:interceptors key in used in route data instead of :middleware\nreitit.http/http-router requires an extra option :executor of type reitit.interceptor/Executor to execute the interceptor chain\noptionally, a routing interceptor can be used - it enqueues the matched interceptors into the context. See reitit.http/routing-interceptor for details.\n\n\n\nSimple example\n(require '[reitit.ring :as ring])\n(require '[reitit.http :as http])\n(require '[reitit.interceptor.sieppari :as sieppari])\n\n(defn interceptor [number]\n {:enter (fn [ctx] (update-in ctx [:request :number] (fnil + 0) number))})\n\n(def app\n (http/ring-handler\n (http/router\n [\"/api\"\n {:interceptors [(interceptor 1)]}\n\n [\"/number\"\n {:interceptors [(interceptor 10)]\n :get {:interceptors [(interceptor 100)]\n :handler (fn [req]\n {:status 200\n :body (select-keys req [:number])})}}]])\n\n ;; the default handler\n (ring/create-default-handler)\n\n ;; executor\n {:executor sieppari/executor}))\n\n\n(app {:request-method :get, :uri \"/\"})\n; {:status 404, :body \"\", :headers {}}\n\n(app {:request-method :get, :uri \"/api/number\"})\n; {:status 200, :body {:number 111}}\n\nWhy interceptors?\n\nhttps://quanttype.net/posts/2018-08-03-why-interceptors.html\nhttps://www.reddit.com/r/Clojure/comments/9csmty/why_interceptors/\n\n"},"http/pedestal.html":{"url":"http/pedestal.html","title":"Pedestal","keywords":"","body":"Pedestal\nPedestal is a backend web framework for Clojure. reitit-pedestal provides an alternative routing engine for Pedestal.\n[metosin/reitit-pedestal \"0.3.1\"]\n\nWhy should one use reitit instead of the Pedestal default routing?\n\nOne simple route syntax, with full route conflict resolution.\nSupports first class route data with spec validation.\nFixes some known problems in routing.\nCan handle trailing backslashes.\nOne router for both backend and frontend.\nSupports parameter coercion & Swagger.\nIs even faster.\n\nTo use Pedestal with reitit, you should first read both the Pedestal docs and the reitit interceptor guide.\nExample\nA minimalistic example on how to to swap the default-router with a reitit router.\n; [io.pedestal/pedestal.service \"0.5.5\"]\n; [io.pedestal/pedestal.jetty \"0.5.5\"]\n; [metosin/reitit-pedestal \"0.3.1\"]\n; [metosin/reitit \"0.3.1\"]\n\n(require '[io.pedestal.http :as server])\n(require '[reitit.pedestal :as pedestal])\n(require '[reitit.http :as http])\n(require '[reitit.ring :as ring])\n\n(defn interceptor [number]\n {:enter (fn [ctx] (update-in ctx [:request :number] (fnil + 0) number))})\n\n(def routes\n [\"/api\"\n {:interceptors [(interceptor 1)]}\n\n [\"/number\"\n {:interceptors [(interceptor 10)]\n :get {:interceptors [(interceptor 100)]\n :handler (fn [req]\n {:status 200\n :body (select-keys req [:number])})}}]])\n\n(-> {::server/type :jetty\n ::server/port 3000\n ::server/join? false\n ;; no pedestal routes\n ::server/routes []}\n (server/default-interceptors)\n ;; swap the reitit router\n (pedestal/replace-last-interceptor\n (pedestal/routing-interceptor\n (http/router routes)))\n (server/dev-interceptors)\n (server/create-server)\n (server/start))\n\nCompatibility\nThere is no common interceptor spec for Clojure and all default reitit interceptors (coercion, exceptions etc.) use the Sieppari interceptor model. It is mostly compatible with the Pedestal Interceptor model, only exception being that the :error handlers take just 1 arity (context) compared to Pedestal's 2-arity (context and exception).\nCurrently, out of the reitit default interceptors, there is only the reitit.http.interceptors.exception/exception-interceptor which has the :error defined.\nYou are most welcome to discuss about a common interceptor spec in #interceptors on Clojurians Slack.\nMore examples\nSimple\nSimple example with sync & async interceptors: https://github.com/metosin/reitit/tree/master/examples/pedestal\nSwagger\nMore complete example with custom interceptors, default interceptors, coercion and swagger-support enabled: https://github.com/metosin/reitit/tree/master/examples/pedestal-swagger\n"},"http/sieppari.html":{"url":"http/sieppari.html","title":"Sieppari","keywords":"","body":"Sieppari\n[metosin/reitit-sieppari \"0.3.1\"]\n\nSieppari is a new and fast interceptor implementation for Clojure, with pluggable async supporting core.async, Manifold and Promesa.\nTo use Sieppari with reitit-http, we need to attach a reitit.interceptor.sieppari/executor to a http-router to compile and execute the interceptor chains. Reitit and Sieppari share the same interceptor model, so all reitit default interceptors work seamlesly together.\nWe can use both syncronous ring and async-ring with Sieppari.\nSynchronous Ring\n(require '[reitit.http :as http])\n(require '[reitit.interceptor.sieppari :as sieppari])\n\n(defn i [x]\n {:enter (fn [ctx] (println \"enter \" x) ctx)\n :leave (fn [ctx] (println \"leave \" x) ctx)})\n\n(defn handler [_]\n (future {:status 200, :body \"pong\"}))\n\n(def app\n (http/ring-handler\n (http/router\n [\"/api\"\n {:interceptors [(i :api)]}\n\n [\"/ping\"\n {:interceptors [(i :ping)]\n :get {:interceptors [(i :get)]\n :handler handler}}]])\n {:executor sieppari/executor}))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n;enter :api\n;enter :ping\n;enter :get\n;leave :get\n;leave :ping\n;leave :api\n;=> {:status 200, :body \"pong\"}\n\nAsync-ring\n(let [respond (promise)]\n (app {:request-method :get, :uri \"/api/ping\"} respond nil)\n (deref respond 1000 ::timeout))\n;enter :api\n;enter :ping\n;enter :get\n;leave :get\n;leave :ping\n;leave :api\n;=> {:status 200, :body \"pong\"}\n\nExamples\nSimple\n\nsimple example, with both sync & async code:\nhttps://github.com/metosin/reitit/tree/master/examples/http\n\n\n\nWith batteries\n\nwith default interceptors, coercion and swagger-support:\nhttps://github.com/metosin/reitit/tree/master/examples/http-swagger\n\n\n\n"},"http/default_interceptors.html":{"url":"http/default_interceptors.html","title":"Default Interceptors","keywords":"","body":"Default Interceptors\n[metosin/reitit-interceptors \"0.3.1\"]\n\nJust like the ring default middleware, but for interceptors.\nParameters handling\n\nreitit.http.interceptors.parameters/parameters-interceptor \n\nException handling\n\nreitit.http.interceptors.exception/exception-interceptor\n\nContent Negotiation\n\nreitit.http.interceptors.muuntaja/format-interceptor\nreitit.http.interceptors.muuntaja/format-negotiate-interceptor\nreitit.http.interceptors.muuntaja/format-request-interceptor\nreitit.http.interceptors.muuntaja/format-response-interceptor\n\nMultipart request handling\n\nreitit.http.interceptors.multipart/multipart-interceptor\n\nExample app\nSee an example app with the default interceptors in action: https://github.com/metosin/reitit/blob/master/examples/http-swagger/src/example/server.clj.\n"},"http/transforming_interceptor_chain.html":{"url":"http/transforming_interceptor_chain.html","title":"Transforming Interceptor Chain","keywords":"","body":"Transforming the Interceptor Chain\nThere is an extra option in http-router (actually, in the underlying interceptor-router): :reitit.interceptor/transform to transform the interceptor chain per endpoint. Value should be a function or a vector of functions that get a vector of compiled interceptors and should return a new vector of interceptors.\nNote: the last interceptor in the chain is usually the handler, compiled into an Interceptor. Applying a transformation clojure.core/reverse would put this interceptor into first in the chain, making the rest of the interceptors effectively unreachable. There is a helper reitit.interceptor/transform-butlast to transform all but the last interceptor.\nExample Application\n(require '[reitit.http :as http])\n(require '[reitit.interceptor.sieppari :as sieppari])\n\n(defn interceptor [message]\n {:enter (fn [ctx] (update-in ctx [:request :message] (fnil conj []) message))})\n\n(defn handler [req]\n {:status 200\n :body (select-keys req [:message])})\n\n(def app\n (http/ring-handler\n (http/router\n [\"/api\" {:interceptors [(interceptor 1) (interceptor 2)]}\n [\"/ping\" {:get {:interceptors [(interceptor 3)]\n :handler handler}}]])\n {:executor sieppari/executor}))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body {:message [1 2 3]}}\n\nReversing the Interceptor Chain\n(def app\n (http/ring-handler\n (http/router\n [\"/api\" {:interceptors [(interceptor 1) (interceptor 2)]}\n [\"/ping\" {:get {:interceptors [(interceptor 3)]\n :handler handler}}]]\n {::interceptor/transform (interceptor/transform-butlast reverse)})\n {:executor sieppari/executor}))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body {:message [3 2 1]}}\n\nInterleaving Interceptors\n(def app\n (http/ring-handler\n (http/router\n [\"/api\" {:interceptors [(interceptor 1) (interceptor 2)]}\n [\"/ping\" {:get {:interceptors [(interceptor 3)]\n :handler handler}}]]\n {::interceptor/transform #(interleave % (repeat (interceptor :debug)))})\n {:executor sieppari/executor}))\n\n(app {:request-method :get, :uri \"/api/ping\"})\n; {:status 200, :body {:message [1 :debug 2 :debug 3 :debug]}}\n\nPrinting Context Diffs\n[metosin/reitit-interceptors \"0.3.1\"]\n\nUsing reitit.http.interceptors.dev/print-context-diffs transformation, the context diffs between each interceptor are printed out to the console. To use it, add the following router option:\n:reitit.interceptor/transform reitit.http.interceptor.dev/print-context-diffs\n\nSample output:\n\nSample applications (uncomment the option to see the diffs):\n\nSieppari: https://github.com/metosin/reitit/blob/master/examples/http-swagger/src/example/server.clj\nPedestal: https://github.com/metosin/reitit/blob/master/examples/pedestal-swagger/src/example/server.clj\n\n"},"frontend/basics.html":{"url":"frontend/basics.html","title":"Basics","keywords":"","body":"Frontend basics\nReitit frontend integration is built from multiple layers:\n\nCore functions with some additional browser oriented features\nBrowser integration for attaching Reitit to hash-change or HTML\nhistory events\nStateful wrapper for easy use of history integration\nOptional controller extension\n\nCore functions\nreitit.frontend provides few useful functions wrapping core functions:\nmatch-by-path version which parses a URI using JavaScript, including\nquery-string, and also coerces the parameters.\nCoerced parameters are stored in match :parameters property. If coercion\nis not enabled, the original parameters are stored in the same property,\nto allow the same code to read parameters regardless if coercion is\nenabled.\nrouter which compiles coercers by default.\nmatch-by-name and match-by-name! with optional path-paramers and\nlogging errors to console.warn instead of throwing errors to prevent\nReact breaking due to errors.\nNext\nBrowser integration\n"},"frontend/browser.html":{"url":"frontend/browser.html","title":"Browser integration","keywords":"","body":"Frontend browser integration\nReitit includes two browser history integrations.\nFunctions follow HTML5 History API: push-state to change route, replace-state\nto change route without leaving previous entry in browser history.\nFragment router\nFragment is simple integration which stores the current route in URL fragment,\ni.e. after #. This means the route is never part of the request URI and\nserver will always know which file to return (index.html).\nHTML5 router\nHTML5 History API can be used to modify the URL in browser without making\nrequest to the server. This means the URL will look normal, but the downside is\nthat the server must respond to all routes with correct file (index.html).\nCheck examples for simple Ring handler example.\nEasy\nReitit frontend routers require storing the state somewhere and passing it to\nall the calls. Wrapper reitit.frontend.easy is provided which manages\na router instance and passes the instance to all calls. This should\nallow easy use in most applications, as browser anyway can only have single\nevent handler for page change events.\nHistory manipulation\nReitit doesn't include functions to manipulate the history stack, i.e.\ngo back or forwards, but calling History API functions directly should work:\n(.go js/window.history -1)\n;; or\n(.back js/window.history)\n"},"frontend/controllers.html":{"url":"frontend/controllers.html","title":"Controllers","keywords":"","body":"Controllers\n\nhttps://github.com/metosin/reitit/tree/master/examples/frontend-controllers\n\nControllers run code when a route is entered and left. This can be useful to:\n\nLoad resources\nUpdate application state\n\nHow controllers work\nA controller map can contain these properties:\n\nidentity function which takes a Match and returns an arbitrary value,\nor parameters value, which declares which parameters should affect\ncontroller identity\nstart & stop functions, which are called with controller identity\n\nWhen you navigate to a route that has a controller, controller identity\nis first resolved by calling identity function, or by using parameters\ndeclaration, or if neither is set, the identity is nil. Next controller\nis initialized by calling start is called with the identity value.\nWhen you exit that route, stop is called with the return value of params.\nIf you navigate to the same route with different match, identity gets\nresolved again. If the identity changes from the previous value, controller\nis reinitialized: stop and start get called again.\nYou can add controllers to a route by adding them to the route data in the\n:controllers vector. For example:\n[\"/item/:id\"\n {:controllers [{:parameters {:path [:id]}\n :start (fn [parameters] (js/console.log :start (-> parameters :path :id)))\n :stop (fn [parameters] (js/console.log :stop (-> parameters :path :id)))}]}]\n\nYou can leave out start or stop if you do not need both of them.\nEnabling controllers\nYou need to\ncall\nreitit.frontend.controllers/apply-controllers whenever\nthe URL changes. You can call it from the on-navigate callback of\nreitit.frontend.easy:\n(ns frontend.core\n (:require [reitit.frontend.easy :as rfe]\n [reitit.frontend.controllers :as rfc]))\n\n(defonce match-a (atom nil))\n\n(def routes\n [\"/\" ...])\n\n(defn init! []\n (rfe/start!\n routes\n (fn [new-match]\n (swap! match-a\n (fn [old-match]\n (when new-match\n (assoc new-match\n :controllers (rfc/apply-controllers (:controllers old-match) new-match))))))))\n\nSee also the full example.\nNested controllers\nWhen you nest routes in the route tree, the controllers get concatenated when\nroute data is merged. Consider this route tree:\n[\"/\" {:controllers [{:start (fn [_] (js/console.log \"root start\"))}]}\n [\"/item/:id\"\n {:controllers [{:params (fn [match] (get-in match [:path-params :id]))\n :start (fn [item-id] (js/console.log \"item start\" item-id))\n :stop (fn [item-id] (js/console.log \"item stop\" item-id))}]}]]\n\n\nWhen you navigate to any route at all, the root controller gets started.\nIf you navigate to /item/something, the root controller gets started first\nand then the item controller gets started.\nIf you then navigate from /item/something to /item/something-else, first\nthe item controller gets stopped with parameter something and then it gets\nstarted with the parameter something-else. The root controller stays on the\nwhole time since its parameters do not change.\n\nTips\nAuthentication\nControllers can be used to load resources from a server. If and when your\nAPI requires authentication you will need to implement logic to prevent controllers\ntrying to do requests if user isn't authenticated yet.\nRun controllers and check authentication\nIf you have both unauthenticated and authenticated resources, you can\nrun the controllers always and then check the authentication status\non controller code, or on the code called from controllers (e.g. re-frame event\nhandler).\nDisable controllers until user is authenticated\nIf all your resources require authentication an easy way to prevent bad\nrequests is to enable controllers only after authentication is done.\nTo do this you can check authentication status and call apply-controllers\nonly after authentication is done (also remember to manually call apply-controllers\nwith current match when authentication is done). Or if no navigation is possible\nbefore authentication is done, you can start the router only after\nauthentication is done.\nAlternatives\nSimilar solution could be used to describe required resources as data (maybe\neven GraphQL query) per route, and then have code automatically load\nmissing resources.\nControllers elsewhere\n\nControllers in Keechma\n\n"},"advanced/configuring_routers.html":{"url":"advanced/configuring_routers.html","title":"Configuring Routers","keywords":"","body":"Configuring Routers\nRouters can be configured via options. The following options are available for the reitit.core/router:\n\n\n\nkey\ndescription\n\n\n\n\n:path\nBase-path for routes\n\n\n:routes\nInitial resolved routes (default [])\n\n\n:data\nInitial route data (default {})\n\n\n:spec\nclojure.spec definition for a route data, see reitit.spec on how to use this\n\n\n:expand\nFunction of arg opts => data to expand route arg to route data (default reitit.core/expand)\n\n\n:coerce\nFunction of route opts => route to coerce resolved route, can throw or return nil\n\n\n:compile\nFunction of route opts => result to compile a route handler\n\n\n:validate\nFunction of routes opts => () to validate route (data) via side-effects\n\n\n:conflicts\nFunction of {route #{route}} => () to handle conflicting routes\n\n\n:exception\nFunction of Exception => Exception to handle creation time exceptions (default reitit.exception/exception)\n\n\n:router\nFunction of routes opts => router to override the actual router implementation\n\n\n\n"},"advanced/composing_routers.html":{"url":"advanced/composing_routers.html","title":"Composing Routers","keywords":"","body":"Composing Routers\nData-driven approach in reitit allows us to compose routes, route data, route specs, middleware and interceptors chains. We can compose routers too. This is needed to achieve dynamic routing like in Compojure.\nImmutatability\nOnce a router is created, the routing tree is immutable and cannot be changed. To change the routing, we need to create a new router with changed routes and/or options. For this, the Router protocol exposes it's resolved routes via r/routes and options via r/options.\nAdding routes\nLet's create a router:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [[\"/foo\" ::foo]\n [\"/bar/:id\" ::bar]]))\n\nWe can query the resolved routes and options:\n(r/routes router)\n;[[\"/foo\" {:name :user/foo}]\n; [\"/bar/:id\" {:name :user/bar}]]\n\n(r/options router)\n;{:lookup #object[...]\n; :expand #object[...]\n; :coerce #object[...]\n; :compile #object[...]\n; :conflicts #object[...]}\n\nLet's add a helper function to create a new router with extra routes:\n(defn add-routes [router routes]\n (r/router\n (into (r/routes router) routes)\n (r/options router)))\n\nWe can now create a new router with extra routes:\n(def router2\n (add-routes\n router\n [[\"/baz/:id/:subid\" ::baz]]))\n\n(r/routes router2)\n;[[\"/foo\" {:name :user/foo}]\n; [\"/bar/:id\" {:name :user/bar}]\n; [\"/baz/:id/:subid\" {:name :user/baz}]]\n\nThe original router was not changed:\n(r/routes router)\n;[[\"/foo\" {:name :user/foo}]\n; [\"/bar/:id\" {:name :user/bar}]]\n\nWhen a new router is created, all rules are applied, including the conflict resolution:\n(add-routes\n router2\n [[\"/:this/should/:fail\" ::fail]])\n;CompilerException clojure.lang.ExceptionInfo: Router contains conflicting route paths:\n;\n; /baz/:id/:subid\n;-> /:this/should/:fail\n\nMerging routers\nLet's create a helper function to merge routers:\n(defn merge-routers [& routers]\n (r/router\n (apply merge (map r/routes routers))\n (apply merge (map r/options routers))))\n\nWe can now merge multiple routers into one:\n(def router\n (merge-routers\n (r/router [\"/route1\" ::route1])\n (r/router [\"/route2\" ::route2])\n (r/router [\"/route3\" ::route3])))\n\n(r/routes router)\n;[[\"/route1\" {:name :user/route1}]\n; [\"/route2\" {:name :user/route2}]\n; [\"/route3\" {:name :user/route3}]]\n\nNesting routers\nRouters can be nested using the catch-all parameter.\nHere's a router with deeply nested routers under a :router key in the route data:\n(def router\n (r/router\n [[\"/ping\" :ping]\n [\"/olipa/*\" {:name :olipa\n :router (r/router\n [[\"/olut\" :olut]\n [\"/makkara\" :makkara]\n [\"/kerran/*\" {:name :kerran\n :router (r/router\n [[\"/avaruus\" :avaruus]\n [\"/ihminen\" :ihminen]])}]])}]]))\n\nMatching by path:\n(r/match-by-path router \"/olipa/kerran/iso/kala\")\n;#Match{:template \"/olipa/*\"\n; :data {:name :olipa\n; :router #object[reitit.core$mixed_router]}\n; :result nil\n; :path-params {: \"kerran/iso/kala\"}\n; :path \"/olipa/iso/kala\"}\n\nThat didn't work as we wanted, as the nested routers don't have such a route. The core routing doesn't understand anything the :router key, so it only matched against the top-level router, which gave a match for the catch-all path.\nAs the Match contains all the route data, we can create a new matching function that understands the :router key. Below is a function that does recursive matching using the subrouters. It returns either nil or a vector of matches.\n(require '[clojure.string :as str])\n\n(defn recursive-match-by-path [router path]\n (if-let [match (r/match-by-path router path)]\n (if-let [subrouter (-> match :data :router)]\n (let [subpath (subs path (str/last-index-of (:template match) \"/\"))]\n (if-let [submatch (recursive-match-by-path subrouter subpath)]\n (cons match submatch)))\n (list match))))\n\nWith invalid nested path we get now nil as expected:\n(recursive-match-by-path router \"/olipa/kerran/iso/kala\")\n; nil\n\nWith valid path we get all the nested matches:\n(recursive-match-by-path router \"/olipa/kerran/avaruus\")\n;[#reitit.core.Match{:template \"/olipa/*\"\n; :data {:name :olipa\n; :router #object[reitit.core$mixed_router]}\n; :result nil\n; :path-params {: \"kerran/avaruus\"}\n; :path \"/olipa/kerran/avaruus\"}\n; #reitit.core.Match{:template \"/kerran/*\"\n; :data {:name :kerran\n; :router #object[reitit.core$lookup_router]}\n; :result nil\n; :path-params {: \"avaruus\"}\n; :path \"/kerran/avaruus\"}\n; #reitit.core.Match{:template \"/avaruus\" \n; :data {:name :avaruus} \n; :result nil \n; :path-params {} \n; :path \"/avaruus\"}]\n\nLet's create a helper to get only the route names for matches:\n(defn name-path [router path]\n (some->> (recursive-match-by-path router path)\n (mapv (comp :name :data))))\n\n(name-path router \"/olipa/kerran/avaruus\")\n; [:olipa :kerran :avaruus]\n\nSo, we can nest routers, but why would we do that?\nDynamic routing\nIn all the examples above, the routers were created ahead of time, making the whole route tree effectively static. To have more dynamic routing, we can use router references allowing the router to be swapped over time. We can also create fully dynamic routers where the router is re-created for each request. Let's walk through both cases.\nFirst, we need to modify our matching function to support router references:\n(defn- match :data :router \nThen, we need some routers.\nFirst, a reference to a router that can be updated on background, for example when a new entry in inserted into a database. We'll wrap the router into a atom:\n(def beer-router\n (atom\n (r/router \n [[\"/lager\" :lager]])))\n\nSecond, a reference to router, which is re-created on each routing request:\n(def dynamic-router\n (reify clojure.lang.IDeref\n (deref [_]\n (r/router\n [\"/duo\" (keyword (str \"duo\" (rand-int 100)))]))))\n\nWe can compose the routers into a system-level static root router:\n(def router\n (r/router\n [[\"/gin/napue\" :napue]\n [\"/ciders/*\" :ciders]\n [\"/beers/*\" {:name :beers\n :router beer-router}]\n [\"/dynamic/*\" {:name :dynamic\n :router dynamic-router}]]))\n\nMatching root routes:\n(name-path router \"/vodka/russian\")\n; nil\n\n(name-path router \"/gin/napue\")\n; [:napue]\n\nMatching (nested) beer routes:\n(name-path router \"/beers/lager\")\n; [:beers :lager]\n\n(name-path router \"/beers/saison\")\n; nil\n\nNo saison!? Let's add the route:\n(swap! beer-router add-routes [[\"/saison\" :saison]])\n\nThere we have it:\n(name-path router \"/beers/saison\")\n; [:beers :saison]\n\nWe can't add conflicting routes:\n(swap! beer-router add-routes [[\"/saison\" :saison]])\n;CompilerException clojure.lang.ExceptionInfo: Router contains conflicting route paths:\n;\n; /saison\n;-> /saison\n\nThe dynamic routes are re-created on every request:\n(name-path router \"/dynamic/duo\")\n; [:dynamic :duo71]\n\n(name-path router \"/dynamic/duo\")\n; [:dynamic :duo55]\n\nPerformance\nWith nested routers, instead of having to do just one route match, matching is recursive, which adds a small cost. All nested routers need to be of type catch-all at top-level, which is order of magnitude slower than fully static routes. Dynamic routes are the slowest ones, at least two orders of magnitude slower, as the router needs to be recreated for each request.\nA quick benchmark on the recursive lookups:\n\n\n\npath\ntime\ntype\n\n\n\n\n/gin/napue\n40ns\nstatic\n\n\n/ciders/weston\n440ns\ncatch-all\n\n\n/beers/saison\n600ns\ncatch-all + static\n\n\n/dynamic/duo\n12000ns\ncatch-all + dynamic\n\n\n\nThe non-recursive lookup for /gin/napue is around 23ns.\nComparing the dynamic routing performance with Compojure:\n(require '[compojure.core :refer [context])\n\n(def app\n (context \"/dynamic\" [] (constantly :duo)))\n\n(app {:uri \"/dynamic/duo\" :request-method :get})\n; :duo\n\n\n\n\npath\ntime\ntype\n\n\n\n\n/dynamic/duo\n20000ns\ncompojure\n\n\n\nCan we make the nester routing faster? Sure. We could use the Router :compile hook to compile the nested routers for better performance. We could also allow router creation rules to be disabled, to get the dynamic routing much faster.\nWhen to use nested routers?\nNesting routers is not trivial and because of that, should be avoided. For dynamic (request-time) route generation, it's the only choise. For other cases, nested routes are most likely a better option.\nLet's re-create the previous example with normal route nesting/composition.\nA helper to the root router:\n(defn create-router [beers]\n (r/router\n [[\"/gin/napue\" :napue]\n [\"/ciders/*\" :ciders]\n [\"/beers\" (for [beer beers]\n [(str \"/\" beer) (keyword \"beer\" beer)])]\n [\"/dynamic/*\" {:name :dynamic\n :router dynamic-router}]]))\n\nNew new root router reference and a helper to reset it:\n(def router\n (atom (create-router nil)))\n\n(defn reset-router! [beers]\n (reset! router (create-router beers)))\n\nThe routing tree:\n(r/routes @router)\n;[[\"/gin/napue\" {:name :napue}]\n; [\"/ciders/*\" {:name :ciders}]\n; [\"/dynamic/*\" {:name :dynamic,\n; :router #object[user$reify__24359]}]]\n\nLet's reset the router with some beers:\n(reset-router! [\"lager\" \"sahti\" \"bock\"])\n\nWe can see that the beer routes are now embedded into the core router:\n(r/routes @router)\n;[[\"/gin/napue\" {:name :napue}]\n; [\"/ciders/*\" {:name :ciders}]\n; [\"/beers/lager\" {:name :beer/lager}]\n; [\"/beers/sahti\" {:name :beer/sahti}]\n; [\"/beers/bock\" {:name :beer/bock}]\n; [\"/dynamic/*\" {:name :dynamic,\n; :router #object[user$reify__24359]}]]\n\nAnd the routing works:\n(name-path @router \"/beers/sahti\")\n;[:beer/sahti]\n\nAll the beer-routes now match in constant time.\n\n\n\npath\ntime\ntype\n\n\n\n\n/beers/sahti\n40ns\nstatic\n\n\n\nTODO\n\nadd an example how to do dynamic routing with reitit-ring\nmaybe create a recursive-router into a separate ns with all Router functions implemented correctly? maybe not...\nadd reitit.core/merge-routes to effectively merge routes with route data\n\n"},"advanced/different_routers.html":{"url":"advanced/different_routers.html","title":"Different Routers","keywords":"","body":"Different Routers\nReitit ships with several different implementations for the Router protocol, originally based on the Pedestal implementation. router function selects the most suitable implementation by inspecting the expanded routes. The implementation can be set manually using :router option, see configuring routers.\n\n\n\nrouter\ndescription\n\n\n\n\n:linear-router\nMatches the routes one-by-one starting from the top until a match is found. Slow, but works with all route trees.\n\n\n:trie-router\nRouter that creates a optimized search trie out of an route table. Much faster than :linear-router for wildcard routes. Valid only if there are no Route conflicts.\n\n\n:lookup-router\nFast router, uses hash-lookup to resolve the route. Valid if no paths have path or catch-all parameters and there are no Route conflicts.\n\n\n:single-static-path-router\nSuper fast router: string-matches a route. Valid only if there is one static route.\n\n\n:mixed-router\nContains two routers: :trie-router for wildcard routes and a :lookup-router or :single-static-path-router for static routes. Valid only if there are no Route conflicts.\n\n\n:quarantine-router\nContains two routers: :mixed-router for non-conflicting routes and a :linear-router for conflicting routes.\n\n\n\nThe router name can be asked from the router:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [[\"/ping\" ::ping]\n [\"/api/:users\" ::users]]))\n\n(r/router-name router)\n; :mixed-router\n\nOverriding the router implementation:\n(require '[reitit.core :as r])\n\n(def router\n (r/router\n [[\"/ping\" ::ping]\n [\"/api/:users\" ::users]]\n {:router r/linear-router}))\n\n(r/router-name router)\n; :linear-router\n\n"},"advanced/route_validation.html":{"url":"advanced/route_validation.html","title":"Route Validation","keywords":"","body":"Route validation\nNamespace reitit.spec contains clojure.spec definitions for raw-routes, routes, router and router options.\nExample\n(require '[clojure.spec.alpha :as s])\n(require '[reitit.spec :as spec])\n\n(def routes-from-db\n [\"tenant1\" ::tenant1])\n\n(s/valid? ::spec/raw-routes routes-from-db)\n; false\n\n(s/explain ::spec/raw-routes routes-from-db)\n; In: [0] val: \"tenant1\" fails spec: :reitit.spec/path at: [:route :path] predicate: (or (blank? %) (starts-with? % \"/\"))\n; In: [0] val: \"tenant1\" fails spec: :reitit.spec/raw-route at: [:routes] predicate: (cat :path :reitit.spec/path :arg (? :reitit.spec/arg) :childs (* (and (nilable :reitit.spec/raw-route))))\n; In: [1] val: :user/tenant1 fails spec: :reitit.spec/raw-route at: [:routes] predicate: (cat :path :reitit.spec/path :arg (? :reitit.spec/arg) :childs (* (and (nilable :reitit.spec/raw-route))))\n; :clojure.spec.alpha/spec :reitit.spec/raw-routes\n; :clojure.spec.alpha/value [\"tenant1\" :user/tenant1]\n\nAt development time\nreitit.core/router can be instrumented and use a tool like expound to pretty-print the spec problems.\nFirst add a :dev dependency to:\n[expound \"0.4.0\"] ; or higher\n\nSome bootstrapping:\n(require '[clojure.spec.test.alpha :as stest])\n(require '[expound.alpha :as expound])\n(require '[clojure.spec.alpha :as s])\n(require '[reitit.spec])\n\n(stest/instrument `reitit/router)\n(set! s/*explain-out* expound/printer)\n\nAnd we are ready to go:\n(require '[reitit.core :as r])\n\n(r/router\n [\"/api\"\n [\"/public\"\n [\"/ping\"]\n [\"pong\"]]])\n\n; CompilerException clojure.lang.ExceptionInfo: Call to #'reitit.core/router did not conform to spec:\n;\n; -- Spec failed --------------------\n;\n; Function arguments\n;\n; ([\"/api\" ...])\n; ^^^^^^\n;\n; should satisfy\n;\n; (clojure.spec.alpha/cat\n; :path\n; :reitit.spec/path\n; :arg\n; (clojure.spec.alpha/? :reitit.spec/arg)\n; :childs\n; (clojure.spec.alpha/*\n; (clojure.spec.alpha/and\n; (clojure.spec.alpha/nilable :reitit.spec/raw-route))))\n;\n; or\n;\n; (clojure.spec.alpha/cat\n; :path\n; :reitit.spec/path\n; :arg\n; (clojure.spec.alpha/? :reitit.spec/arg)\n; :childs\n; (clojure.spec.alpha/*\n; (clojure.spec.alpha/and\n; (clojure.spec.alpha/nilable :reitit.spec/raw-route))))\n;\n; -- Relevant specs -------\n;\n; :reitit.spec/raw-route:\n; (clojure.spec.alpha/cat\n; :path\n; :reitit.spec/path\n; :arg\n; (clojure.spec.alpha/? :reitit.spec/arg)\n; :childs\n; (clojure.spec.alpha/*\n; (clojure.spec.alpha/and\n; (clojure.spec.alpha/nilable :reitit.spec/raw-route))))\n; :reitit.spec/raw-routes:\n; (clojure.spec.alpha/or\n; :route\n; :reitit.spec/raw-route\n; :routes\n; (clojure.spec.alpha/coll-of :reitit.spec/raw-route :into []))\n;\n; -- Spec failed --------------------\n;\n; Function arguments\n;\n; ([... [... ... [\"pong\"]]])\n; ^^^^^^\n;\n; should satisfy\n;\n; (fn\n; [%]\n; (or\n; (clojure.string/blank? %)\n; (clojure.string/starts-with? % \"/\")))\n;\n; or\n;\n; (fn\n; [%]\n; (or\n; (clojure.string/blank? %)\n; (clojure.string/starts-with? % \"/\")))\n;\n; -- Relevant specs -------\n;\n; :reitit.spec/path:\n; (clojure.spec.alpha/and\n; clojure.core/string?\n; (clojure.core/fn\n; [%]\n; (clojure.core/or\n; (clojure.string/blank? %)\n; (clojure.string/starts-with? % \"/\"))))\n; :reitit.spec/raw-route:\n; (clojure.spec.alpha/cat\n; :path\n; :reitit.spec/path\n; :arg\n; (clojure.spec.alpha/? :reitit.spec/arg)\n; :childs\n; (clojure.spec.alpha/*\n; (clojure.spec.alpha/and\n; (clojure.spec.alpha/nilable :reitit.spec/raw-route))))\n; :reitit.spec/raw-routes:\n; (clojure.spec.alpha/or\n; :route\n; :reitit.spec/raw-route\n; :routes\n; (clojure.spec.alpha/coll-of :reitit.spec/raw-route :into []))\n;\n; -------------------------\n; Detected 2 errors\n\n"},"advanced/dev_workflow.html":{"url":"advanced/dev_workflow.html","title":"Dev Workflow","keywords":"","body":"Dev Worklfow\nMany applications will require the routes to span multiple namespaces. It is quite easy to do so with reitit, but we might hit a problem during developement.\nAn example\nConsider this sample routing :\n(ns ns1)\n\n(def routes\n [\"/bar\" ::bar])\n\n(ns ns2)\n(require '[ns1])\n\n(def routes\n [[\"/ping\" ::ping]\n [\"/more\" ns1/routes]])\n\n(ns ns3)\n(require '[ns1])\n(require '[ns2])\n(require '[reitit.core :as r])\n\n(def routes\n [\"/api\"\n [\"/ns2\" ns2/routes]\n [\"/ping\" ::ping]])\n\n(def router (r/router routes))\n\nWe may query the top router and get the expected result :\n(r/match-by-path router \"/api/ns2/more/bar\")\n;#reitit.core.Match{:template \"/api/ns2/more/bar\", :data {:name :ns1/bar}, :result nil, :path-params {}, :path \"/api/ns2/more/bar\"}\n\nNotice the route name : :ns1/bar\nWhen we change the routes in ns1 like this :\n(ns ns1\n (:require [reitit.core :as r]))\n\n(def routes\n [\"/bar\" ::bar-with-new-name])\n\nAfter we recompile the ns1 namespace, and query again\nns1/routes\n;[\"/bar\" :ns1/bar-with-new-name]\n;The routes var in ns1 was changed indeed\n\n(r/match-by-path router \"/api/ns2/more/bar\")\n;#reitit.core.Match{:template \"/api/ns2/more/bar\", :data {:name :ns1/bar}, :result nil, :path-params {}, :path \"/api/ns2/more/bar\"}\n\nThe route name is still :ns1/bar !\nWhile we could use the reloaded workflow to reload the whole routing tree, it is not always possible, and quite frankly a bit slower than we might want for fast iterations.\nA crude solution\nIn order to see the changes without reloading the whole route tree, we can use functions.\n(ns ns1)\n\n(defn routes [] ;; Now a function !\n [\"/bar\" ::bar])\n\n(ns ns2)\n(require '[ns1])\n\n(defn routes [] ;; Now a function !\n [[\"/ping\" ::ping]\n [\"/more\" (ns1/routes)]]) ;; Now a function call\n\n(ns ns3)\n(require '[ns1])\n(require '[ns2])\n(require '[reitit.core :as r])\n\n(defn routes [] ;; Now a function !\n [\"/api\"\n [\"/ns2\" (ns2/routes)] ;; Now a function call\n [\"/ping\" ::ping]])\n\n(def router #(r/router (routes))) ;; Now a function\n\nLet's query again\n(r/match-by-path (router) \"/api/ns2/more/bar\") \n;#reitit.core.Match{:template \"/api/ns2/more/bar\", :data {:name :ns1/bar}, :result nil, :path-params {}, :path \"/api/ns2/more/bar\"}\n\nNotice that's we're now calling a function rather than just passing router to the matching function.\nNow let's again change the route name in ns1, and recompile that namespace.\n(ns ns1)\n\n(defn routes [] \n [\"/bar\" ::bar-with-new-name])\n\nlet's see the query result :\n(r/match-by-path (router) \"/api/ns2/more/bar\")\n;#reitit.core.Match{:template \"/api/ns2/more/bar\", :data {:name :ns1/bar-with-new-name}, :result nil, :path-params {}, :path \"/api/ns2/more/bar\"}\n\nNotice that the name is now correct, without reloading every namespace under the sun.\nWhy is this a crude solution ?\nThe astute reader will have noticed that we're recompiling the full routing tree on every invocation. While this solution is practical during developement, it goes contrary to the performance goals of reitit. \nWe need a way to only do this once at production time.\nAn easy fix\nLet's apply a small change to our ns3. We'll replace our router by two different routers, one for dev and one for production.\n(ns ns3)\n(require '[ns1])\n(require '[ns2])\n(require '[reitit.core :as r])\n\n(defn routes [] \n [\"/api\"\n [\"/ns2\" (ns2/routes)] \n [\"/ping\" ::ping]])\n\n(def dev-router #(r/router (routes))) ;; A router for dev\n(def prod-router (constantly (r/router (routes)))) ;; A router for prod\n\nAnd there you have it, dynamic during dev, performance at production. We have it all !\n"},"advanced/shared_routes.html":{"url":"advanced/shared_routes.html","title":"Shared Routes","keywords":"","body":"Shared routes\nAs reitit-core works with both Clojure & ClojureScript, one can have a shared routing table for both the frontend and the backend application, using the Clojure Common Files.\nFor backend, you need to define a :handler for the request processing, for frontend, :name enables the use of reverse routing.\nThere are multiple options to use shared routing table.\nUsing reader conditionals\n;; define the handlers for clojure\n#?(:clj (declare get-kikka))\n#?(:clj (declare post-kikka))\n\n;; :name for both, :handler just for clojure\n(def routes\n [\"/kikka\"\n {:name ::kikka\n #?@(:clj [:get {:handler get-kikka}])\n #?@(:clj [:post {:handler post-kikka}])}])\n\nUsing custom expander\nraw-routes can have any non-sequential data as a route argument, which gets expanded using the :expand option given to the reitit.core.router function. It defaults to reitit.core/expand multimethod.\nFirst, define the common routes (in a .cljc file):\n(def routes\n [[\"/kikka\" ::kikka]\n [\"/bar\" ::bar]])\n\nThose can be used as-is from ClojureScript:\n(require '[reitit.core :as r])\n\n(def router\n (r/router routes))\n\n(r/match-by-name router ::kikka)\n;#Match{:template \"/kikka\"\n; :data {:name :user/kikka}\n; :result nil\n; :path-params nil\n; :path \"/kikka\"}\n\nFor the backend, we can use a custom-expander to expand the routes:\n(require '[reitit.ring :as ring])\n(require '[reitit.core :as r])\n\n(defn my-expand [registry]\n (fn [data opts]\n (if (keyword? data)\n (some-> data\n registry\n (r/expand opts)\n (assoc :name data))\n (r/expand data opts))))\n\n;; the handler functions\n(defn get-kikka [_] {:status 200, :body \"get\"})\n(defn post-kikka [_] {:status 200, :body \"post\"})\n(defn bar [_] {:status 200, :body \"bar\"})\n\n(def app\n (ring/ring-handler\n (ring/router\n [[\"/kikka\" ::kikka]\n [\"/bar\" ::bar]]\n ;; use a custom expander\n {:expand (my-expand\n {::kikka {:get get-kikka\n :post post-kikka}\n ::bar bar})})))\n\n(app {:request-method :post, :uri \"/kikka\"})\n; {:status 200, :body \"post\"}\n\n"},"performance.html":{"url":"performance.html","title":"Performance","keywords":"","body":"Performance\nReitit tries to be really, really fast.\n\nRationale\n\nMultiple routing algorithms, chosen based on the route tree\nRoute flattening and re-ordering\nManaged mutability over immutability\nPrecompute/compile as much as possible (matches, middleware, interceptors, routes, path-parameter sets)\nUse abstractions that enable JVM optimizations\nUse small functions to enable JVM Inlining\nUse Java where needed\nProtocols over Multimethods\nRecords over Maps\nAlways be measuring\nDon't trust the (micro-)benchmarks\n\nDoes routing performance matter?\nWell, it depends. With small route trees, it might not. But, with large (real-life) route trees, difference between the fastest and the slowest tested libs can be two or three orders of magnitude. For busy sites it actually matters if you routing request takes 100 ns or 100 µs. A lot.\nTests\nAll perf tests are found in the repo and have been run with the following setup:\n;;\n;; start repl with `lein perf repl`\n;; perf measured with the following setup:\n;;\n;; Model Name: MacBook Pro\n;; Model Identifier: MacBookPro11,3\n;; Processor Name: Intel Core i7\n;; Processor Speed: 2,5 GHz\n;; Number of Processors: 1\n;; Total Number of Cores: 4\n;; L2 Cache (per Core): 256 KB\n;; L3 Cache: 6 MB\n;; Memory: 16 GB\n;;\nNOTE: Tests are not scientific proof and may contain errors. You should always run the perf tests with your own (real-life) routing tables to get more accurate results for your use case. Also, if you have idea how to test things better, please let us know.\nSimple Example\nThe routing sample taken from bide README:\n(require '[reitit.core :as r])\n(require '[criterium.core :as cc])\n\n(def routes\n (r/router\n [[\"/auth/login\" :auth/login]\n [\"/auth/recovery/token/:token\" :auth/recovery]\n [\"/workspace/:project/:page\" :workspace/page]]))\n\n;; Execution time mean (per 1000) : 3.2 µs -> 312M ops/sec\n(cc/quick-bench\n (dotimes [_ 1000]\n (r/match-by-path routes \"/auth/login\")))\n\n;; Execution time mean (per 1000): 115 µs -> 8.7M ops/sec\n(cc/quick-bench\n (dotimes [_ 1000]\n (r/match-by-path routes \"/workspace/1/1\")))\n\nBased on the perf tests, the first (static path) lookup is 300-500x faster and the second (wildcard path) lookup is 18-110x faster that the other tested routing libs (Ataraxy, Bidi, Compojure and Pedestal).\nBut, the example is too simple for any real benchmark. Also, some of the libraries always match on the :request-method too and by doing so, do more work than just match by path. Compojure does most work also by invoking the handler.\nSo, we need to test something more realistic.\nRESTful apis\nTo get better view on the real life routing performance, there is test of a mid-size rest(ish) http api with 50+ routes, having a lot of path parameters. The route definitions are pulled off from the OpenSensors swagger definitions.\nThanks to the snappy Wildcard Trie (a modification of Radix Tree), reitit-ring is fastest here. Calfpath and Pedestal are also quite fast.\n\nCQRS apis\nAnother real-life test scenario is a CQRS style route tree, where all the paths are static, e.g. /api/command/add-order. The 300 route definitions are pulled out from Lupapiste.\nBoth reitit-ring and Pedestal shine in this test, thanks to the fast lookup-routers. On average, they are two and on best case, three orders of magnitude faster than the other tested libs. Ataraxy failed this test on Method code too large! error.\n\nNOTE: in real life, there are usually always also wild-card routes present. In this case, Pedestal would fallback from lookup-router to the prefix-tree router, which is order of magnitude slower (30x in this test). Reitit would handle this nicely thanks to it's :mixed-router: all static routes would still be served with :lookup-router, just the wildcard routes with :segment-tree. The performance would not notably degrade.\nPath conflicts\nTODO\nWhy measure?\nThe reitit routing perf is measured to get an internal baseline to optimize against. We also want to ensure that new features don't regress the performance. Perf tests should be run in a stable CI environment. Help welcome!\nLooking out of the box\nA quick poke to the fast routers in Go indicates that reitit is less 50% slower than the fastest routers in Go. Which is kinda awesome.\nFaster!\nBy default, reitit.ring/ring-router, reitit.http/ring-router and reitit.http/routing-interceptor inject both Match and Router into the request. You can remove the injections setting options :inject-match? and :inject-router? to false. This saves some tens of nanos (with the hw described above).\n(require '[reitit.ring :as ring])\n(require '[criterium.core :as cc])\n\n(defn create [options]\n (ring/ring-handler\n (ring/router\n [\"/ping\" (constantly {:status 200, :body \"ok\"})])\n (ring/create-default-handler)\n options))\n\n;; 130ns\n(let [app (create nil)]\n (cc/quick-bench\n (app {:request-method :get, :uri \"/ping\"})))\n\n;; 80ns\n(let [app (create {:inject-router? false, :inject-match? false})]\n (cc/quick-bench\n (app {:request-method :get, :uri \"/ping\"})))\n\nNOTE: Without Router, you can't to do reverse routing and without Match you can't write dynamic extensions.\nPerformance tips\nFew things that have an effect on performance:\n\nWildcard-routes are an order of magnitude slower than static routes\nConflicting routes are served with LinearRouter, which is the slowest implementation.\nIt's ok to mix non-wildcard, wildcard or even conflicting routes in a same routing tree. Reitit will create an hierarchy of routers to serve all the routes with best possible implementation. \nMove computation from request processing time into creation time, using by compiling middleware, interceptors and route data.\nUnmounted middleware (or interceptor) is infinitely faster than a mounted one effectively doing nothing.\n\n\n\n"},"development.html":{"url":"development.html","title":"Development Instructions","keywords":"","body":"Development Instructions\nBuilding\n./scripts/lein-modules do clean, install\n\nRunning tests\n./scripts/test.sh clj\n./scripts/test.sh cljs\n\nDocumentation\nThe documentation is built with gitbook. To preview your changes locally:\nnpm install -g gitbook-cli\ngitbook install\ngitbook serve\n\nTo bump up version:\nWe use Break Versioning. Remember our promise: patch-level bumps never include breaking changes!\n# new version\n./scripts/set-version \"1.0.0\"\n./scripts/lein-modules install\n\n# works\nlein test\n\n# deploy to clojars\n./scripts/lein-modules do clean, deploy clojars\n\n"},"faq.html":{"url":"faq.html","title":"FAQ","keywords":"","body":"Frequently Asked Questions\n\nWhy yet another routing library?\nHow can I contribute?\nHow does Reitit differ from Bidi?\nHow does Reitit differ from Pedestal?\nHow does Reitit differ from Compojure?\n\nWhy yet another routing library?\nRouting and dispatching is in the core of most business apps, so we should have a great library to for it. There are already many good routing libs for Clojure, but we felt none was perfect. So, we took best parts of existing libs and added features that were missing: first-class composable route data, full route conflict resolution and pluggable coercion. Goal was to make a data-driven library that works, is fun to use and is really, really fast.\nHow can I contribute?\nYou can join #reitit channel in Clojurians slack to discuss things. Known roadmap is mostly written in issues.\nHow does Reitit differ from Bidi?\nBidi is an great and proven library for ClojureScript and we have been using it in many of our frontend projects. Both Reitit and Bidi are data-driven, bi-directional and work with both Clojure & ClojureScript. Here are the main differences:\nRoute syntax\n\nBidi supports multiple representations for route syntax, Reitit supports just one (simple) syntax.\nBidi uses special (Clojure) syntax for route patterns while Reitit separates (human-readable) paths strings from route data - still exposing the machine-readable syntax for extensions.\n\nBidi:\n(def routes\n [\"/\" [[\"auth/login\" :auth/login]\n [[\"auth/recovery/token/\" :token] :auth/recovery]\n [\"workspace/\" [[[:project-uuid \"/\" :page-uuid] :workspace/page]]]]])\n\nReitit:\n(def routes\n [[\"/auth/login\" :auth/login]\n [\"/auth/recovery/token/:token\" :auth/recovery]\n [\"/workspace/:project-uuid/:page-uuid\" :workspace/page]])\n\nFeatures\n\nBidi has extra features like route guards\nReitit ships with composable route data, specs, full route conflict resolution and pluggable coercion.\n\nPerformance\n\nBidi is not optimized for speed and thus, Reitit is much faster than Bidi. From Bidi source:\n\n;; Route compilation was only marginally effective and hard to\n;; debug. When bidi matching takes in the order of 30 micro-seconds,\n;; this is good enough in relation to the time taken to process the\n;; overall request.\n\nHow does Reitit differ from Pedestal?\nPedestal is an great and proven library and has had great influence in Reitit. Both Reitit and Pedestal are data-driven and provide bi-directional routing and fast. Here are the main differences:\nClojureScript\n\nPedestal targets only Clojure, while Reitit works also with ClojureScript.\n\nRoute syntax\n\nPedestal supports multiple representations for route syntax: terse, table and verbose. Reitit provides only one representation.\nPedestal supports both maps or keyword-arguments in route data, in Reitit, it's all maps.\n\nPedestal:\n[\"/api/ping\" :get identity :route-name ::ping]\n\nReitit:\n[\"/api/ping\" {:get identity, :name ::ping}]\n\nFeatures\n\nPedestal supports route guards\nPedestal supports interceptors (reitit-http module will support them too).\nReitit ships with composable route data, specs, full route conflict resolution and pluggable coercion.\nIn Pedestal, different routers behave differently, in Reitit, all work the same.\n\nPerformance\nReitit routing was originally based on Pedestal Routing an thus they same similar performance. For routing trees with both static and wildcard routes, Reitit is much faster thanks to it's mixed-router algorithm.\nHow does Reitit differ from Compojure?\nCompojure is the most used routing library in Clojure. It's proven and awesome.\nClojureScript\n\nCompojure targets only Clojure, while Reitit works also with ClojureScript.\n\nRoute syntax\n\nCompojure uses routing functions and macros while reitit is all data\nCompojure allows easy destructuring of route params on mid-path\nApplying middleware for sub-paths is hacky on Compojure, reitit-ring resolves this with data-driven middleware\n\nCompojure:\n(defroutes routes\n (wrap-routes\n (context \"/api\" []\n (GET \"/users/:id\" [id :\nreitit-ring with reitit-spec module:\n(def routes\n [\"/api\" {:middleware [[wrap-api :secure]]}\n [\"/users/:id\" {:get {:parameters {:path {:id int?}}}\n :handler (fn [{:keys [parameters]}]\n (ok (get-user (-> parameters :body :id))))}\n [\"/pizza\" {:post {:middleware [wrap-log]\n :handler post-pizza-handler}]]])\n\nFeatures\n\nDynamic routing is trivial in Compojure, with reitit, some trickery is needed\nReitit ships with composable route data, specs, full route conflict resolution and pluggable coercion.\n\nPerformance\nReitit is much faster than Compojure.\n"}}} \ No newline at end of file