From 8cae608f8bf7fcdda89155b6415908d06f578353 Mon Sep 17 00:00:00 2001 From: Automatic build Date: Thu, 28 Feb 2019 10:23:11 +0000 Subject: [PATCH] Build book from commit 6ef78b6238a4ca535033d3a7dc36b503295340b4 [skip ci] --- advanced/composing_routers.html | 2 +- advanced/configuring_routers.html | 2 +- advanced/dev_workflow.html | 2 +- advanced/different_routers.html | 6 +- 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 | 71 ++++++++++++++++++++--- basics/route_data_validation.html | 2 +- basics/route_syntax.html | 35 +++++++++-- basics/router.html | 54 +++++++++++++++-- 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/opensensors.png | Bin 37115 -> 30778 bytes index.html | 2 +- performance.html | 17 +++--- 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 +- 46 files changed, 193 insertions(+), 70 deletions(-) diff --git a/advanced/composing_routers.html b/advanced/composing_routers.html index 1328fdfb..5d48095e 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 99eb69ab..0baf2fa1 100644 --- a/advanced/configuring_routers.html +++ b/advanced/configuring_routers.html @@ -856,7 +856,7 @@ diff --git a/advanced/dev_workflow.html b/advanced/dev_workflow.html index 9cdf166f..99467c1a 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 b91771a8..c0e3b5fc 100644 --- a/advanced/different_routers.html +++ b/advanced/different_routers.html @@ -776,7 +776,7 @@ Matches the routes one-by-one starting from the top until a match is found. Slow, but works with all route trees. -:segment-router +:trie-router Router 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. @@ -789,7 +789,7 @@ :mixed-router -Contains two routers: :segment-router for wildcard routes and a :lookup-router or :single-static-path-router for static routes. Valid only if there are no Route conflicts. +Contains 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. :quarantine-router @@ -863,7 +863,7 @@ diff --git a/advanced/route_validation.html b/advanced/route_validation.html index db58c822..bbdc0dba 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 90cafbe9..8cb17825 100644 --- a/advanced/shared_routes.html +++ b/advanced/shared_routes.html @@ -871,7 +871,7 @@ diff --git a/basics/name_based_routing.html b/basics/name_based_routing.html index 5a04b93d..e5c33864 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 f713e985..48201847 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 8d26416b..84bd6854 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 c226ddd5..9047c883 100644 --- a/basics/route_data.html +++ b/basics/route_data.html @@ -762,8 +762,14 @@

Route Data

-

Route data is the core feature of reitit. Routes can have any map-like data attached to them. This data is interpreted either by the client application or the Router via its :coerce and :compile hooks. Route data format can be defined and validated with clojure.spec enabling an architecture of both adaptive and principled components.

-

Raw routes can have a non-sequential route argument that is expanded (via router :expand hook) into route data at router creation time. By default, Keywords are expanded into :name and functions into :handler keys.

+

Route 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.

+
[["/ping" {:name ::ping}]
+ ["/pong" {:handler identity}]
+ ["/users" {:get {:roles #{:admin}
+                  :handler identity}}]]
+
+

Besides 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.

+

By default, Keywords are expanded into :name and functions into :handler keys.

(require '[reitit.core :as r])
 
 (def router
@@ -773,9 +779,10 @@
      ["/users" {:get {:roles #{:admin}
                       :handler identity}}]]))
 
-

The expanded 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.

+

Using Route Data

+

Expanded 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.

(r/routes router)
-; [["/ping" {:name :user/ping}]
+; [["/ping" {:name ::ping}]
 ;  ["/pong" {:handler identity]}
 ;  ["/users" {:get {:roles #{:admin}
 ;                   :handler identity}}]]
@@ -794,7 +801,7 @@
 ;        :path-params {}
 ;        :path "/ping"}
 
-

Nested route data

+

Nested Route Data

For 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.

An example router with nested data:

(def router
@@ -816,8 +823,52 @@
 ;  ["/api/admin/db" {:interceptors [::api ::db]
 ;                    :roles #{:db-admin}}]]
 
-

Expansion

-

By default, router :expand hook maps to reitit.core/expand function, backed by a reitit.core/Expand protocol. One can provide either a totally different function or add new implementations to that protocol. Expand implementations can be recursive.

+

Route Data Fragments

+

Just 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.

+

Given a route tree:

+
[["/swagger.json" ::swagger]
+ ["/api-docs" ::api-docs]
+ ["/api/ping" ::ping]
+ ["/api/pong" ::pong]]
+
+

Adding :no-doc route data to exclude the first routes from generated Swagger documentation:

+
[["" {:no-doc true}
+  ["/swagger.json" ::swagger]
+  ["/api-docs" ::api-docs]]
+ ["/api/ping" ::ping]
+ ["/api/pong" ::pong]]
+
+

Accumulated route data:

+
(def router
+  (r/router
+    [["" {:no-doc true}
+      ["/swagger.json" ::swagger]
+      ["/api-docs" ::api-docs]]
+     ["/api/ping" ::ping]
+     ["/api/pong" ::pong]]))
+
+(r/routes router)
+; [["/swagger.json" {:no-doc true, :name ::swagger}]
+;  ["/api-docs" {:no-doc true, :name ::api-docs}]
+;  ["/api/ping" {:name ::ping}]
+;  ["/api/pong" {:name ::pong}]]
+
+

Top-level Route Data

+

Route data can be introduced also via Router option :data:

+
(def router
+  (r/router
+    ["/api"
+     {:middleware [::api]}
+     ["/ping" ::ping]
+     ["/pong" ::pong]]
+    {:data {:middleware [::session]}}))
+
+

Expanded routes:

+
[["/api/ping" {:middleware [::session ::api], :name ::ping}]
+ ["/api/pong" {:middleware [::session ::api], :name ::pong}]]
+
+

Customizing Expansion

+

By 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.

Naive example to add direct support for java.io.File route argument:

(extend-type java.io.File
   r/Expand
@@ -829,7 +880,9 @@
 (r/router
   ["/" (java.io.File. "index.html")])
 
-

See router options for all available options.

+

Page shared routes has an example of an custom :expand implementation.

+

Route data validation

+

See Route data validation.

@@ -873,7 +926,7 @@ diff --git a/basics/route_data_validation.html b/basics/route_data_validation.html index 15b793e2..0abcc2f8 100644 --- a/basics/route_data_validation.html +++ b/basics/route_data_validation.html @@ -925,7 +925,7 @@ diff --git a/basics/route_syntax.html b/basics/route_syntax.html index 24c0418b..5c480c30 100644 --- a/basics/route_syntax.html +++ b/basics/route_syntax.html @@ -764,7 +764,7 @@

Route Syntax

Routes are defined as vectors of String path and optional (non-sequential) route argument child routes.

Routes can be wrapped in vectors and lists and nil routes are ignored.

-

Paths can have path-parameters (:id) or catch-all-parameters (*path).

+

Paths can have path-parameters (:id) or catch-all-parameters (*path). Since version 0.4.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.

Examples

Simple route:

["/ping"]
@@ -781,9 +781,14 @@
 
[["/users/:user-id"]
  ["/api/:version/ping"]]
 
+
[["/users/{user-id}"]
+ ["/files/file-{number}.pdf"]]
+

Route with catch-all parameter:

["/public/*path"]
 
+
["/public/{*path}"]
+

Nested routes:

["/api"
  ["/admin" {:middleware [::admin]}
@@ -796,13 +801,34 @@
  ["/api/admin/db" {:middleware [::admin], :name ::db}]
  ["/api/ping" {:name ::ping}]]
 
+

Encoding

+

Reitit 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.

+

Wildcards

+

Normal 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:

+
[["/api/:version"]
+ ["/files/file-:number"]
+ ["/user/:user-id/orders"]]
+
+

Bracket path-parameters can start and stop anywhere in the path-string, the following character is used as a terminator.

+
[["/api/{version}"]
+ ["/files/{name}.{extension}"]
+ ["/user/{user-id}/orders"]]
+
+

Having multiple terminators after a bracket path-path parameter with identical path prefix will cause a compile-time error at router creation:

+
[["/files/file-{name}.pdf"]            ;; terminator \.
+ ["/files/file-{name}-{version}.pdf"]] ;; terminator \-
+
+

Slash Free Routing

+
[["broker.{customer}.{device}.{*data}"]
+ ["events.{target}.{type}"]]
+

Generating routes

Routes are just data, so it's easy to create them programmatically:

(defn cqrs-routes [actions]
   ["/api" {:interceptors [::api ::db]}
    (for [[type interceptor] actions
          :let [path (str "/" (name interceptor))
-               method (condp = type
+               method (case type
                         :query :get
                         :command :post)]]
      [path {method {:interceptors [interceptor]}}])])
@@ -816,9 +842,6 @@
 ;   ["/add-user" {:post {:interceptors [add-user]}}]
 ;   ["/add-order" {:post {:interceptors [add-order]}}])]
 
-

Encoding

-

Reitit 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.

@@ -862,7 +885,7 @@ E.g., /foo bar should be /foo%20bar.

diff --git a/basics/router.html b/basics/router.html index 55ce5c30..d03e11b0 100644 --- a/basics/router.html +++ b/basics/router.html @@ -790,14 +790,58 @@ ; [["/api/ping" {:name :user/ping}] ; ["/api/user/:id" {:name :user/user}]]
+

With a router instance, we can do Path-based routing or Name-based (Reverse) routing.

+

More details

+

Router options:

+
(r/options router)
+{:lookup #object[...]
+ :expand #object[...]
+ :coerce #object[...]
+ :compile #object[...]
+ :conflicts #object[...]}
+
+

Route names:

+
(r/route-names router)
+; [:user/ping :user/user]
+
+

The compiled route tree:

+
(r/routes router)
+; [["/api/ping" {:name :user/ping} nil]
+;  ["/api/user/:id" {:name :user/user} nil]]
+
+

Composing

+

As routes are defined as plain data, it's easy to merge multiple route trees into a single router

+
(def user-routes
+  [["/users" ::users]
+   ["/users/:id" ::user]]) 
+
+(def admin-routes
+  ["/admin"
+   ["/ping" ::ping]
+   ["/users" ::users]]) 
+
+(r/router
+  [admin-routes
+   user-routes])
+
+

Merged route tree:

+
(r/routes router)
+; [["/admin/ping" {:name :user/ping}]
+;  ["/admin/db" {:name :user/db}]
+;  ["/users" {:name :user/users}]
+;  ["/users/:id" {:name :user/user}]]
+
+

More details on composing routers.

Behind the scenes

When router is created, the following steps are done:

@@ -842,7 +886,7 @@ diff --git a/coercion/clojure_spec_coercion.html b/coercion/clojure_spec_coercion.html index 6bc24772..075debfb 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 c3a0aaa5..0fc9f23b 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 99bedbdc..32442dac 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 0b3c602a..39a1020c 100644 --- a/coercion/schema_coercion.html +++ b/coercion/schema_coercion.html @@ -839,7 +839,7 @@ diff --git a/development.html b/development.html index 18f809d8..3da161f5 100644 --- a/development.html +++ b/development.html @@ -829,7 +829,7 @@ lein test diff --git a/faq.html b/faq.html index b3764fe0..2d5acb9d 100644 --- a/faq.html +++ b/faq.html @@ -907,7 +907,7 @@ diff --git a/frontend/basics.html b/frontend/basics.html index 341498ac..98433c9b 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 d40e1a8f..b66e07da 100644 --- a/frontend/browser.html +++ b/frontend/browser.html @@ -823,7 +823,7 @@ event handler for page change events.

diff --git a/frontend/controllers.html b/frontend/controllers.html index 5deb9ed5..8eb74ce2 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 ae3e2fb6..d8183247 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 312fe944..6258fc8b 100644 --- a/http/interceptors.html +++ b/http/interceptors.html @@ -857,7 +857,7 @@ diff --git a/http/pedestal.html b/http/pedestal.html index 097763df..7c181b04 100644 --- a/http/pedestal.html +++ b/http/pedestal.html @@ -868,7 +868,7 @@ diff --git a/http/sieppari.html b/http/sieppari.html index 0b9623ae..6d4c313d 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 2c3c0e73..ccbd13fc 100644 --- a/http/transforming_interceptor_chain.html +++ b/http/transforming_interceptor_chain.html @@ -868,7 +868,7 @@ diff --git a/images/opensensors.png b/images/opensensors.png index 94bf228a70ee06c67836a722884217eefdaa3cbb..fd922808558bb073a55058c0e8f8bc1a29dbfc0f 100644 GIT binary patch delta 27281 zcmbq*1yEJp`|ddhkcLAe9ReaCsB|70r3^}ulx`%XHz6Uds347?f^>Jcl!%mccefzi zb-qvi{r-36&b>2t=IG#dv-aAn-sgRu=RK!sh^lRP!2}_O5dY1XX+mL)n|ypRv_xKz z-|dInFc=DUTTWWT4Zfa)ov1N5dXe%jX+wES-h%{F4uy$j6LOoJBK=1H6@{r1?I#fz zEf%CtW@)9Y^p&}9&m!_nl!vc9vvt!~L?)40(jJ+sBhcPI35 zl?x?HUVRhqro@*LJ-vyg&K#7em3%RkAn@m(&(k2^{P*wu5q#!V350BLQl{S@5`zv* z|3CjgU+thr_zXfL3WsbtxWuCEZo63*xrTYl?{E^K9V$u zGoS7ABMb@OL-jZIS5S!GpJ*}6v&sRDve(e>$D=y|!@LS}r;mo={{EmMNm60mg+%5~ zxBv7~$rlkl{PzYJ?mRUduYqpOK`{0|?SMuI|DPLy&=33nZsq^f2tw}f8>0|eEJ(aG zlhe0%DI`;P)0|bD-7xR7Krq>vNlKgkm%Y8;D=dlyRGn**6@MrWQG>*4s%g3QSJejiOXSaW76f0n<2y<|ahoj?hleHL%k+cEwz;SkOqqg z-zPO^=Oe|_{*BYjz1cb~@4F)2v~?}LT7_#+4-O6%8Moq%RzJ&k-kQ{_a$X@dDlqS3 z7%j1UFi)K-_H2_oSGT-usmyNTn)Oi5OG=(cN-2`wSCBYz;x9VFo;v2)Pu1Oj{Fu8V zN-ZY`%6Yxe6^p;RIZ<8CqrUM%qmBN*UfZ|m7T%V9A9qZb!3a02?$T||yV;UThodop z3j5ww*=pxI6PvrW#h%tp3gyRniVmXD`=ZmfMUJNM9nN zvp9H;CmRuE>f5$4R^Dgz7LIX=4$9C*GTO$xO?N*S$+ex_Qc+S^_`%fRw%v$rI@1(* z|K2_3i?b!ETfP@_r89^rTyh=nyl?7+wqEf=lh?e9^R`o=_GZ(_;qADQedQoDPtkI-GBiVIj`Iw zt@ExHzc|~w>9%cXIrv#KBOs<<;jQ$a&GJJ zA30N6E4jV*nI~Smueww<9{VosVH>S|N1k5wyiol~gl2QVCBj#ql0EJO5i{EPZH^Sm zs);O+S8g}q+a?SKXzS`)i%r+;^~UVXwd2=#*Z8fueDqY{anp{`u(0_=TY5} z#M(jiT3+>hGqKcbd#^d#o1VQkYbU1*ypZLZ*Wsx7!a}UU+pg=?+}|$S!Od#_93{n= z;W*r!yUG#wp1U06yK#H5Gpu}3@t8{wi{*Y=mzUQo8j{MmeeK${qNx*2O-=ubSFc`m z@NK>3e86(T2jQLU52$yI6h5&{KL2&vB{2N>2^JmQ9d&ijN7qlcx-y=$N4^xVn#(Ev z_^~atV=cda@+}5ErYeRyt4)KX!Zi{NR%R&$Ze~75BHjaGEBcim?5eQO?*s7<;+{kn z$`C}rP=WqWaH#+u#??Lu%P(97RU&67iiDvP1u`PJ%3}gswOK9F2KoU$?e39QZ`9?ikj+4Z!sg zXzmZ_ms`dRr%d+TtlVwvCZ1o=))#cb*)#b%EsdDLE(WCa&$%G28M^ zFrJW|BIT6Vp6WYs_agD#4%TmlvWo6!JMFoPzDm!d1N40h5+uE=xOK}^`1EXBLP)ey z8djVa-e})(cdryb+irFZ{ox;oZ_>9Z@pSQ>`Ii?QNfv>e3IdwQMk;Ql?k%%a9_fKYdB;qC8(zbGCi_jpdN zrdbB&?VDvleR+L2KZW~Ig;KKj=EFt{!vsOw_18t^Q$D)AqHEk-yVK(Fd`A8hkTY-1 zw*O=AgTZfQwz^!4LwR~!8$U{mS%aTVx_^4?+%G?bi-nQIAi5mtzPH$^?z2lKmPoKf zu8;GT{Hvf&y~E%e?NMjwbZjc;lK=HajncU&DSb7mU(RAxFFg3x!;$KrMmorA*;HXo zlKhiducdx2v*OQvOt33jO!s3|jD$);FE>}hA~{1G>faY@U|Q+I=@$myQI++oeHDI< z8~gc|+6F4w&FJF%mll)gUaNA~-k)_Jfw@hO7mQb9a+{Eo5-OmO&H9w&8c%=FypyQD zq$2@WB(1Ujdig6e($|40YXCcvd3|m6!F;O)vwoE;EInE&;NTL{8=@{0KluJ&qcTQa zax_$QUY2HC7N*SY5%>gu!H}OkSz(z_xZZFp<95vYSN;;@$2NhC2R3P(Udo?g&y%Rj zkCsk0w%28eB}|qOGUHjkvgrbbX_pqajZC+e`_p-pI0z1Y8X2>RlIu$lBE3atZc0gA zL<=W2bBU$~d^MsD4TA8gEFB{K{(z7dusZym+R!bFq?jP5PU5VK$UszpB64bt+Dx+@ z8T6=di$J*TNRmJ3LCp-^>}&j8U*d0RUWEOTtb@oAnQY;;fXwH4eoU>#+DUKC2B^Qs zYj>$F31%UXggfs{$FsXbX~NSlR<-Mk^6v8EG{9h1(9h>&Y6VVb4*EtbJbJ0o0*0-< z(af?o`p%@3(H0FdWb|4=-`eP82z9JNC$=8P7~oWcf0!cJaTj;@^uq~_5D8jr9MygQ%!^9 zIK-@^Z%?+>;Tzw&RyfMyZn|1)^$a<9L8s*KFu8)CZf{7E9g5!*ROt7o z6>#aJ=nPC6tbK=J`EY%VN*}_O(`3lz@Fbwl zY{-~uzTXNyz;Yl5F+H!&ow=HiVi+dw?4UH`)1nmRlqtI>di3)0j?NBkt-X4j&;di! zDfTCFJ4K9N0hRt?RJ@UHm;&CS<+l%DO%D7xbE^j42XDHQ#D+gVCMcJA`D7QGqtJfL zJn&I9X3V~RqHOP*GH)rDi-W`Y$*A%kB?0G?v-%pot1j_`W~Qnr)o zv4fxZ&*gNjcTa9!UBu$2oXt9D+r5$e2L`6X5kx(~_Z9;74KYUJNdx=qU(J#xV8z2H zrN)hkxZGwM1BMB?0!SdHpW8CaKT5NcghD*=r`+Zu%+&O=oR_~g;z`Um)790VALMJ* z8}^6XlIwf(+_0raY8h8J>28?^nWNg=^iK8a=j?U*J7zucruL$Q9Pb`9h_2mk_qoG> z6&%^n#aU3WCEn)1C+@#$=JGLEG)PQHi>@ZXH>?Jy*UO=2=<*u_$Y%2w8NIpscEq2a zGc8~;9jC&%dLmLUrcxwhN4c(L*uI$JUJW-WeJIH^c8I<3{QSeyCEg&~9;6hHv4(io z^tbQZRWpI7Fsl$X{3wR~=XjzPxaK1LqF3}qIzG9(Ol3X0n{UNP0Dn@)wokZvzM)$G zM%l;Vg|`D1v}+}r%QZNb;R#D3j54hey#J(2og;F za$t}bi+(@Q#QI4T(_K^9LgcgTzD{}nLZ$*FUE?GrDuK!Iu~0g0R=?FPx|L)is-Qf- zzhq^SeF7uS0^>ba;w=NGR$W zunaM=p8cDKq5ozQ!nq4uRFEou^ZTd=Nd%G^1*ev7{0ojj9!7{D_pR*jvtj#BYjQZ- zf_x<8+VeXz?O75s#GFFXdD25NN;56QT zLdhE!W|5ta-kX_DTyyWN&(o)8)7oyiYv(>oV={>mxz@ka#EZeuj2Z}2I?H}L> zDt3rKd#__-yFRKWWN7E>`!5lB-na|%DAcwf`~6ZTeDG!Qkb0W*(2YS~_)x1VDJq2<0{@uGwfq{XC?)8~V zkz$+Cv$MwcbQ2Fp@924@!<VRp<{vmNhPV5KQSz{~<{8vahPGUsq+Gm69Pol(l9?%X$@}mS z>q0MqsuMPDq2DIBYHenUH_RxUbqLhGEup3Wm zK07zJw8>^~5$f4JKix_=*1GwmjX-3xV$S4fbK)@2nM*sbWPy-gw1r?UXo0lGYj3e9 z24qdTX~9pAHpVy@y|(=*61QrPk`teP;dC9LlC57G&W%~%($eV{_BwX31Sh&2zu-s% zzuc}MpQUg2wcpE|i32yYJ>N*;86QoL)Ancw^fI)*)Oz@fZTSSdZkbJ?Y^BhYS24F< z)%TC5r&AZ#)g^Z_FcBxahhz3#=~0qa!A3JL2F?To1n%qU@r=kEGjC?+*S#`0o2Ax zr~}&%H{ouq2a)Y1s;Oo8f6XtP)Pe?1@9z!JuF2W)j(?>m4jUWW?x=anZII8dKd$3^ z@KGmfEQEwLCo^C;&t+{$kVlSY5f(`+q$c@m|AF))OgAD9l{lu@$4_5SJjb|15RHy; z9tYDRXFrDP%+{Xkw8%iO%#+>Q+L8cf*P>=&kZtISu|QIC;n?`DV1 z{gnaJq|5$+hAlD#8U3j&q+v2lKMO)IP70=qOqIEy$!JPrB7Z{J9^_kO#Dh<2rOA?R zhu|9N333`Phte}OHT{+*i|t9^7+R9q&gCcDpud9q<4tPatUrTRAlB&9OrOf}}+bSB-^^$b;F9vHx(69 zAT;UL+3i^-HbIqX*2oYFGeG3bX| z#ulJ9YJcG`lCbc!(8@7s5%4}Nl2a4g;6H6ax?R4PM?_*jUeWJ?xKU4RYN%5I=o?o! zo_L_sQg5kDp=>)*(bLvD2~^2a1j(%Q;vPEs5)yV|d^3qBk>5G;nV#E=B$qD#9Bu_(p?+A%sJahQ;_U0${s|#jn>-u{p z(Qf%q$%M+UUu~`~x6?R-v&k{Ekhjq4U&~2ca#R~I44YQTc7z0*Y8rKe6)TzL+AS-E z^Lbwfis`jS+*)8FY8A3h}k_iH;&_>Ox1nTb%=t;ZAf$<{$0M&C~|lnA`;Og`!~kUli)-_HLE$OB}$iu z0V;<0LGSWlrI{DbV?p!%Q3j+EzB{9QL4T&*7qjRUjLOf%w7lrvf8l}@fF8UA!~aHn zCcm63;Ms2`z9{_Hv%L_HF-cPhpP*0S1{XwJ^yZsre6qRPCMe!D8uc0XF6?7GUl#`m zY<|s5sD2mf?YKc&%0rnyTnD(w_9eP*G=c112fk;dsd*!ajtZ-PbId z7jEl2O2Qe+S8Sa&ZeL-Ea0@=KGa>63w9hvfMqOL;uh^GZYHDKe+=`ke>?K{&m+(V+hH(kgksJCSb#VtJ;%{Op{j+N_E^#4&ZP~DESqVGVEHLF|M#VT}vEZX-|SsSMpCr-FSt$yS2#! zxotDl@ODO@`_N%gFh9ZmEX*}Vat#fO{DN>=zF8A~ zP&a-2D^~AXw&CbQrG^kz$nk~JffnoeHF+zp**clhHVK_t<=s2F3N6q>Svf1KCgY;A zGOfeS3EBslZvY;w^FFn?fwa0dTcFvm4X9!)EUcIOBQIi!5q1Ec0CYo9NMhQPDDvPf z_e0~Z2HMr8yS%FoA6riV+1xQhAf$Lrq?_IYMoh+3{FnXaM>XIuuhpn+W2;`(8Acgl zzt{IzVS`4COv6yGb03x7@z`Hxp8B=v@RE&BC7zgVzX`x5NyIQ>wlAR_u}4?e1pgtP!e^J7MLKDeU!1b~)D z44&&ZMoX<@Dg3BsB>>NBda}E)+kLA~XXhaVV9Zj|v*d6Fi63}(=QX1YGwxHl0vrMt z&A##*XC^Wk${F}qZ86ck7#IHd{=JN#?GKaI!F=eKb>j{`Z;fHsI|f_%e%^)}Q3*p=yIlkF^`8;`-1N5{)Nt+3Yyw;YufS%ZaK| z3Mb{*>!l2}?t9Q;=SxMRqW4IaT=f*mBDWo5&+rPsvX2q9Hem?6uIn`N-E3M)fv$rH zTM{NSy|Ok{UoU|jr8nkkn>#&TU=(n0RT9lZPBQK;P|fRZu^i5b)SUlZGyR$>J#_1Z z)3$h%SO~LWJ|+>|^8<&)f6})YoXjPncMxAW5!`9tnP|$XPlAf%8PZQ@BkaTnX+pzy z1;3B3tOI`sz0x14(+5R)9~X)5j&RaS_g`OqpS?in|QO?*ZC z1u|M`jcw-Br3bKUxORVat5<5NBC-uLese*!rbw;cR`TtUnF;_Hw4j2<;%B>^9Ak&5 zap~tqan$cgbj=$?c&zsw(-&IE)WheS)l_XGY{m=j^@=RfojxkDNE`P#rFW&i+(gPC z=XQ=1v>Ufr!kYxlg=-|U_#2&*Y?iy_f`wuBbO_h~PF6U+7KDcl|7>%5^ZNBjAl2GX zE*j87T_u(SCfn1E_qDXx(QLoo^Fo`^o7Kp02Yl|+l@GBXBdjqF_6sIvgs%TXn(70|B7J{#u!~4! zEc|-i2?6TJG&2mQBY*}kZV|AcY(Bcu>0k1@5ZO7~hCT~C`al4ATw+GTW+XS#)HNX z?-q_%>RtWf*KQtA<10HeE?Co7mA<@QcMn#DlcMCPNyp>a^TF)zEo(uEZ`3WhvAx#`FZRNd2~25X5UUD*$FNRBBV77(@3Kz zKht4QjH$R`G^FD-{&SU;NC6p^~Dz(pe2uj z2NtCNxtQ?^ps;HzMK*t)2q)cUg8z?}(ZNxJRH>5%srN2DNKyT}%~eSXM=J=s{6An0 zg;-=C?F@p!sd$b{h$6zMqMZ93;}y#vQI>hAmG=t&N6K~c^{v%Y&PkAJFYXzy$oHc~ zwRbI)?&%M+1BvCw$VBzCu2=&fPH!Too%PioSpz=0b1i{ZX$&GUA zr6L0-I$jLtVf~Q(&6HItHiT9RKYP+^Ow&)qlP@5!^^E;W^HmB6opFh6)ePX(qC@io zbqUijMm|H|i8>$+?t(}K-O1OlU3Ud^fz~qoJ2s;i6Ix5j0I}dEbnbO>JQrn(R-Kq+ z$R~YHH@)C zpEL4nUv92-S?5_hrSk1zV_Z%C)__;yT;73_S(A@>^q~5o+n2&u%!Bla=(BF?+j4Ve z<9wIuNjE#-xG!*InWcAH`8_Y$RKIwxW>Kjp^r%H!gZ-Q`iN>2earj~543_HbU^G8* zs*hpqP8%&+LOPithAhU$i_O(5FV0UFN(R(oyiX51>o0zNJllLGbbB~Y&-8odz1^{? zb1gNA14v^9oIEvWyIq1)+cV7{s;YiuoF*L{N6?Afzq<)!mw6C<$`&N|zsjNsj!vLj znjEf=menZp)_!lB8THMtJ&ZrV^w9J3JZMVQ`@NRFdLa&D{gnz7K1)_=`_q03C6D_? z^OGKf!|2WJqBUb&6?g75BSQ<~8YHysy>-^xj>8ZtJviWgpS8Y(0{uu7 zrAy&zW9EFy#hLlZP84KAukGUE@+vkqn8oI+c&6-;?eoIslBS`#9BteDzU0@c-!M~Y zgnZ82IImp`rPkKbxe93 zN@fJc63g7fm<6lMns_+hz<$7rt_Ip>myvr!ORL{%UALG&>k{hev8W4_AEz|_4aN#HI_ywKI5It##997?ve5RH4zhyw2wP9 zpW3S;@)Y|NKPkSW3HFYNg7UB(9pt>hntKcA!8tyb^Y?p9YI{!@r3YF*b0xBfY=I5M zN5ddx-r%tH9G7gprWU-#!!#-!x=cz0VH0uQef}X_#Cr#{K-V$&{X5+i?!CRe4@E`a zv;uP>S?OsudEmB%Qz1$CRV%joGH7yn?p zrDKbSBL^L^m*Zs$?|IXXv(_;^*JDL|&A9b~MgT4qZYcEerO_8^XUrkO{pEhvSI-*# zv33Ww4Q_Y6HMQOx7G|GtKf$w8nM`3R8RQ*ei_8~&iF@e>Zx zZ+diTUH0mGuZ%|b66@YXkustYg!w~m9x_XtTdqV`3(ZU-dlA&DUs}!qEoVi$6To=Z zz&VYBm;7>r-rJPH9VfyrhoBGeAjq@DW-_E#8*lxcSe?8jFL1EmAFY#Zy>+ zP{L!=prRr)~pb1FP(C*uKzgykqm-p;2yxL)|}G4ec)<8!c(e z?hMyF{nAI9Cwme@otU5cdW5F9hxMK%5zz1}O?n^cRclSJ7x$L2Y@xx8!TD}%8I-GI zunizZN99toHN8BspzppwF~+<- z&rD85rQ1jMombr30_Tvq$=ODnd(q};0%f*uTGNcc^KV1GVU*2XnfN=UrENWr8Ii&J zg)K>;&EU`;a}SOW)eZucF%BdstrgSxditbh5sD z(=9|pTk`>|>Kj>Bwua*5{^<=D0k%&jrF(C*4PHJ_6Or!~-&4_bxOXqDVQsit+y0%P zZTw@GLCvA+;ErHMADu~$H6FC@BUe&*EvI;$2GJsYt6|`%IOSLODy~H^aGu>|f~E1Y zt0i8g(sOJX6F0QDZ#R236O@66()6;`ItJ#a(B5TX1~lsN&Bk0+Y*^`YQu>qI}2)a~ru^ldsAoAGR{u4I^fRKqj?T*nA_r z9f2Hg!is3fHT>EDR%AakxkS9gGz8o1_79p2w0iHw z?+^9;c39Sq_HuRbnAzOiJ^s+446P+2!}U@`cfNPj{@lel zDa!XsN%Y$7)GE+>+Q~K~c0BSVYIJ8m29^NVq_^b1$m{c+ZY_y@PA8w4Oj zUM+8=({|fT8ktTDJnAx?EYk1zyxoF@LDVmh8K=UQZt=)+dx?GLsdSKstM8A zhMx|?FWIw-Cl_>aUMc12nLzuBjJD5aD7YFN#+k7#-=8$2*V1TaHxg&Q|n2BsN=3noM7CquWf zq+i^;!GRnYlsuUy(`8J&k90@+AS0<~TF&aQ8Qf3~+2Shp0m6Zqvbub)*Y{!X_1sb~ zee8DG9PjMDIQ`nI_ua_26xwqrmwe!ETsMSiZIvlZ@#5+=55^^a-r0Sfqx7hkg8jm} z)KmY6qOv&4#Pe8Nyss`2ws|duiXy(-O1V{V>8bv2DVR|C9$!lBW30sMXO|xnX9Vu( z3~DKzglQ`~oQlnMZQ0Z<6BD>Fd=qwJY`EJa3U#jS6LLzd>Ei^-zFNi|gvIFxjeTNj zc(Rx{7OY#7^SJU`f(*roTwVpY%Cx%rZ_;E%<6Y|oKm^{ zDu5Vd#sZyzQKHQCK+x&33sI_o@NN6sd$7+Ec=A!{<-Kl8lHUXtD$+{&9s32h*>gW0hX zAKKL%1F>k3W^T-ec1+)-pU*51K*CY|w{hg@^W?>Q=LDUQp8~N01@UWqD_w1jEN{j+iCDLKDn}fEQ#4d3!W2Q|o3#_0EN>w@G3d-n?2w@F$P+8^Js~ndM!h7VDiecfqoM(9PY!i>#?( zxC*PClr4$+-IJT~zVG^mUoU(-kj>V&eCiZrm=MD;vGD<>BIG!v_&Y}uk#C6XH?s*# zxJ5peD86!u+!G}>0cjQd72VPKN(rz$tI%3$$^HH%u!kp^Q1ImlpHzy!`}s<=Akh9T zWqU$@tEy;LpBA$Mr-k+xitG0^CNA8O1jYo@hC}u)S5L!xe0Cpl@Sn5pRA48c4C@Fd zz9|ciDZc?#-(*Wh@ICMdb$tbb8~C7tNE*@y*Ht6du#)h^KGlf1NqL#<39uk&A6er2 z1tWPQ_Pp{!rSTdFPM^H5{N1N$TuhCYH`;Hy4kyN1QX1wa{1+{mlg3=%`lHfbMjGWC z)s)TlTO*(DBxjKDGGa3B&UVswY>@}-K)WV$?syG0>zZXReh=nj_SDHbZ2fv&pPiZf z4+-uWn?!s3!pDn=`ciaHq-ALL%6#fOFg{K4TzLP~WRJKtm=@u_Q97If(yW^x%$EXuixKm%}v-(p#Tuj7G`$_T3qRyG*5Cw(6HBr_; z(?%jJLrQ0sgg=IDeU{Y8>M!wlCsxe}k-VHwB|PibT+)8TnaN;Y@`A4{8gMyj_fWba zX!oe|bnAOPcJ8Knz%}P{^=lsi4k_pNX;bD!e-snmnA$(BARJ~+yN_YE#X7`Q~nVFM!DsHLSE%h8qRA(u`$Zc zjpV*By8^`iE}l-H+f3H9$hgg15_ft5VTRPBP0S$M$6}~gqZjKu;ytf(ULUzPiN*rJ z1ndRU>hk6$`?`~lH9K2E8MX;!-}3atbj5?9a@#TXXH(wgXTTv{Zv1tHQ>7(HMXmW1 zX7+Te-}Uz%>bQrHghsNT0c-RZG#+ndYjw3_bZDp!p3!^W3WZU1p$X_%1J_C*;@3w5 zBRHD=&(TKu+xI0)XkGcyBC@XlkCRR6`S@prmLW$B>I~R{v<`ByH?LliqTQ>&GoWE* zWpzbLO6n#rGE5weFn|3#hymu&#%;b?$4}G*CrxB=VSWfcD$gX_-zE;okAMTVbBQ?l zQb@y(ACIy=e+~_iY5^LAa<*13|GNXCprxOId!k(-SHAesgHnTK6Tv^0o}vhtT%uFm zG?1Kg%=0TMMv{rc#0&8y`G(a4l81Bin1+rYkKTtZ-cc`3`m;^sG5NwzfyZrBo(ULI zfnyr-xDzR|NL@`zt&bYt#4-Y8$1XY@SsyJn1r)9SDfZ@M?O0pmY4C|}CG}IMX)!9# z_&=TZ<0r$J`f_;-JIIPwAZ_MUO0ft`i55DLp8(!;eZ0Og0J{rhaJF;6Tfqsu`h};p z9tW>deyyADu4d=ok(P%1m?k=2vI5|8K}f@Y_33Gx(u_!fEIbY)shj=xc>B^~P8&7f zwGKlWaCUROL}fDNU3Ono_{xK*4cFp#I_<7+OU8WKcG+C+i+?%sED_v=0Xo}xDZCy| zBk;uoyD$nE)2{OHya6fUBjViLmjT>UX|V2HBC|au-+${rm?khaY8J5ZGCt?YNRAh& zWPGooscL0p|L`V(dCYDwLJ~`EEFCexdG2hN^0AR}MdR3#!QAWm<^$NGaei^npV2i& zXgQzk&d1x2GjR|f$CDUF(-9J4on~Cu;YyF9d%~kEmzgy(P~t&1!N26b;5olru&cLROMgJpN47rXeZK%aN3b4w04%pLrdj9XZj{G73Lf)X3Ylu z%R8d~9tN(js-R?wzlv3~uNbI^nV9K)^tVl=1_5yL=cSpq{@u@4rip;C?22ye-?sb` znS2xYg#>^VOqFeDf1lh})x3@F@BO%>4zk@@%g*VWn1vO|P&nf2!Sz)5pCR@d>tBgU4*LHO2=b2;{Xa1X+nBY74_Y_B#js&$E1cVF@4`j|L@4?#4o2mcC z%S9xgC^1V;p6J!BiIcP(cgH01caZcRul{zJ!L^M0t~?_=Qf`Z4f>2F~2LsE%3bgTH zrW_oPSvfhc0WtB;9Jw?)A5Vlma&+3<#pK^upc+r5%cFgiWa+5Z$C|Xc=FT(qFj%1B zi9NY5!x}RF4*@wU!=yv|`b-OM+5cVz?JJPR$I>iQ&#|8)y(A7o*zh^Rf`hH{n)70XZc9N^`o?p_$l>;qyAjU<9u6ASnUvN z$sg2F6zJRkkou5tQ=qPXH}yHl9(@BBD;wKrwJ(;ZpW~ppg1WO^&&iV=8`9aY*YF8(=c$>^55^xEuXvwieL&% zd4OL880$p2#-lIF#_Wn&iZe5n1Z^j|i6!=&}2AGvwJHbx>#T6!5FX%Erjvb zMFVzV?I|cy==!)M)Y*cF^9-7b@g|T4_Brjv?su$!!j4K(hbmk*9*G=|Jh2u3Qnma(Y#ywZ zx60QmTZo8R-z!Ej4DI32-qi<&rwr@iJi#bDEzjvRv}ECON%gno!_S7vcV@VG7h(Kb zD3aF}Xow>sp3}knIt6K#23|Yz@1&r*$6h$g4ek1SDX} zz|0PDv*Q~>P9bNqK?KtGl8N?V9#x(ez)Fj%!o@7aywMpmlI*ftx>pxYOSJHSKy7rYl1uhx4qWce8;f6zuCbKRJG`F zhEvqz#Fc9Uw&-Z*lKSMtvnig09)Ds2Hd%3Fi_7{AXqpRM=M?-L9aV=7pjwL1xZsg2 zr%y_vIiw1A9W98(4}ln7NR%c5&ecuQ?bGfCrC0R@|Er5qZ^BoEEI6XXHU++m`< zgM#-|?@4Ar-e0IM?P)m4v|V6`X-u+r4AfyGc^2_d^CTB7lg(*gIL17fr~)T~msFFA zufxXL8WebmFCKaBwEYWnnGn#{)Tb`9&X2hXSNdXOT@{&vdR8;EF6~oa#i%B{c~HF` zIxjDc=(&-fo~Su8{(i26L~rfDdoI(H!C@h6!= zd*9EtO?OjH?7Om})bTtyY0i`HB&mL!L}hjSxG2}h+Y1Y)BT!dU*9+u+hj|~>a8>FI z7b_Iwo2QKW=+4=7+!7q60;XPa{Fq6D7Z_j7Ok!v{CJM27G6K=jcv-qL{>aB8FGua%k zJft4^{Q0v9kW0R0Yx8F1X1(cK^f61R9{#M!1p(qd9HcupigG-FaeB9v$^eI9JiNVX zI&$*SQoMk*$xzP2!-w8(A-DAZ(Qm$TBN%89htZrpGMy@*E0b5EOPCEQjH{n*l@XiQ z{W=`mxV2kmKV_#I>Gm9L2?d^C`pQ$mmiKM7CqoH0ZGZ4zM(eQ(Q%TPzIj=&*mP}{p zs!=ZXoyT=(Uo3zprgK9;0gG~EWDu`f0QT%ykfG6OV#NIS2kLLyf!ip$+D!JVYNGHxK-PB$AVE4arkHhh+%82aZg`oYPS>td ze)@n`%r!>^N|Dq9`G&Y>xvj}~rPC)b5LSnrgn_;FGH@TO03Y#NT1$xvz1*eLpKR2j@?Daa%WUc>huZZRouilr-v2k8{#$&7)X}3{`s! zrxteKEd{S7!F|2UVjO*D7=9V}sFWvdcy`0@XYqB%X%<0Q>1#CL>m9&o0O+SPRXQMt zy5(zA*~Zv93u#NPPF>S=_C`scv}r9~9p-S~Ul0+!=!o~((}zIUm}nmZ&^M=IAWW3h z$n`tJ>)?OO{I2?GndX{$=Jx9%jjm(W^QyOW+pT<0iz&f%=Bpl@#joH{V(a55T{L*O zcHeU9`q{fRQW~uU8N@M3##9t%PLRB32bkb$89t!D? zlOeOc3ahA$cV0hGdl}5=p;HH-Y?royw<#8D3o}BCV(#$zHjUPLel$3%ItYcv4d)7s zkB{mvYMnQJ4EAy+in@G$41^CswT(jTNTEdYe?T;{VF~WzYi!bV{gUIsT%(5FK8J$H z_HMBDr-~o|@S}R=`UWA_K|ZZyegrvmTlU=zEH*vZsywFjGjuXv<9uh{AOCuE zl;qEjylEaTu3{FVCc+u8X=8x_5yx%~QRoK1i4w>&HiGwnd0`=xD=)e-#hcyT%*e<;cG?ze!kBE*U5G>u_;iLcGDSuDJg_g8+B=TuKUgLOhWF8q?_pIgag<6wMN(I zP`z?^3-5vXxS-rx{xcbW5-BMPyz(p2m6)%t!zi#Yr_q(DY3EgKlulb};yZGu-%5m| zh{?Oh!~nwE;1VTjZw?|X=8b69k_rL25S!bdis^sIO@0+7Qv`Bw^{!ti|HP`hfNCEk zw#P3(#Bv|Qr>9yZSaD+-z1wARzk62S{O%F|kC!omR4EG<{;WRJZOO>iX)clFn{u;o z#376fZ4HZR@SBR6ERLW==LaZKoQm@AJh*MeIDZmibTadiEEQ%WdTa4_a)Z7U&JH}< z{S%6F5J>Is%lJCM9{9fr1moZq48ux&_S63@y7535fY$%Ue^e-72R`C(hk+!&!w|6# zGjmw#cLpuVf$QutFDwB*c^U?j@U0x2vf;s<2kxT=x^-v4cfdeQ0&W*Xg!F@G^-j$f z!8hO;efWoD0N;OsA_ImdK@#d1aBUt2CxS1bIEr6fi5>&wgH!dzsK=jo@dG3RJT4%q zmmS>6kM1-r9DEfClb;F)xV|ExbP8VPmAbENL#O!{Qt-35yf5PGg9+&;pmXBVz6>aJ zXN(9i3QF{#ci#(5JFlQ1#JfAb3=Jw9B0s=jN29xqDShMeKgWJ5Heax4f-3st0PQFI z>ec$wYutH0^!sgk2`2s30))U@ESl99qkZ}}aKEdc&(Sr+IlH|A^XUo3$V}a!hzEVaAl4F1aHS<(1Ukl&q@+8Z^oi(kMXrOqgPu8*fjLnW`(YGdteR>LOBJi zdss50%Tj6xTaSdF0W)7DreCX2VGRLhDLMhY1&XIetw3&`>hX`c(>T6`Xe4TYj4gJDkF5z)972NS)jwJo=+5)}uSmi9Y zjb_Ur>$c98cUTIWzzqe+d&t&X&jhMG-rb!bd7ou@Ss6{^`Bi`?&%HOo1mpV|_t;C` z?7K@;)}`x0<(P)KI>8xgm>EaBgA={G=#_->E%)0&aeT!j?a)Lp=ZBXo5KAdCE?Hq0 zPJn(qR0dn#y8118ommLNJ>Uruk(a@*-3$PL-3;0%%l+*$M?W?LEkDuRp#<_%v;cbM z1@t9xLKxmb~NLb9Lb88 zjSU}w8y~Zv;LD_LTFQt@<%YRUfj9{Kr_<37qb~H41;+*7!z&Mo&`d&xFRau8FSSSs zoIYu=dHH{KE(3c*zXkC#B2`v^J*RKOsjU_<6YqvFzPaqh^9`Ja;1$qs!B3*}4)&Zn zjIASaDd~UJ^5x-Fy3hA`d%f>J&(pR4=(6{@_kFLu_P#%Btc7KBzy{Br95HBfOmW^`f{-GjkZrc zUr{q(q;gtVb#!!YwuH2Xjv9#{RG+rq{}qeP-e@gNuq=UyWJJJsUrcutN}#m&Ze|=j z@I@+2L@$Qf;j=BYo&ipqFrvm>njP$?maH7c^%vPi7Y%u8K#GjO&(Y@=)~O|X9?6cK z(LZx00EjKhfQbcO9Dd=ra8yuZxWYT@0oE0fk=y}UJkak1P3wZg8TeFHnv+()$*miW zQ=pAy%t%<)(>`Swv~P@wM8t!?1t0#fyO@Y^l=e@+l*daTK>7B*Qtk*)rk_B?jBqV; zzELq=9;Eb0l}g5~vE*vJ{MyJ}5LuXaA`I%QBcLX{=D9L;6zPZoon&h3yn%X&=od&C z>4`!qXG5cqazBgM^;@G+xEo@t1Ky#BoSG$$S$6PytbdFCwzWE3d28&Y=d^B;Luf)k zQd?Pr3eyv4FQS*t&07f+E)u(48INGn9Y?d1gp(#}TXZvK;5YUU$kMFce_Uwy5pZuf zVj7g&Aer)U`PK}tJkHp0lCib$w#$@u;oG1e4=!+9qOk|)Rjvfmam>&xu0h#}?iEsl z>i~VjQ8BT?34{U&*3E;yNV|FmE9^ZsBu%Tx=?|gCWLHL{YVTI}Yn^_=D5#_L-e-j8 zJS#2L6Hg5;?UK#-`FX*_tz$%isu*9T`B6Nd7((ZKob>L9$YG z>tThj@*3$F_-G$Va}&5g6~}Qe%pp^;Nu})J`H)W0d(U`;j$)or0_svlEAa8&ZW*@8 z>CwKe68)OTOd(QbW$rW2#>!kIqp6lSlXJ^+Ba(=pB$tb<+Z@wyD>~nbZt6Ny!`?HA zCFa)OD$e!lR6qv%_FBngUw8QC!=D^_Kns2G;za{4{;=oMDgvtev6-YPm2iA@Eel8d zbKI#RJ0BO`8_tHQ$_gP)K1NpY`PZ}dJCMk;N5LgR?EPQLbqSnr69os#qpF&iI6yFX z>rB;ipUb4Z+el&m=8HU=CX3!HwyH;)(@mBpE}m-1Pcq-b+wW?8~b^+F(3B@13yE;)&R5ppJ7a5rum)rLs{4Z+!mQV8si#&A+N`3<}rR%jcpo4YQ zWeHNGrfwFD|7b8jWXxqKd;QKl<~A{!PPvASJ~Uyk`|87o4`+A^yRUS!nakfjc%2zVEfu(CCR$DA2Rpgpdq+13mvr>SfrnfW-IhTqdbDU=i()!>b(_bIAMe^TJu|^Qu3jpyhEjM|Iv?sZ zQGT_PGT_RK7~jdNOY%$FHz`ZJmY)2i3%U2s!_JcbHymqSU zxd;QE`)+`=s|0#;SjS%udu3DlZBI5oM4(IiDHX4{AJz4m3R&>CsiRyh`A&$X5@L}0 za#Y4}>Qo=-8rz-G>IaBIuk7>3kwm!Xgi%x?$hcY(fRl_HUaLDX_B|!^QB4SF6& z`Aj*m5ut6Trq`PA9f00R)%R)1cEA_5CaEn10T7W327sUe&jF$0;g!f zwla!U%2PrtcA>Eo5>6%zqcZTV+DAZ8l5c`)B>WcM5abxK2UN{TCqMqDo{8)mkb3)b z8FxOF`<<)o&5OkkVh48$py5ju4Pd46cA5g{B2=Z1Ir+0ye@oE{Mv6d!ok_K8+%WOF z{SZxzz6+y;CEbbv=gic? z?>obTcX=Z3-GGFtWD`=MsBv#&x7;WN9DA! zcIn2n2>c3!)Xm!p7Bq;<#X#80I^ZFdfRRH&iRuJpWVU|}Zf02EWyL4v|5|h)qTnfZ zy2VDdt3QUBfn{N$MnW(1G!ds)V?>Fe)fv@TAPBHWBE`G*^SdLKoq?#TtedOg9wsjU zeo(l?-~XRp2ry|Xz{HwZrbu|6{6WNeZ$0t0Q2~M1g1P`{@v{hE9;~?8qz)G5OzPgd zC};MZ5UA-e>1mAEIs=J~s9%XhB2$l00oUU9HIsl76o{!PDd>?ERbi8-zM3QH_iwPS z{Ia{fa*Xqws8_;s%T%HuVj>~@fRdh3YaHCM8uRi3`*^i3I7=onIP)M$H4HDnFu#_! zH&hhekec{{fJ9oc%HVHKzaB>YwGsXj_=>g66!D9x**wjbt4TDS$bvZ;}|{B4E%E)z4(tch&89CAj_m4>c;V2pMJK;*Mk5 z>)wluBqZ`I8Q8Fvr7Bk9CTF_3H|G1fPq~*6J0NTL6VxCsxvM`nK}H#^(S}h`E%^+2;`q{VaLiUs|iO@2TG8r^+Pf*@0e1CE%tvrT#~zB`W$h@ib*M>_d$}-8zh= zB!Nyj74~+h*$p7Tc%42|n3s3Skg(;lp1t!6Co>*nnhLPkwscZp`X{@L zV`_-(kAluIr0_Y(<@udw9X4aL#>YpGS@noaLKCl+AQG^_5H{c#i7!;nOs&^q9QHk8 z5GMJJ+>A-en$yodBP2mI$s2Z@KH2l@3So9o7$mD;S{8(F(be7ETR7XBU;nUzQ{MCQ zsGlENX6j`M!li(QjP)Qw4z@>dQcLLm=}+0wK(9Lc_1Eeg4vH^%-_B?`?tY9Jc}9$F zp59;A+$EFcsNLUB3_2xkN<-1wp;QP6HzKV+<149tlX z44T1E8Ds5`iP})ho^aWIR_6qJ)rbHpR9J-GgG^q%F;ca}Lq6Y@k)(;XJU~p3cYGM{ z+@ao)edDxj;M_fS+pusx)pOBr3^FOTpS?WEGqm(AxVj>-UI{x979p7swcjdelTz=h z*{~deYAEyUqXE}@KmQRS1%9gkvgzHGy;elHV+cLrCU|_wBjwB<{Sdul%efHyeN*Jy zgmRs?g8O7!SYc`?z7LapoC>6rq*JnXb{(ned9H(clRheL8_%9Ae^4XG83NB`dDi$F zZhX&eVm)+iTjTbt&n_%fP00*X`L(&Z3H_f2Khop&v70hbb-cuONg;*G)JJ5P^Q2v1 zzw|N-TS-qye^qfw$8I1(d0Y#c%QI?RTP{JiPPP z%GC$*tY&PS)CXjhp2LVdcl3 z&TLS*jI!75Gu};&F2_&~n ziw=euDA3whT;WPRKgc#129;=0R0UgW%k zlj%veI1A>akB>*zgTCrgm(GfGmu zbj91qq=3NbQ^mr<{M5i{ByH%Ji)oF(MQoTH0sl~=V*%901DSys$0&T?cEqwy9X(-9 z*-PWVef*s&1GhmJgk05+Dz0q;>W|%e{poF<+VSeOSFhhNx=&&29&uO&5|g}UWxVDp zxpvm-!=F?hyjt<~q3~FO+qP+-pG2Ge2Y;&Lgd56sIaKd`KF1l{AsG+bwg`%iHUxe; zOTDe&Oc$H*&T0o!{?lTHD)x)f{j6W1d!uKL5!~wTC6`?D!DiZz_$DU>dM8Pjl12E2&d1c-+I?>Q&!0}v93#q zd6VdLz4J|?c5m!ii9mvwh7N<|U_Yq|6=i*mLm zlJ6yV!wsZ3q521+{@xcIk*uTblBE8h0D^#^RR-8-|8%YM^+d;$lQaOzb2kA>v+$tE z_kb%}xFIjxLaY;k|HrBTT8Z=wD*P8(VMNdhiZ=*B_tdD+&}`^Bc79Sb4XKt~gwa|1 z9HinP2~4c7*YRMFX)Z6gB?HU-fFZ!nuUhL5!$N_-5rzT*HZt;J-8;3#A?C*ml0d|n- z`C<(Xneb>Nw@bz^zythKk{O(c9q=lES_=1W(wFUx$P<{1BnF+B>wga>oEnHHk6gMP80wFF$fKXq!e|mG;x*Hd3iF&ek_D4=A3% z?0aw;izWE@y2&UBdR3`U8Q=?oA^*?K4i>dg#^urShf$(ZejP7ciMRgM&vj-&pDld9 zl#;mjx%!F4IH76&N(1&umqDA3yq$2~@tE7f;jN}XLIAKX2DckqFtg+zkpVgI5_iRl zogU7r(yL=H{7A&}X0Qu;W5g&#{Ep^hT&jW<2((#E@B4ips|!xSNd)i?2&K)HNP zA2_HZ5?;+NN$Woakze|D_mxlQUS6yj&P(wZS}o=)U066gcO<;;;cY(rT?>Wh!yK|~ zr7Rs2Og1FyI(RH$_;cX0X-qg8K@>fdl$O3!v+%t+=qhcfsN?r@CE&JZOC5_<=mEk0 z_vC80WZ`HEVTAvy#)TT95ckf!wx6n4v#Pj|o2(qm>qMVXP}a_Y#I)S2;88JN-mNU@ z;bh}QC39oPoMx7KaGY#I+O(9BN60(f|H%_VEFlgq;=vk*r>0utDZ8$7!k9dB#c42# zJm*TJCn=S@&S6)tk{1t)jB*o?n-KHeLtuAnSXh3?Z=|hdJrUQr^KC%qUBX2CMo7J~ zZa3Qr{ZA{RX4=^+#vD^mc#Nczc4eg8C>?larG5!dEF@9;Ha;vC-CDF|U6?t*`{eDc z^Z_C9gAo_R*hH%r7x|0p%oN(19bu7!8tF++{;ZoV7dIPEoP19TsrLV>BHg`} zo!3-3G4PQhV)EkP@2;yj{j=yq!4Y+XDfJY&;U`i^S@16MT3x*PQJe9k2--roGpMxA zDJ9F$-&vQVtr=#^Z+`@gs7#2R-$!L8h~l%B6D%xKV+*5f43bxlgRvu!B*X*pYfMz` zPsz@Nq`wRN?c=8qACEjf{ikCFVlsLt!!7+TK$)ZC9iyAd+X~^sS&Wo_MHe!oF&*ct zOwS2x+l30AO_Q$^8jPl%Mm|?QKszAz4%b`rP{B5&Y3cDxwY|&&?)`s${6{2m2ZC9| zcPXY)Fs~d%xnQKcRAt;EGNpMu0I>yKC>eD9_-P8D_z2ptgLsOfUE_Fft3UDxQp6vrTs~x{WT>?v_DMQ)wr)=%B1o#pyqvBzoYRB*1qFn9yi!z zj*;Y!qO{|}4EMdYG6xbF(vwp;knSyR&LrJDgWJAp@%1eG6N2nX*IBC{txm05)j{?2 zjKyJH)S@jk`ncZI%H9tJW%%@=y*R}MEXz|!PKFs^j(Jk*)*=k;F+^n!gr!Ny4-OD^ zwvOFwJ=A}hLPgQl<&eJ95!5D@vNCw{*p06gTxaWFh$*yjZRam!22Njeev|lY$dUQ9 zFp&00{}9lub10R{mPC1d)klYp0&z6zhwA-`$_#_Qfr+uam{`NKY$Q`aQ&4uK(Om>n5mRX_x4PLYjx3b1g0`jAcaYG}2}6wk90d@q_4aYcqd83$2}-sJTrlbIY#pB`*{}@>Yz)af;RnO zmH`>EW-1O?++_(vEdk5?TJ14O=9JlFkNlO-mC6TbU)jmcNbF_R`YeHp`(@x2PpCVw z5%<1}R^j`JgU@$5ZmFgMl0S_zjy@rHQbluIYd=-;X>Xsc8Y>eEfi_(tMPjmAZ z9NXPUY?zUi6+(%Jmfm;5Cg+nAM~^R3J!Xj}&2MMDxX~|{ks&+36%s1FCFVA36@+|M zTOQzi$p-X!a$Y=de|+(h$x0BRHXEATpYJTBRW|GdL)9`?zQ^gq`u9TGOt@pe?H)9KZ@EkiEOD*2FiKMrBCXl!Em5mCD{!Lvg$0!b>`nFVbBy?53bfC9eP`3R#iA9` zgkO{1;Txqt?)hg%RMPESbnU+Kpe#=*%|+^5PU~T>g0JSCigcnvPKP_!^y%r!#(9M*Av@*pt2~J*_N<(NZjdP?5d6qyCN1Ff7YIEhcM;yx+lwQ zq{??;r~h42w}9VCx{>^4Mv~}Q1cf+-BCoIet z$~)h+oU8Txc{%Q%UcG!I)`BFyxPCs;&h_1-k+{9k+K~fA;mRYQF0^&#m)@T8=yMs9 zFML;FX?Xng(wD*YhE<)!ww50RgT50yOSQGNZG!9fUYa+CzwNhOE?sr$zcAM(U3#HN zM<>H`U3ABlTH?BH5IWjlOtHM^ zw`G0@0}y(XxSp=I8w@GG+p=p*|8ddQlzOam{6g!&5LJl-Mm-l8DLKgc3CcZ@4g5Am z{d_7FLhdIIagvYZrdW>ACUKoe(4rq6RIou~D6!n_XMI+0)*>tghSguX5t%4Y8hxExQ!C+)e8>1dnMIZsKQ;MYei>b36hELS+x zn%H7tsgNXl!+rZTCw zE@*K+ZU{x@f+v#sI-(zuMdeE|{=OQ|?N6*W<7qUD_;> o|DW^!+o#?BUz7VEx%nnpDywsPsKVJ8GWe%{MoZ<5l9Atk0dd?P`v3p{ delta 33668 zcmb^ZbyQT{`v(jUL-!y85>hHCEh0#Rq>|FzDc#MXQv^gpTDrTtK|s2@rMvSz>xpmPBcQ`DL=BMQ3|e&B+P%cJ5|%o(R{Qy8%}BE~4_qe) zyIN+tXcBa=(C|grpxy$M=n=w?LQ)frGJd@|xX->mRhYEDI5pu?aC%VQF3KYvyt9<6#+7ZDrx)1~_zAA|@CQEQ)_UG02P@E(h+Ynb^oMNd)u)a*^1(UDr<;15%a z%aa5~rLK{*syxFYgN$aSY>T_~iUMXpyMk#9ue5zTIExBcGqf3YWnk3v%~ba+M^MLn zeWvbWj_9DGIc%HrOiro-C!g>`5f0;O{%Efnr_{w$;XNVMy90|ta^PMkCC#D!sRg&( z!eY1yFVpY%x3iJVB(m&nEou7ZLN+O3N)uH%-M#9G*;nkyIH~TvtHYimtR&`qw$4~wna(b@ef;O>;O69WLopCzq)u<#%|dKJ zttDizy2z1GVA)5(=-dC2$VFron76TCJl5Iq=`_<+V{vI<4xPl=ZfQo7&mX1uBQt8R z{UU~$hHu1)@y~dXg^0yl(U*Q+_sbOKB|s$4uyeCV6OU51a%4WO?0{j|9w{}9fzS4f zBg2O%kF(40((u$h;k;wL2B&gj z*1_<0tL|Xs9kRJ!%?pG_042gB_~A`W1v`TfegLMW{{H><*_W=+$6g`;1`L88@y{Vp zikAvusKPS_{+pyB$q;0n;S?y60QC7khpai$OGv0i$F%mpALX4!D}bPKnhint-{(Nk zACn?rwCIrnHs`VbErCsRSqS0XD*?#=K1cxCDe46+nG#LB15fpzGyVVaoMg350VK5l zRvV>0lA5}R+R;R?tehP6KEDtO`u7^at+|}%uTd0{^XVBa>{zQRDk|tLwp!V&4jYGY zClX#_U&&I85dYsAZ9x+-zC82o)HfsPU_(C@&QqgSnb5Y1yBMW`;J1E!d=U7JK_;z2 z_$Y@%HNIIB*pK>ma1CN0bCMK=#W9VQQgTX4D^2P66@T10e*Z2U$yWCN@^qM9Fl#^z z^)13zMkJBs^~%C^i3+K=+G)qNUu60omr%609W>JBD;LL*^Sbs3qCS0ocYQW`|CWQJ zul}HkzTR<9j#*P)KI(LTUOh`XiEe#;z0B?pAno!e$tk0%N{L1){<(hFmtYLeHIJLU zYQxbiDb~+pFMqHahD_)#DHUnFGMgxh7DPn-oS>+vI9wJJsQ%yW-NiF8Z7t9UZn#@; z{BiEP&RS|5%vKZJa&G6HEVV8Tu{8S}Z8I;izDz;Ruqt{MW27whBmbF}*Lexx<4;otE;Z2nb^#&HwIIfn;-5D2u?>{NUSS2Uq_oymx-7y z)H@Z=*$wg@gFk*9ulKE=O#<3PL7in~thq%+F^l)-9A)Oytkb3XfwvdHLp8qpLCy^U zh5&t>yxV8+j%pDgS5*j;Xqy3;54?oLOK1NmXMjymvd!Evn9hW&n3Z<$VD z6Zr3>rrbkfx6CD&o_i^O9n-r>7kO77TSHV;dZS+-Otx_hFx+GavRm01!rZ9`LrvTQ z&r4#pZ>ey)r)EwW$UY1`aXa4~#-K#ec3F?kG4TtUt+7eZDpaqQCigh~G%xm)W~yLa zCn3fCIGC&Hc58}*w4lMFkmp#3U-@Srxqy5z%#~xoIsLX9xD9kYBq1eTCu+X*mmjz4 zeU+V9FhoxW(5-Ff7sntVqL=_uIgDx*;&gO$>v{P_aylN@r;#ovrouG!8OxP-1eeELcR)0N_i(} z$-J9bL5;r?I3xy>dB^huUF)0pmg7kt+EywESd~YOQnVIu+NN5~qt(}3!kHUyu7jfkEtSS35 zU~r;PUGcJ2Ys{Zm9=}9NM%CS&D&20HZ*;5n+289}sj*qDNEY-(`L*^dO0iR) zWExlFjqn0&@V{Mh39l!E_9M`2x1)Y`-6SfBKzobRWnbL$Rg~eS6b~y*H;&gYd%viD z{~P(dThD}r`nucVO|o=n8!_@7&CX zxh@ftN4ue!wX|+hJGdQD^4~7w8g>NXk>JW06upl{ro`gFL(@eaq#$&ivu?+>y}$Z{ zsle2BsN23CZ&vgPSNA}xaecpej`3o_t=N5)ba9B4T_(JNW{C2dVPS<~e&n{TgpqOh zMb^R+U_M*LNcZwnG8_!TkC14HFgB7LQx+As(bt2`OKRA)&RS2T?VL?_?pH4{m=BEF zvQYg=$d;~Tr(R?0uoy+5eB*wepv9xnCYZwz1KPUb`lmhbSL$QfN2s_@Cpc1>-sP28 z6G*>uCbUtFN6tr0dlZ{PMbXxZN>Q+b56Dsw79?N)kWYV;*@J4OTVyY;hD6B~j01u2 z*s0ula~^TpZJ6+kK#qH!g$pZTXQz19Y4xFYVo!M)A*51X($UdZNM}^m=1~bN}yOnXfi;Yc*)+Oy5l%*%A`=6@bDF|5{guSmJ$A-eXJ%K=pxL0w7 zLuf-3hi%IvtOc8$mv|s%V?+y)=zC20m~&(66XAkrkhF%$^xQ~6{#WDv zI9HlWlZq zyB~?D*4gJWEwzwwYSf@vAEaT=tsu7@M2e9Qb2{aiXs~fw&b`w_|1#UnbFphj_ncNb zF~`ssF)z~n*?;)22Ok=2yp_tmTg9}A#l+cu=2_!FrnK}P&}l_EMe`%GhxSqmxCs=; zouK2qI=Q7{Cd^(@;|nck?A2#Pv=2tkXsr(%8k>5oiT6dnFWjRb%6U6C+kS=!Q;ghg zw=~gJqt9~-q{IlnrTlK{;znC!lKtNtfJN@d*z%@CW*|sKOGIk9Q_G5wo7yLIl6b1t9+{> zrX2n|z#})C-mtJy*x`9dwe1u&uFqZARFmlS!mY#Ag@@|QU6`s`+HDNEm6_qKdS7gq zO_gJz)T|>rp9;=8o{xvPLUHtk6?fERFOWH7S+c+MdRwBB37DN&bUssUDl+#buqc?8 zeOBFAB1MDqGM1}anyu9%sq)q3jnZUQk774=%(74ea%#5L6$4pcp)~lc#_0Iu>zwyQ~=tD zIThWE-;@w9EItPnK@WdVXvch^Om(k?4@#yS7vJ^P+ghWQya1^SLr?Nm`~9;y#@*eb zm+UlZ@7k?Q-5!(ecBD>y*sLafS|vTad^V>EYZwY7fw?VUDl-_Oy28nZvv zeX*Cwl6F%UP1~(u5CoohNQpvpoab^(INAagtrixxwIG2-{a;=jNXXcP1T;1LT zl{-q6tdv!PP=E_nxt6QF2s|0I-r*U!^~LL-{S=RIJo%>>|E9GQHu2;Gu%+D zQoV2|8N-KEPzbTj%1907@_KxBY5y^=xlXkEb0k7HKK9&Jk>=&g zazn9hz6o>HHpl<&9!3a+$192O-2iEj+t!cC0$DFF-xUA7KY1yq5W?Ocou2=)MRD|& zgjk+STEE8J)wQb=?(q(7CO1KZIEicXgn#PYU;V>YfbxE3o9sy&&3~*C{H`(~FDMIl z;xxv;pWP_`3ZS7qW5G8s5;SL=!m`mUZ{W;{m89SnPa)Na zSp$3oD!gNnoiF;^i6n){GdwPr1CNJbw8{k|?Om~$$4PZtMEC+a_4!CwL*Uq28{I}S*X?KzUSjC^Ac*DRSd zWZHWcTU{|W=iN%SP#Thj8?$8CznH>>!mCSc|%AD zhPRkyX9z)=uEF(H*tB-ZrnX|0dS;1Y|9t7^odCtb<;jHIscJZFZY2G1rqx-GL zq^47nR-p1HRjOtX^Bey9_97lIa?r0g9waBQ1qFgf8l-4~SCh^6iYHbeUzQyVFMcR3 z0Lf-{xHfR-a0TLRhPZu^g@@b02Zf`+I>&>V!ZcimU6Meh&uY)Ai|T_Lf!wl^=&Hl1LKUD?uE+_BJvsl>en`-jk%9;4 zv0IN;?)@1^o;N?g^2egu}QSn92uji-N)3XsB9GxqREs_!aEaJ^$;4D+W!YjnGqu#mTl zQixgiB#DE{2Krk4H*txdLH=m>QoUuSBGiw2;uqKcI?D%-a)jJ@3E`|u&`g$2m_$rtu2ihAE#_nwQw?RynP9JgqoN`qVo79m zuc6aPv!mLXW0Dq)NaOl{FJ1vjPSN|<$&aA6l~BXJm=6vPl^D#DclY-f&6By4(e%o_ zr$SkMx`9u#FyB#jrR6(mo>fs3U6xuwan;e@N-nB7um0vp)8dm{CI@bh>ZS}pE<<{;wVw;xAx;QS)q(d_v!|ro|WPG?)33-A2WQH%#capbKRSNxIcLKD5UQj!p6`fK#qjg0BR)Ld<*8oDCbm6 zrPNOrgx0RsqGZ;Rsuv>%Jr3-|Cw8Ev;z$?3h3}F($luZ@ZJo$NkwlgUs8b*>i`ADz#Jd9%@0_0yeqrn^V7QeF0^#lP?KQbSGeX zz^~s~kG8{!X{W)8HsVpAluGKtgn1t!DWqLGJ0Pu=U|jy;f2b{*OJXyXleAUd-upQH zUnctn01%l`?VSY3izTxIVj`H%O`?5J&@GUCfTadXc zcAua}2rS@RuVB;T;iEjf-M;q#ya&2&`b5v8W?;1Z=^%`1lkv*;YUdZNh(HogMMIxr zd}+`4oK5G^)3{eWdAxwcTp`QcZ@0HC0m444@}eaRP)aXSW~U<3>887oyGDnBUXQ-L z(w;j;qZ$n7#jfy7I0^)n^4-3i+ES4P7hC@VtrF>vhqny)J~VB&KK;!H)%`0LW~Pqj z>K(I9v+qwUYq}lBCnx#@jb$QV+0E&fvKSk<6p&kjSnv2700KHK9MUil?Y=aC(m)nn zZENQ|x9>)@UF*Azm!&@sm@RQxlJr;UEH7S^3-b6xpB&sc7_cnl57rZ@hmG~dYBj2y zr|?Rv#j9sjd{M^rCKB34B5^d2-l*fcXs2#1Myu&OtYLG)Z8|3B%}6_dILW!$myC{c^87sm6}h=||L4MyVosn}PKa zThqdMhV^Ggy&Wm{pXzW)fBFpJhwX7L1wMji0iky{t%<>wyXHQHO-)+K&MW9Y-kQaH zA$j|8=Y3Le?@z{?NFxh(`L1Qpd1~J04RF0ztMc4rGTtQT48HZV_N>Lv*GnCnKd#xW{TzlN zkezz_L+_j_3w8_5n{VPil8UQ*C#bfKlp9@oxv^p70;+8WZGPx<5UShW-rkwsD;_tc z=E|_L9(8&7XMHh@Q9pn;#viLK=f`L&eBE0c>YWZ^{v^9egY`WfDvRCQN{Xz5lUn`( zz6!dV$)pb4;vLXw3-gurveSHkm8Gvr+6&TgI8v4YnY3bV*51R(C~-}B6?uW zuYgbcQ39vJuL=uBEF_e6id(TtQK>Qo_vKT;XQ`YkMHBGF9L$%pR@PHpn;5cT>o%(e*53W4_8F z;dV;~_;z=(sEwQ&%s1uj3U2VkzeCSaaLLIC;&M2MTKO?*O;Rkr{WW@?zgW7lJq>Qo z5E=RLLa0e^Ue95oWj&8dCda;GGZ-&!GUp=kf7zR;vXb)kfFKkal?)UPTbCW|{UpfKcA_ zN2z`{MuRP(?0#uC`6w4XJ-tJoW7ikr_}l$@;Gj1>oG%YrVzt-=*D)oM>Z|Zptl)}c zA7gb72(KttyTfB&NW|o1>C zxjZEySWW*x#ZeyNmEx5&CcV7%xFCu=t_i!Tq@THQ=k2A)n>{NaU%n|;!#4QTI#imH zW?4|!dC42q03;^1zu!)x39qI++!{}p8HR>5C0I30OPvfv09Ua99-06d?h_UPzKhyH z(?+<2`Gu52n(t~2-vT&@)BhS-?0J?Se*x;$p%b_Vsao2b7w(@wIxfD1l=meRMuPWE zz!tiH!>mDNkK&JsTlm3S;E-%vWsdX3lx}03R_Awm;h7TM_O&mggG0IFm1dK@14-PV zxuhN2j>9dv)ae_GJGoJ)R{4?FC$7oA8YbTi3k0=Q3C5*6!0l>1wvsF>3=bD~HDtYS zoIFU(xt)q+`7VLmsYn_*-4kib_m!#hEocOA@mhZV{Oz@VSI(v1?>K1HmKo#sbPj2R zKWID&|M{a+PEeS9jTSCgJ9&1)pS*t0YXh@|xvR{1Z_Vw`*Gqr~%Z3n1mf7-=FRcAL zD{yY3$&h76wWQ^|jQoQiXzFThqlrazaKD*djJesb*WO724ZuYA<6kr0ATIrU<7h!S z16S}2hSNmoSe^D}UhryMv7qrklSVLk4tJFQv1xlC-U>XPHxmrPlpQh1&i6~T?U-%* zb9MvK%g+MxFNGEs8r}NZ{4oKCai(5@T|pjd>{ddrC0AbO2THWphM_!%_t<3bWbe=3KTu&ZHrQ8b7`eqNBtJWFh@_=}58@awH7?U%C1-uWpCv;6r&9}BmD55yK zi#FX)k3+R@-**xgU9>AO6I!`%NoapVy}$P2*~tn*#U{x}E6ye6$RTWPivX=(bLYXJFRD-ykH((JcGD{rIS5lhp2)Iv$pvYq;qdDX2*eYe&;?-EOy1m-lIm;GJ)o=kb!YTvF9 zjSB^{t@+ZzCh=Cz!mQkdveQ3Jn74VdBO>dto0c=er(zE`^l_>Shr!P`HHu5>^qQ+# zf*gA`GB?(!)<`Ib(rXgNgW!VR|whLpRa;pBzGN~naHDlDZzt2!=yQNJ1g@9Q_& z5DsYSl9*zuphr!)qe`6gbUM(D>20SaHsWh-{)jAKTT^b^Ptj}*oqVrue;;pZMwU5R zIqW;%Dy>P``0}8c4eS$~6yOIX3;S)pkI&Q(eFrqGi+BX#qR=16l)vjEl@xMssPeh8 zHoq$PGX5hJ{C1|C^1mq#apBaY`u2zD=p0#^RbF4c{t(U{gV_S^V)S}8`iD@rha|9?4?hpe*Fg*6 z09+exW15&vTdRB=rb;ae3pFfWLF`15_x`DI5g_Oea$f$}JMVElN52j^&>$0xwRJJt zjR4VJU{Ks&ud7TPG7$L$5ECuR_F6q{ObW9(W(h%}Mp`=hY+(_+a~X>HE9v3Ibx%!A z?yz`*9(Jf0<7buRU0KM+FM(l6FtM`o0+x9Du9 z6qZ^Kf>pSlNZE)qBL4Qg}z9?U?2etBDkxgp#!pz0BczjaCr*g;RmgL z4#kfa5wPL$s(t%1)WcZ*xoi!XWx;eZpMC>=qx*AMcRe93T`2E~T6ihd24!eg$t&>r z3Ow360e=UeHl|xtPS4JemA6*zNHj>oCW+h6=uY|7f!Gp^6!Vj!|oajzs6BjVwEn z6=(tg>STfHGq~Pnxi9(^pH_OTyIke^d~bFg3`odEa_F`pc_2w(T3&Bjo~p=~i!A^T zyt(=LQFrIFGSRmB$;3xyNDMKW0 zaz+5!ifcc8bj6A3EfuS4I3LnUwm!0Ucw5v59pbS7wZ5pu+YOH6cHrhG8PA^1G#DVc zJumnJTr$tg zlsy>*GS zGz}6XF2*Kv*?Wd-B&_XmrpUQdP_9s{!(Lv{zY{v`Pm*`C+zqf4lL3YJjMk%K1plG8CBug{( zsx<5)B(O^t4I5#Te0s43jEXt#&%FXw&XICsnWS@(mBZzB!`|<&j*q%29@SGJrUWkuWk(Ed>a@R7!8rubfT-CnD`ic0-p(0dkrs%BIrNPvfPTx)53BB2+(GJZfA43mt0@su5TqsAaE5D(y(Kqx>yQ zV$ky+7_&er1>u$P0BW1D@nXe~<2Qhhav_bKl^`=qdR zZ$P_0w;WBHvY%~+6C=#q0Tqt>9d}iTSq*|FQ141iM`_?fJXf}CH#~PD(EviYJm#(g zey!`Xy=*T1`8tPqClF)%NKBMWK)${#2N1ZBcOIvHIG?p@&e`<6Y&SFo<@V2rz3n(? zT{AOW4oYE9xkVjdBdOZ#mbbz*l5sDs)2Q~-6)8TXGdlO;K|s0*~vV2 z?>PTH)e&?qnvSFI)Q1HwX1_HP}@=^sdWE;vZ2Ldgf4;nAle$gg>f4Bi2ibHDQ>aZ1X zqwd|)j`h63cJZP0A`@u7Kb|owMn_s6%awQ7fC1&wo1GMcx6Kp2QwAVS5%mkRbw@ zLHFD9xR|GXCiYb!$jBhNz6v+bu^Xqxv(d}!Qu0>ttv+5bvNP;;i*;a|2&OXQSE>aT z7`M~jcXD1g@#;Lwfv4()@=ZC2d+Fp5$;Z|s0!MG)CZNC+`swC;J9-O^lj`>ylKx=> zk>C>^c5Z~Ja%GvMN0{7iW{CIzs3xbwstZIaqfH{<3@PqhB#zDWn+E9E{A;||o9XLY*(pkmh~d=s=+NF3!|o|p8%v|P-#&WR0Ev8GQ2QA3=_9Qw zC1^Z)=toLOB<<6mVEyCrX6&Fybzj|C92&2$bf}b5{gmqiqq_mE8Mz)7vb?L)QJG0T zo#n0r&kOFSlr;i2v$3ku4$mMM4IwJ8-8=BadZJ`_a}l{xA0Q5sU!T0zP)66Ua{*na zZMsej9Y5g+a|j!NzxY>o^Funk@~3FpH+!Z$GnoG93hK*<_E|o@$*Te7k{ksZ+{E0j zqfSjqnP^=|20dS1YGq@DPC#4U1bVT(i&zROdkYQn75X*u6Ei-(aauHSHO}SqP3Z~6 zRjJPSajFy=FVYwSGlf>p?0o)lB(+waYZiUaBb+hS!%wHO7dSo`JQqiQCS+R6cAmNT=E|f zEsvgMc@#vuQm2=_g(Dd_kixHRS%2r)h>1>)g^=VmEzwMW!@S}W8 z2+jC06QeH?3_%Ssl=F56yJTikn1UxTyx&du44W`m2d{^t=?I&^lGgKD_-a0^Sso!+ zVq$6S{Y@O5sEhe0<_@|nd*IVx&TzUy&Pt5KkdXLdgNwWZnI6sKP*rOy!?_R0dPi4( zl4B*98x^|tIGFOn#x9u}98@7{voLe7?=R!xb|#zmlHY*Ex*ks1%(U_19qSZKi*n*hnR|wlf-KI6O}R z#Tg%oz6!%^#wCyTN*_n}o>L)vWR`u?FXOFM6A;{{%b8|(sT8Gv+2KUc4OJstUn(un z)p*xfV*3O*ALAJ7OXRe(?|MAIYLYVOzQOi8AG@x4RGME31&eH{A68%CV43fA_`XpbegkJa5kyF*eawdMZOffspG_6UjmDu^(95~`=8 z+0I)98TkHaJ*ck(SP3bS2H&k>agPy;OFnznA`!Hu%mDN5#_MJ$Ftb=ec;Y-=s)%Iu zyumBxA=MY>QG*Xcs65}z^q^?^CtSa0N|03oEKlsmk~{r2YREcbqAw(5VghjBKPQNv z0R0khi$(W2>^85zC`@bTHT#lR2upo?M0ladK;%fWhp-ib%0;5Qj-{bR|F5;3C&$lz z7lyywTkfri*kx;XY7Sr?rYk5?X%^Gb>s}roo)uEO1AuV!2G6WktHj8ugL>uodfjwte3AY zvB#0~;A||$>SMHc{On@=dkbGdsR)#V6WM>XwYXyXd(}fr3O>?x{hkiQ>AZSdfm>;x ziRL$Xd9+#?GT^-26-G+yOl6;yNZ2z1iuN%A<-~tct}&EqJoD;Hg}Aws@z)~UO}{uH zPuhl40_exMI)B*i7k~&SZO~8KxYw|}{;}6|#_y`XI`T89O%p9%bp28#xxNq?shu%} zIu0*F5NBgN^9I95bH@?Iw%|}hx=wzFgwLc&1YdF|5(eBKdu?U>s{8x?e593{nH6D& z%4q5D7k{~WD!$@tvq=1$tlO>919Bj20epo_J~Kb6Lj$t^18fqi zrmCkd4e(AA1!d)Yi2GTzGF(3yGQLRrs)zpAtCMwPmllqeck#W2wa0H1h%pJMylwxS zMcq^Tx_uU&gQ@H(g#blp@-bi7>; z!8VSyn$@pSpVCEhX|2ce6j^Ongttbs!^g(Qe}TfgL$5RF%#{I_^IUMocDTH)%|e+m4%l~6%&5Z8G!<1f$E7lrxnq1jPUKTgDgV<{SCou1YXU=RQgD{yFiN@ zBF|0dqmbT#*Rx&AsJKhCDelyLvCOesZ?fQi!<_SK7*{1G?h;(NNnp1a`F8SWFxKT{ zW6SscV{DQSO{d2ab=s0vV2W_mq`Vluz-VFJCwQRZb{912nwY~t(vfu> z7^q{0|9_7ihwLgVXSA*KFw@bd%aZV*?nvXEmE(&>Zs?p*(!_w@nA$$B-qH zQWRzh#+tzJNcs)TCntLf%IgJmvajqi|Gm42-p?1?Z)8bBBLpVVb$+7yC1@h5C@Q`H z{V$>doGOUS66l{GkG6wWV6_Qj;4z`OZtzp0_84f%6VV?YV7#q|0-9v~bxkJQ z0K|{f5R_SKu*D0Z%w(84tb2@kpTZuD>~Hw?PoMA9!2jl%dU_q;w2AmTKAF z%k#bf2aMV8WPn@7vUZ*DYBN3D{-}F_)JySA6t_#L*A=*P6YH0&;mW{KpuNVT6X@OvA0WPS*jBjOcWS2J(QIlJ z3do_XFoPI_>evPJ^zEm|V0{pI-M{-BWL68XAUvRii|hj7%ktzvSDXTQgaDRzmXecx zGfCvUM|IyuzzaDoAF-lJ#+E}?H(EtQQ;O*=!ar425?1+-LkDML1ezY)H8e^XazW zY^>1X16-*NjIVWrJ+Ez9v!*mH-`vd`UaisS)JpOA zy1rXvyHK<4>|4|PjTv9Uei-V|c6e++jgIT#RPT$B>eKi0au6`oT&4|v;ME7p%imAF zy;^!wu7`7s|E6$&9Km_&`r=7Wv4XnD4?O~-T-NQ+d>Ac7j|^NM{mq}4Ko{851f3$2 z`d%WSaay(dUtd8jR1>Xsj$`Y#bOQPxr9%1{v?sudBLGc$rnBffEEm+{5mcI%6joau zPUx2)P?kGqt*%uw@kx(pf2zzFej4Jb^QWKdgBUJ)&G@@Q;(Qqr+Bd-YKJp$6wlF?X zMTajr@BqNa8ZOuhdP_{N1`f6?7LwkETKmxQ5bAQ_3Mjci_PZna7{8}BffhfJl z&@0q+6Sk|3wx#Tuj1$jir>AO3e$)e(XgR5UWp8R#QVt`xr$rFr=w5AreG!!2iLjpI zY9k-MuAUa_xbH1;qJd!o5_b9S#{)FE`9-m1$8sKRVj86LF5@F()Vwzr5xVkoZ`|sg zlZQi}#M-ifEiWNHe=~$IC{*)yL;}F&@qKTsbj{sMGAfx`*~$Amy+T+CVAi5{B6Cbp zs0DtJn+MqysH$aX^sbdTF-Pb|1&B-7g?^8Dp;ZK7PI0-`;oIjhv1#?laO246O6K^D z6=`zSI8}9N;PQz{Rdvk&IA(AgXEX-NBAG4-$2Q`rPrVJaf9$auQ&M+b{23p7wS;BO z)Ievm!S&-gclF*k6w~hj0_}NpKvOYT6LJd1_176wIs*+Q5T3+DralF4!*d86IocRd zc84O#QOjz5+HiNx94YHd5}BQQrS)UU+_tVHQ%++6ETQzkXdM;hDspqq4A^wJJ69`@ za!NtzadW0vTJ5l-1TST~GnEox0Pe+ny_2$T4H#90`}?3^Clr81oMr=Nf8{ha3tg%} z-~sl#Mu9Q9j|~lP-@cVoR;EQn#rYB=G7EOP&M@`HANpz%5DIuY zi|`5;s6VI|*7j~<_YIG%)Kq{?q?>?~-rwic)poy; z< zm26DfSY{&04xT5g43_Ge|E1p{-vm|;8p)Oqu>g!DRnD|lqYG~@e8;WZ-#U{U9>>3E z;TA^i?Q!2asMSU5{~@D?OPm?~F1Y*;SA!B@Em{YKQv4u(=aXdM-i5%X2h6Q&xPVy< zB(1vM-j6O1cNd16LqCt_c;&1rC<^xcgg5?b4~^dH0zai z-fe8^8yv6wf(l-PGU>}yhn|kfoE*GMN0n* z!+YS?Rh)_$i5%K76|JoGDl9ClOs^9ow>W?DE+7CUX{Ga&p2rsr)V$??2AM9d_r;23 zdsAWA{HDw@4d>o}N6cmt0mRg9riH>&sqs!H8^1}a!LW8AX0m|f+5JuPL%l038-xu< zb{qYXU<79K9^PUN8aG4kK?0<@n2)`5N%3Zcz>R4RN$wKLU@5Tcv4FSv<@^Ixu?u8p zXUA}%!DajG2D}XlW6Nqhl6dM~?}P>Bd}0ZEK>vWLZ&4K}THxu^zgliBZwMu1{HAWz zsJP&HV{rx6MhA>ZKiVQ%zi!<3wxA*M$;JsB-|fnvLz*JhMtB-M>+I(O3xB8 zUhsmQ&#YiiS#DmQ+yNC5RaVTh%^dJ>SJ}%F!v91RHx&o>uc+7Z%!@fJW+EoB$wxo3 z%}K9BoFu$)!p=;Hq`p0`OeXaWtqd*T32DU->?AxKDO72CzYlg=x3U$w+)=hs9+$Kc z-GF(c;f8#rLb=E)`z^UfOI&gh4NQ|{k)W<*URN&MMebuzYBO!LVsxY5R&7}Q%55-J zqI*0D2Gr?LDBN~m8)E!)g5&E@=BAt#+)2un6F(@+O*WZ2yc@xL051q|SBZ`J{*g($ z^n$Owam<#u0e*r^H-lC6k}bgT<;5LAcSpT%oIW6WU^Ey6PyHu4&X{r`-_D&3ZhcmF zUb0RgMA8@qn?aGL!LC_{WmF!g!y#RV16AXs%msLyWsdR@p7qluem&@yORfJ^kRHEA zxWM!@-ou%0bc#(7wIzz@7K{t?QtJIEky-Rp+SO_2neRq}o0m#JN-|30T`rxu z_s+Td#NGSZ&wkEO#aCZKSw3{d&!cj6!{?B(X=>*bi8ek*JwzFm`bqm410@b0hJU>Z+Zs4kcl z`@I~xdD%60$v=kRtCjN?E4Q9#+8T`{YY#QtbrFR_-rufsq!}#qL(EIq4tAS*>l&k) zyu%!ckdJfGkIemgXD1pQZ$sBVKB64 zbU%Fhn}#PV{bj6=v0af}k|-nO+0%(3ZLTG(!2i?_O`>s*>owwGxJ;VZ19xlajN~_` znZx+a%}7mL2Yl}oLQ$}OK4ssyGaP_l{}Y3(`N?}ZFz+W=22|(hrYxrmDNp;<`}Ivc zTAgC1+E}vpD^6ZN{PzpEM+<73_JG|u``vq;g=b^$O{9UL84Q43RkQ^Z8p_2>G z>ZgnNezeUj=BE+}LO%m0=~BPv#R zlR%$+qKw`b63!#dIeG=*E+)TXNBE%y61C#{axwi~k+P`vek=Bjmx6XNJ%sVuHt)hJ zX@ue9bQo6wqeKk~mr-c+k$YUTnQ*_&%igPq2N#~na7;R(yE>S_0y03@8G?z=W{Cf~ zNHzRu=&NuOPq>WUkIz$&(fNbAdGpfQaXhZILFimy^iO%|xf$sJJDn)o5Qg}L?O%2a zNd!6g?yg|QveGbcqy+JY2v5D8FFifq4IO0Xyk62{DEwns-^HZF#*o7;$88kNg^7R( zkaUHx0ZFQi-b$xcWpeIUlIr6N9Fv=4g~@g0UXO7*+@t0|+z97;F%1X{qRKa-?VG5} zc3DY?Jn)lH3L${m&=o^3!85}NodP+7;%Kk+vEs}KS~0!N(h@4uYs5+jW_X0QLaj=n z2wp5qF&gM0GFj|eC6Xi$Ugj?T#@0U;S8p8|8|#??tjXc6&$0A7sotQ5C=Nv~$?V1a zc?4<#v{11&o>hB#*;A5NxC?;55d$a=6CyeuuM2ceG<}%oAnp#T9E;-m(=Vc!_|e`? z7#X|ANg&ZDBq&vodMu3!IZh<$0%yy~;z2lrV7CF_2p0@w<9$`8fRe|@XbJMimIR9BfFI-Ue%|L+&xoq33Fhp7$EQ+McldIm%pzX+ zcs>An%L{N3AO63n0v>U^=$F;M>(71xeUL=PXyIpdfeq)&oChAL>ay^#eliJn@Rmiw z5QxBz0}|fIJ2Vdwn9&IENjlwt3A#C`>UizW`sjn<0=f=>@824(|Jhks=y8AXsFnT$ zv_0YZXSx><+S+JuQG2evM*+eckkNBg2H9waXEzW*R925tKiO;~eza2?DTph$MyC|8 z_Dh&HI&L7%h35wjH>YDiGs@{84U!fvNIfp7x( z!4uY5l z_2|zMNv7L<82zQ=LCuH{3FG+V*@_X_Yv#rSe~_}q_oHhGPCD|ZII|dOfS@{FyTM$! zjrAHpPJj+3>+*}f%gguJ3pH1qANohM(JJ*Sz07QTPwkCHkHd*2afL~EXeg8I_YnWn zEa&DgvCj{pFBT7`{7xUtOg@aY?0DNTvC6qx+|#WspcL*spiQnY^j#;Mn{Uv$vkdnL z-Nqz#hjXbiuk=iVrMsb*_IGpRw zzO@|oB@R#ItvnfFxz&vVpDBjfLz~U$Qpbve)t}y%^`OzNnN69pn2hS~LwxBp(l?XW6N>;c0l|#jM2x zJLcLfy(D`{QSsB^=}xFn7`K$UTNJ#n(A}u`Mt~i&9-kR^?mtPPp!2zQz zCCz12>#65zCRBe85SjRm4a+-$z`_2>6T&n62G7JD^TZ&; z`g})UA)uzx(qhWYQp3in;bYHCgYJ~uy2~iO-~C2MV`YsqJ$U58c?bKX@7eZ8AR2LQ z%l_KmO;<4=jmNkt9Ig0Sg*wA%$2QZs0QDE=DVAkLlug2 zWPR-N`r*h(%>jk@u)lVn!5s&nECW4fTAV~~vD|XaUScvsAqD98erQ|eIUji{zfbs& z?#xPTIvo={-4wl&j;4A*8EoyQ!cvqxc%M&U5Z14K_?$E?TWLqX!GG4K;*XKYn*Wkk z!W{e$wN3J~8x0MAYs|_-$^9d+kRg0nkD>8zMl#NiIg9Ri19gO9wh*hsLkI{Pp@{Fl zLKve4&aOlNso4?8w^;2iv;^lTwyB$Yd$KGbF&?_`308{yQ_@g?3j(+OWiXOlQtLO3LScQT*QVMblJ&E?au03Hz;I z1pmytU7MSD=h;pX6yF*S=$Ld@2;*Oz> z@<3<&70BP2vGYlAS+p^=#H1>#;2Av4^eY^6!s8Rj{wFzU;n_78kX#%p`$qK3W;JtivPI>7uqM`YQXLB#_0Fi4s|PQ5WMr-{^n;Fy`ji zUvjgw_cX`?{B|`Y9YbtTyd$V^@T5$cvE8WDpY#2BPcL`L^k=8B5Bq+l=9OGp~La`DrHSp$Oc zII)kva&hyS|Dg+yYS*HWe19Xnh5K;fPHRupwgi?%)kiwLOCFK=Yo{G#?WVECFjln) zX}o@LplY7Ji_>kx23lzXQ$5fOvmmkAC<3#y&gf)n?YGoZ`xsI2BbzD`djD|5gkb90 zfV|9;0^f^7PTrtHL)M<$NP8kjoLLZ&sKmS#H)6G1jpE$<*V5ysUgE^p&GsK~X-T5c zpYP&mZU&~;gMtu?2z?d(_B$f3_KcJOF8`bd;E6s1SWht#BK~__-%x=SIDkPmx~%!&o5n`jh;4N8T;zkuM+FwJBAQNL1p!p>U&tSc}uWdyfi8W4cJ&oIF$cSv9Q zG0mh}fYN<)`88n&uHlD&vYwO(Z3*0IJWL^zfO!BVH?IDh5i5WqY#fJ_O;DohP3+Qx zSc<2N2#ucoc(OOBh)R60fZN+gVHf_lM9x0~XwLm0d#M2&5hUzPwozb4d@(%2l@9eV z<|I2P1d#w-B}~Eo79fb%Z)ouMIvo-{1vjkVx@L1wu2I*BG^1y0@dY8v{qz|#U2sM! z5T%1sJld_V`N)DYbb)FG+;2Gp4_$D%oIv@YD%u_u%6|U%gjmt-d+dm45qc{2w~{bW zDhA`i!;EAGClT|buiA$1RxOv+WZdOGY^C}&%+Cv;(y!6L7)JzD;n(JE$KrR>b{Dn< z%;E)Z4kL-iFuAM&l-eD1id72zr_D_GpwVP#%@QaN?4N_x8C4x9+Pp;zaBn@rc@tL; z0c)PO@I90i!tCukIKXJE%&^)YMJdwneD3;h5dmX~I#pa(4t62*W@wcbeT}R{`1X%Crwx5~3NP){DSA-fhpZLtctg6@QV>SkQ%Tc-UB++r_ z>;h;c`96e@KCXas~ zDf4o@Akxr$!npymQ6@_7yy zgrDC*MG5LrE*%HTPLBn>O3OKLV8wFs-7K;fUQlfJY>rerB$!q!{_4(M2icpiO=FO6 zu~gAMAeiz|BPSLuAc;VWysz8EdTA%kAH#@)Z`KCh}4KjUJ{1rJkxkaadK?oIEKbsqbZkE+z^09yy{}D zyENIJz{5+hB#z_@f5x9T8x*W4zw(d>bU!9)HlVc{gJF4_z#azu(8juLVOV^-{7&)9 z=RCIEXMC{Wzajj4J*AQm zs`e)2{O=$}e+EXN&1sC$w*v<4FLZxZC3LU&p9`sReF3{Up-eHT2LCmPF=s#!-$xG% zgEJ}|>BG1pz>7ha6!eXAtg#5VIg@G(T==oP(#x2D9%Yam1}Q@tZ`X7|(_z zz2a2_re6~T-xNJEM$I#(7*|*tM57|~Oam-d^Pm-L0ZqE7p^b&@|J4KSo@|Sw=>RUF zES`UaFe3Lk?YH5}Z}KE|AI@lN64-H0F4iv{sq?h7r~fHB*%I>qiWv0yjZgsp_d~t} z#h7JTNC^p9>~`%mo7jGFE{+$Ydxn&X*hvSg%c7tw+_4(-AxT35GhwQfKkn1Q3a_@B z&@nms8o9&Zd%>tXAijP7E{Kwb^vA%Ix3I8KKi{6I(d4xr&vKTIqPi#IxgV31MAAD1 z0xD3PNop-~o0h}p^e{3>!arK<@&#bFe|Ev87UT)~lk`9vUM%W!+Sy6Kn3tQ7smSdI zVoCbDP-DYz46b5?7F8Y@l`x$@j2=YVRW?(+S|C`f1>Dv_5HMA5mGr1jKOwUP#b>q+ z7p|X+i#44AtR1hwQ7sANCFt;jj^>~S6qJq<7wBLW^4vG?1v)AH-9QJAkx@D#1|aHP z0;_3^rDpx3WdO?VL=j%`6Y!x>Ae~r-N-x}tSuo@SYYxZ_U_I8vQo7%*7Ld;D?@X|E z%78yt+c=~m_Q0;;qQdh~aV_;dXZ>+D&*R6}Txg#rg<~MRVg68(DsbuXm=5EZo>yT6 zwUEY2@4Jr{f3_}`Iic8aj_Or)xwWS-@03iKd2J7(RuX&HFC@u2VC$Beg&Yt+6*L8j%f5RnUnNi#b9S$DooYo)`oU!%tip&w?K#UxRQ;5PA@?dE)_cd||Q)6d+H4s$)=ppi+E?osDhi25kzn z^h+nF(orpq(NP?wDQ&CgZ8Lk4(cy1mnPRA6cTFav^k}yZ9Y0uk*FCs*?~Zp=U>hT1 zH@Ls%nVZO?z|Uvy2g6zYD+Sw@OWB!S=0r>Fs9ARfpG;7rIE6jY)YF@VY@c%kQUF0h zY+8np%H%7F8z+C*h6aI_g3a7u3?6L)iK+^aBB8FBYR1*c??heC2rGOr_;NzxzMBmo z;2?%42h$iObV_&r=9Co_508y@wkuKQ4R<{~SNoYLl%HEO^x_?#UEBt>SMK12m4&rK zHyhv0@`|ed7e~dOZcwE4OvUrJ6f+ks`y1;iD8Jdjqa#O;^J*}c76Le`a1TJCpZ`z1|k z6eGY=(n*ERf~I}{ZJvrxy1KyArC$bpmn0&;U%FY?S`PHzP=SVi=}pYDY|~Wo7riff z(xz!u>V#P7X1Dn+NwG;;YgK#??a@(XY{1*y^pM|%?46R0+zpgYT=)X!4*>+X)zK9| z)D8RK%)P9wrfc-{^vScQPwCxVHfNOpjh|Ynh4>+y;zNYj(GK;}w}A1M2d4JeP1+-#hHhg4|91&6x82f;?5-&%LGG$Cbe_TneI6>4oHfFIQTPad_-hufoH5 z@j;OX9X1L3fEQf+e4&Cfo<(J}%&;Y>`g2V09;lUlPRyZGrP_A42)mV&1gj~Tq&C+A z6@s@h1C(s2WVD{+>|Pn(q<)fBeJjBgn(o7MXGBqRoIThosjNV1Cfk=XbQ!`tp_C3z{VzDj53d$i((qLsr?vEa&TjHoZHCbhM9Aq*@D9FWHZIRc(02y2?f=QVer=nHjD|>0K^kv)A@sG~Df{&AleU zZHP?!sy@-);bpXDXj{dylwz&p<#ENc@2j)fE|ywszx!9CTYP_wTkq0Zr7b&5nbYL= zcb^K-^=jTcyWJ*3$JoHKa8Y{adk`_3*I1!03nlbGzV$b?W zesV?%slNBO4^MvS`kpNB9m!mB6xZ*4fvjh~KS#y*cYHg!Kn@pFUw9dh$m9>J9iQ|= zda8Wl4CrK$(cY7rnCyE~9nicsatXsh5974R76xUQU&y*H7wAD5vT{n%J2I~94Kz2c zC3SdatV;@$KefHulX{iCoGmb|{Poh<T_gF@_Ii7gWH;6)yqQE_=Q$@$#hjB1o3lL^Xe`E7 zT-I9&oNkZIT%%>nSV51)vZJp6`dAfI9=~D*)58JNEt_gX802zH7NOQqSU7n}N;yTQEHcO989_<)mS$Y`K1YpVHYe6h3^CzM>Tc-MrQB0yN;)sIkt&OPKe z0pLfL;mg*b1)8@UxVtLR6af>!j^De8MeFU zad7Ao9of?JI!9u zW%nNTl0da$eS1&JPB8Y|5|ZSGqiWd1-DD1sv4&t{) z(d!1{Fwed|WC~N!_>fbkJ{aKo2gG=E5EXn)R$dtQn^-8(YLABe_*R!j!vrqyHT@$B zU>xc%wn%}e=7|`HO-L~t9}n!!X#JIf3gS>OggPrX9{5%oYal-XEgyr3hWB5A?ixl8 z>amo7uRh!&u_T-I6#-5$@TN}r^L3X!^c%|x-4j|eC6L&FEP>1Xo`!}(2KGh?Ni9de z%lxMGwq0X7_rkZ1e?r`5QJD!LLRNKD94=S_+5=KIG4Ao=uY&k2`%+XVh=h}Ymoo5z z1{k6hc(G*Bx0e11?Pv8bVo2 z@N3Sh#?;r|yfSS6YhFC_Civ+PlyoC5vGnz?6(Is;FoHVbbfOVcEdJsEDR?29(^VgX z6vhA33$dPpVdIfv-E=GFpK+)1<4Ip|)J+hjY+-=g`}nmpfZOZR%{#H4xYno|dWHpc zkrbc-Fy^1m&J7l`0{&qqDp1_oGqt*IOEP?Izo*AA=O? ze@(i3v_UC333xe@lyX_6sIXok;shA!pSdqf*AMW$l@qig zFgMs4p9rDOYlLL{h>AtYrcnb1Wri|F6I2}l0B4ig(C=X~3tI~-G#jbFOi=;%8p;mJ z3$H+e*54U*Mmo=<=bC9xvnhTMTaPNhw7}|<@_5)900f|~nC5vjsU{L%E&MPJN3D2| zw!dkB3;ze5GbRuXqLvF?_}`;*J=ptaPzEY3&C)2rEg4a z=(l9L)MtFC?ItaiQ zBIxqrhlLAk|df!tK4p1cNEa7*DsJ%C= zipqwEvI+|eUlqs25q@(g{_1WWU?D40S5#JG^ZIPHd$A3S5qw|Rxq_0gw4o6ZuNPsw z5s;8Y-iMa}soU&6yEKGQgFO(=SmoSQ0bZII3Q5q&_>b5xYMqEiwgdQp+kL&lZjJ+l zY4^wNb+okZU7Q__Edho-DtXMq!vo}FByvIB`%`*M!z#d5oB-PYD>CFbJA%Zy+kmx* z;v@oo`e4a@CWpvdP>E;Su`&qx8^wm;7)ye2Z34 zT%3$jZ9$<747k}gi>;xK6DG-s);S;iNs;QsKX9<}QlD zYNzaKbZI<(5mYaRu??5HP1#g-C2H#4dt}y^0Fs7!JKr}sQn?IY0}ZXNbhp`i9aK&c zX`UOO_dua}4-Vfn9f&I82pFXyNs$m!3>4J?)Y8a2d%YXtPw)(_Xjn6k~>7eYpm@ zp10MOQc&4ZG3MUx$rGoJYajBsnIW3G}^)yU4zfM%$997Ipdwh zIyc;Py20QH1cr7eN1~sa>=3>yX%|q)Wm6qusH&Kdt;|@WT1F?gbBDezMx7t;=n7&JXWb$%Im8Dx7$ZhHiGZ zPRWghLUOcY)bS}Cn)~&fg4WaXaHV>kcS{|$ZIv|;$NeyYCl9IH`$j$1lk7_Vb}#3- zZFcb9yk|ACw~;$EboOCt(qWT|H`U}Ry`E@&x_N@olA^({n*+Ey-k+C(#cEks`=Ndx zt)=cnHe2T3Kt;+qvv!b$)O)e1)c-J#zzVa;PayClfV|A7^1WD0kT3@r>luWfB>89- z8-`3Ewl_&(8JgbQ+9|5}tRLm?Xqs*%$aYeBnQg00%jY&1$D-{ELP=HC_=O*J zdQ0}wtq!;1x!zWX7<&AZieKqg1&SKJVo--=(oKc%N##q?!;Sv3SLxOmt8d(Gf7`6J z$BE*-c&8yGQok?Sy}YhenP^L7v+(i^$Ol(hnQ2UE1aIy##QaVO67I9|bZld%%lO;! zTC@67q7yT2rNeF*srH{p!ylKueSP02#DzD_uy51YVl(3PW7}F=S80j&=xb{`fhmw# zUZMHJc$pi#UJY8|!_MU&S8_!k6X^;YmQO#oY`rk$jjpfE)v#MTv8YgESdo6X86o;~ zJ3}biMv?D;ePZheJgR=Kmc}52QqAS46KAJ87e_%)Kalg zO#U}8iR*`V0mrs`xd$qIM~j&-(u7p%SMO2JMmuBlprTr>=q%f+o%MjP8(Te4rBYRRjQ4M(ry_kkrG9Xq3gF zi^xnx)_z$Ae6e`IcelH-vfabkKrDO}ynKH0cSpP4{SEf)YVbrOkQnS*UI_dPQ0l6& zI(Bw;EK|ZvKwLkPgNSeV?lr6Y>gFuw4+zz+N#@XXRGa8rVj)+Z7l-*0m~XPzd(A43 z)wA2AC${Pam)zEW8;~KGo}rO%B;Aviu(dz4;hh!Tx1Pc+pTC02D#*g6Ez!`M73pmM zHV-$!7fCqlZ`>{ojz^g88Qe6S|MQYmINYyc!(Vt92qJet%hT0PJLR12h_X7-o7?)w zmp42PMl@&i2~smNNo!4ShL5-ior7&h=5hS19R74k9Ot&(P`L3#Ep?Vt(EKodB6G2K zL5d!%DL#Z`)#!n^kNm4HPJ!y9OJ1s63kBYL4tDmfo>KVvbNsU&I@j=<9-qR;T3hw+ z7;V4QEs_KK51uoruGnaZg*vMz{yu%>UQ0+c)CSbU{9Eu@ThYX`Qjy-FEr+{;q*Fl_ zJ>5<>_A&Q5ptlS)_~3>Y#sm>zk7tfKg{W}GOC+x+Z=WKJ+1Kgfv2 z05=-Awn&)e*Yn*Mv4qe*oJ>WY866K?>q$l||38QbPYJWosqX4l0N?-#Ya)`JKF9Ip zp+aS-C4uh03=I6k0`6TxB5Khz2mO_grlCiOgr*PT(z*g**B%S}T(Doq7jSJbw*a>aGK{goHoK>%)!*0a#32P~L?#uB%OhXIXC$`g7L3Y{1k;DTb6 z25`bfBu*mmm=*7%QxwQW3U?^M-VkJ=vx9;)&|F!f`Sezv*uMJLyTMAiOz&B~#Xq`< z;wrc+`Q04Y{G&>Rh~Pt4c3$onqlI{5;{r2Ul`qLsKpn$8CprZZGLkT1;yQ%$$0pFe z`v3ek7dpf|@i4)dNy+{bzcV3L9O#f3!yHtQ>%cPK&!im`7m@1_joBdsTaxy>X+O=- zy^D&I8?mtL2kqdh6HJH%S;+6^SIOh8x2T9koW4=6L6t!&ooRp;^!X+KH{$g^e2OA$0e?P~KkdcSdx&Xj^c1o5gDG9@#A4rz{*r@(F^2NDvayu`hUUXO z279~Oq!5z~?WqJG37${i3^&b_2Xo`7u9fC;=aqvoaXEq!z$o(rS2oKSmabi|f8KHj zI+@WwPaLLE713W4Q^aEa;Bs>SfiYmGn=n$-@0h7kO~2Qh_q&_+Vo%~T&xdr(yks&z zuTZHo9Jf%yiO0a0Xy8dO{o1mb@Tt&$?0rVJ-rnlmE54GWi0)O`9=;JPQ|ZDgrCpq) zZmQC~GSv`QZgutG?~v!ILs7Ol^~6(XzkB`@8MJTA`Xr9lum_hJ73SkIAu-(P7)Stu zglH`uN?aHCT&9s%SIsau{qu>5Zc|~9?*7yE!J7*)Pe0b>S7w;$6mQRb=yd+L{^YHR z7790@^M8*I=E^N;Ua*J~uDujqU3xjFF}FN8{lg%`^byoqX`{V5(k0&yeKP8&cC}S7 z^BgGna7%Wxt6nwxLp+5^zGRPqxIU*DplDH?iS z^P(f~#Y_K}ak_17Oiop#1gs*GGsxqdT((e3)GT8Lk6|8Y4FD4&zq%%q(oq-vvmQm) zTS{%l9ho^O9qo4z7_<`v23JNhS%2%W-Tv-}C*n*@TWqlFNFCXXVz0?LyzUc2RX^c|wy{k6~N#5&yj+jgtm#;4KV z_IKH@U(U~cPt8`B&yISRe4Q(!_xR{$i`&?w?zhv5kjuves*vk|A9;Nji9u$)#yTwn zb6>%$^ntv5CV5WxBF5}U1MB=s$2 zh5me;gW^xsB`Wq6=zQ6woA4g1E+jJCS&9aDzPQS(j!d#=sO9wv46!q_wm2qxE_6N< z&DdTgpWZNvh8)XgUKc@CzMQ)|gVs}{T7?~dt%d5P)7_`iFFb1)+<*2&NAVat_-Kw+ zy5+q*T2g6x!a(}Z;BW+MYf?{UT{I=+A4T5s;01ftoe0X}J1M-{B^65+8hxX?!c!HG zyIU)T&XUSLKZ?Uid@XjPvN)~0AB=g_8q!KIpU~L)CJiHl7%pmpf%t)3)p=P$qAy~i}2YsYC3V0pU9)tL44AtF%4PfZrHZGbPj zErgnwdnF$E0+^>IjC3TfF$Dmcvk{2V*xQU@cNlpItE>~?@{CA~7ZjeZ!k2JSOrtE;T7lfr?}o_S01V0p)n^dKzJp~63muiH2sUwMDtLR} z)5G=x_#VG7SW;Ua8DoQq#KhGOUps8)ucDfS6J?>N&Cffne_fI}s3%yPeJ~Wc<0`-~Q|b4Y=T{yn zb2(#{Gqo4Sp{)FRM;}dMT_HTPwGYxGw*{>YlmPt;7I_PEcz4D#@hcOn&dAitX2(0E zZx@7U<__*qu)9jb48i;V_9I($Y8ZN7+9weS6nxHX`g>Xk^ zjaVLK{An(@QDjmL?~hN7adfuUKNWyy`Xds?}DO&K_oD zh&J`@;|!bc)k#1j9%;j}X8y8%A|XY0@{(KQr+@Zp$l`%DQ6f{s-qsIBWey5OsjOTa zLYm8Ne51KZf9V^$Cq2y<4fo5QmYvPKS=vh$|xlL5Z~y)3oCYOJUW z2oY|#-()-n>S8?raw=`_F5_nO6T0G^I4W+azMI`YdvWqxrRR{t^v$E2lt*@2C*;o^ z;|m@T57=yFq!f0~UG=;L`w(iBq?6E}9(UXohNT;IYcKE@;hqWo z+MZ{PfJ4jy$e5c0Kj!-SqG}IDwNcv~cA`i#w7$phYk_P}$=9!Rpa#^na>3opJp#|T z4(++1=KC*#>0!#>3+*b6Yf@`@C(7^F?IhpcF#NWu>q+Y&IKeXH(wkb`on$!>DyP}h zovpZl4S%=REF|_xqCe22vrAUcT(zZVtgjG)wDF2}pJ;~>GdVN4-n5BE$$Wa#;g_KU z(a;Y73Iug%SKo#$AA5j;VpOQG2bA0ndHi-x*lE|)THYfX-Jf&Md{pk4!F4^8n=%>u zvj2UquP`G~Z@3gH>aLZQg7)LEb|DTANL*P2~|=!i|?AJ*7OvP+0kl z?WXd_+fg2DQLmKa5~albv7PxvzAtbI7>?gl4Rje<=N)_>k@ddi##HK~E{&rsmx4mc zpSAn$^bd&IZaYZaxG?+vEQ>vY^-bGhPMt`BtPFWirA>bDo|eg0=eNHf3ZG{59OKU$ zcOAEu%*Dbj&}{78cBW&2*q&_NQ#Xi3fvWNE-@mW-^|0~w^_-i#OT)FEi=iowZ0rP} zDH{I7=E#0rdnM&EtS(bGyJlN?A9FfxN7MQ|%m$pFf7b$sO?E~Jk}0+5C%;=eynyk9_$B-hOWJbaUf#lYHRwl=3!%Xj?YB zSno>qo)E^^6Mls5hNu5aZSB}?p?t{Et7yj-T}Gho!ui98Jks`Z7cE`gr0P45{RY%h z3F{bjYR8^Ed1Q%}%5afiB?0|$aFR1 zrj?+VU=GYJndf<`mZ}VmAQh4#Wh1R@REpQGxNCB-gnh31u2Z6J>X(e+E*%pn5K{nK zcfU5*^!S6kww_+>$W*?g%$2sbR(xTb&F3GVQu-Vq%@S3ml`&02J?oF;`E zwzA$4N~@Ql=wDlFTe>s!NbRAQcM|PenLGQ0lWi`}PDTdr2^Qr?yp%>KJAM=}3tM2x4>3;p{Gm`Tp zUn4AIw};jseYfHT&ukkaqLin1M$J>3{_D`(@RRpF**}WNG(?X`<&?6gXB3i z-zcT1`N@zxFPh%s<}~gY1^dTnXfQ50$tUXc__^q182bsnmQCBU(W0laU|UaaEghW% zP)*nkWNLKW3v`4vBBdpEfV_-5VI^3_P+1&IgmSa~Iq*Iug`w-eTQJJf;e(I-;b9N|+cX1|CmJjjxBZ_+ z#31RwM;HiVlYcm}s4p77Vhy0-hBHlpNSY4a^13blNbuQBLe_3niu<3#-w@@Wk;qj5 zSm57H^9M2AZ6?(O5X=7iqZSb8@UzER|7X8*KRAs3&(+CUINu(Ep$ZNBk&{xEED|?( G{eJ*g9r5x2 diff --git a/index.html b/index.html index 68c8d256..980d9fe4 100644 --- a/index.html +++ b/index.html @@ -956,7 +956,7 @@ diff --git a/performance.html b/performance.html index 25a8cbbf..75a64fc3 100644 --- a/performance.html +++ b/performance.html @@ -762,16 +762,17 @@

Performance

-

Besides having great features, goal of reitit is to be really, really fast. The routing was originally exported from Pedestal, but since rewritten.

+

Reitit tries to be really, really fast.

Opensensors perf test

Rationale

  • Multiple routing algorithms, chosen based on the route tree
  • Route flattening and re-ordering
  • Managed mutability over immutability
  • -
  • Precompute/compile as much as possible (matches, middleware, interceptors, routes)
  • +
  • Precompute/compile as much as possible (matches, middleware, interceptors, routes, path-parameter sets)
  • Use abstractions that enable JVM optimizations
  • Use small functions to enable JVM Inlining
  • +
  • Use Java where needed
  • Protocols over Multimethods
  • Records over Maps
  • Always be measuring
  • @@ -812,27 +813,29 @@ (dotimes [_ 1000] (r/match-by-path routes "/auth/login"))) -;; Execution time mean (per 1000): 315 µs -> 3.2M ops/sec +;; Execution time mean (per 1000): 115 µs -> 8.7M ops/sec (cc/quick-bench (dotimes [_ 1000] (r/match-by-path routes "/workspace/1/1"))) -

    Based on the perf tests, the first (static path) lookup is 300-500x faster and the second (wildcard path) lookup is 6-40x faster that the other tested routing libs (Ataraxy, Bidi, Compojure and Pedestal).

    +

    Based 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).

    But, 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.

    So, we need to test something more realistic.

    RESTful apis

    To 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.

    -

    Thanks to the snappy SegmentTrie (a modification of Radix Tree), reitit-ring is fastest here. Calfpath and Pedestal are also quite fast.

    +

    Thanks to the snappy Wildcard Trie (a modification of Radix Tree), reitit-ring is fastest here. Calfpath and Pedestal are also quite fast.

    Opensensors perf

    CQRS apis

    Another 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.

    Both 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.

    lupapiste perf

    NOTE: 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.

    +

    Path conflicts

    +

    TODO

    Why measure?

    The 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!

    Looking out of the box

    -

    A quick poke to routers in Go indicates that the reitit is only few times slower than the fastest routers in Go. Which is kinda awesome.

    +

    A 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.

    Faster!

    By 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).

    (require '[reitit.ring :as ring])
    @@ -910,7 +913,7 @@
         
     
    diff --git a/ring/RESTful_form_methods.html b/ring/RESTful_form_methods.html
    index f667c211..8322913f 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 d02e08b8..6a274324 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 4367c7f0..f269b285 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 9306461d..3a01c53f 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 da71033b..c45c7cb3 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 e076f8f4..f367e20e 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 542617c0..e917b38d 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 04cdbb89..ff8c5b77 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 f7054452..1a4d7081 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 da2d112d..19e28459 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 d6105102..54bd3ca4 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 9a4c1f9d..2e876cd7 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 2cac8b6c..7885354a 100644
    --- a/ring/static.html
    +++ b/ring/static.html
    @@ -878,7 +878,7 @@
         
     
    diff --git a/ring/swagger.html b/ring/swagger.html
    index 9a4b8590..cb38628d 100644
    --- a/ring/swagger.html
    +++ b/ring/swagger.html
    @@ -1097,7 +1097,7 @@ see the next example
         
     
    diff --git a/ring/transforming_middleware_chain.html b/ring/transforming_middleware_chain.html
    index 5b7edacd..957c45b6 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 25b96b12..e35874e0 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.2.13\"]","\"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","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.","version","wrap","{:get","{:handler","{:id","{:middlewar","{:name","{:request","{:statu","{}"],"basics/route_syntax.html":["\"/\"","'add","'get","(*path).","(:id)","([\"/get","(condp","(cqr","(defn","(for","(name","(non","(str","/foo","/foo%20bar.","::admin]","::admin}]","::db]]","::db]}","::db}]","::ping]","::ping]]","::ping}]]","::pong}]]",":command",":get",":let",":name",":post)]]",":queri",";","=","[\"\"","[\"/add","[\"/admin\"","[\"/api\"","[\"/api/:version/ping\"]]","[\"/api/admin/db\"","[\"/api/ping\"","[\"/db\"","[\"/ping\"","[\"/ping\"]","[\"/pong\"","[\"/pong\"]]","[\"/public/*path\"]","[::admin],","[::admin]}","[::api","[:command","[[\"/api/admin\"","[[\"/ping\"","[[\"/ping\"]","[[\"/users/:us","[[:queri","[[type","[actions]","[add","[get","[interceptor]}}])])","[path","action","appli","argument","arguments:","bar","catch","child","cqr","creat","data,","defin","e.g.,","easi","encod","exampl","flattened:","gener","id\"]","ignored.","interceptor))","interceptor]","it'","list","method","need","nest","nil","option","order\"","order]])","order]}}])]","paramet","parameter:","parameters:","path","paths.","programmatically:","reitit","rout","route:","routes.","routes:","same","sequential)","simpl","string","syntax","that,","two","type","user\"","user]","user]}}]","vector","wrap","yourself.","{:get","{:interceptor","{:middlewar","{:name","{:post","{method"],"basics/router.html":["'[reitit.cor","(def","(defprotocol","(match","(option","(r/rout","(r/router","(requir","(rout","(router","(via","::ping]","::user]]))",":a",":mix",":user/ping}]",":user/user}]]",";","[\"/api\"","[\"/api/user/:id\"","[\"/ping\"","[\"/user/:id\"","[[\"/api/ping\"","[thi","[this])","actual","argument","behind","coerc","compil","conflict","creat","created,","data","done:","expand","flatten","follow","function,","implement","instanc","map.","name","name]","need","option","params]))","path","path])","protocol)","protocol.","protocol:","r])","raw","reitit.core/expand","reitit.core/rout","resolv","rout","router","router)","router:","routing,","satisfi","scene","select","step","take","tree","tree:","{: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","defined,","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","::db]","::ping)","::ping]","::users]","::users}",":a",":append,",":coerc",":compil",":data",":displac",":expand",":handler",":name",":path",":prepend,",":replac",":result",":role",":user/ping}",":user/ping}]",";","[\"/\"","[\"/admin\"","[\"/api\"","[\"/api/admin/db\"","[\"/api/admin/users\"","[\"/db\"","[\"/ping\"","[\"/pong\"","[\"/users\"","[::api","[::api]","[::api]}","[::db]","[[\"/api/ping\"","[[\"/ping\"","[file","^:replac","accumul","adapt","add","admin}}]]","admin}}]]]))","applic","architectur","argument","argument:","attach","avail","back","behavior","both","case","client","clojure.spec","collect","components.","core","creation","data","data.","data:","default","default,","defin","differ","direct","enabl","exampl","expand","expans","featur","file)","format","function","function,","hook","hook)","hooks.","identity]","identity]}","identity}}]]","identity}}]]))","implement","interpret","java.io.fil","keys.","keyword","leaf","map","match","match.","merge.","meta","naiv","name","nest","new","nil","nil]","non","on","option","options)))","options.","options]","overridden","param","path","principl","protocol.","provid","r/expand","r])","raw","recurs","recursive.","reitit.","reitit.core/expand","resolv","retriev","return","root","rout","router","router)","see","sequenti","support","target","them.","time.","total","toward","tree:","trees,","type","us","valid","via","{:get","{:handler","{:interceptor","{:name","{: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])","run","s])","same","side","sight","spec","spec!","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","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.2.13\"]","\"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.2.13\"]","#(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.2.13\"]","\"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","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.2.13\"]","\"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",":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","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.2.13\"]","'[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.2.13\"]","\"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.2.13\"]","\"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.2.13\"]","[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.2.13\"]","#(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":["#.","(index.html).","allow","alway","anyway","api","api:","applications,","browser","calls.","chang","check","correct","current","downsid","easi","entri","event","events.","exampl","example.","file","follow","fragment","fragment,","frontend","function","handler","histori","history.","html5","i.e.","includ","instanc","integr","integrations.","know","leav","look","make","manag","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","state","store","two","uri","url","us","without","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",":expand",":path",":rout",":router",":spec",":valid","=>","[])","actual","arg","avail","base","clojure.spec","coerc","compil","configur","conflict","conflicts!)","data","data,","definit","descript","effect","expand","follow","function","handl","handler","implement","initi","key","nil","opt","option","options.","overrid","path","reitit.core/expand)","reitit.core/router:","reitit.core/throw","reitit.spec","resolv","result","return","rout","route,","router","see","side","throw","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",":segment",":singl",";","[\"/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","(or","(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]","130n","16","2,5","200,","256","3.2","3.2m","300","312m","315","4","40x","50+","500x","6","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.","besid","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","export","extensions.","fail","fallback","false,","false.","false})]","fast","fast.","faster","faster!","fastest","featur","features,","few","first","flatten","follow","found","function","gb","ghz","go","go.","goal","great","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'","jvm","kb","kinda","know.","l2","l3","larg","large!","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.","origin","out","over","parameters.","path","path)","path.","pedest","pedestal).","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","rewritten.","ring","ring])","rout","router","router,","router:","router?","routers.","routes)","routes,","run","same","sampl","save","scenario","scientif","second","segmenttri","serv","set","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","total","tree","tree),","tree,","tree.","trees,","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","build","built","bump","chang","clean,","cli","clj","clojar","deploy","develop","document","g","gitbook","gitbook.","instal","instruct","lein","locally:","modul","new","npm","preview","run","serv","test","up","version","version:","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":{},"]":{"docs":{},"}":{"docs":{},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}},"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.012345679012345678}}}},"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.00411522633744856}}}},"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}}},".":{"docs":{},".":{"docs":{},"n":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"1":{"0":{"0":{"0":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.005555555555555556}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}},"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},")":{"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":{"1":{"docs":{},"}":{"docs":{},"}":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"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.001557632398753894}}}},"docs":{}},"6":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},":":{"5":{"9":{"docs":{},":":{"5":{"4":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"8":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"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.001557632398753894}},"}":{"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.0013404825737265416},"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/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.005361930294906166},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.004329004329004329},"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.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.017467248908296942},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"1":{"8":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}},"docs":{}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"]":{"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.002680965147453083}}},"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.001557632398753894}}},"docs":{}},"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.001040582726326743},"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.0021645021645021645}}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"}":{"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.0013404825737265416}},"]":{"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.001557632398753894}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}},"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.001557632398753894}}}},"5":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0013404825737265416}},"]":{"docs":{"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01195219123505976}}}},".":{"2":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"docs":{}}},"4":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},")":{"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.0020833333333333333}}}},"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}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"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.001040582726326743},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},"5":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.001557632398753894}}}},"docs":{},"%":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"+":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},"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.003115264797507788}},")":{"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.001557632398753894}}}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"docs":{},"\"":{"0":{"docs":{},".":{"2":{"docs":{},".":{"1":{"3":{"docs":{},"\"":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.02813852813852814},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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":{}},"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.0021645021645021645},"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.018867924528301886}}}},"docs":{}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.003121748178980229}},"/":{"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.004329004329004329}}}}}}}}}},"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.0021645021645021645}}}}}},"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.0020833333333333333}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"}":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}},"2":{"docs":{},"\"":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}},"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.004329004329004329}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"}":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"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.001040582726326743}}}}}}},"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.006172839506172839},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839}}}}}},"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.001557632398753894}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"}":{"docs":{},")":{"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.001040582726326743},"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.0070921985815602835},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"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.003115264797507788}}}}},",":{"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.0013404825737265416}},"}":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"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.001040582726326743}},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}},"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.002081165452653486}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}}}}}}}},"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.002081165452653486}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}}},"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.004366812227074236}},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}}},"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.001557632398753894}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"\"":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"}":{"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.00625}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},")":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"]":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}},"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.001040582726326743}},"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}}}}}}}}}}},"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.0035460992907801418}}}}}}}}}}}}}},"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.00205761316872428}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}},"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.00411522633744856}}},"}":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}},"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.00411522633744856}}}}}}},"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.0013404825737265416}}}}}}}},"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.0013404825737265416}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"1":{"docs":{},"\"":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"docs":{}}}}}}},"\"":{"docs":{},"}":{"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}}}},"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.001040582726326743}}}}}}}},"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.0013404825737265416}}}}}}}}}}}}},"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.002081165452653486}}}}},")":{"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.004366812227074236}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}},"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.0020833333333333333}}}}}}}}}},"c":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},")":{"docs":{},")":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}},"}":{"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.004366812227074236}}}}}}}},"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.0013404825737265416}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"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.001040582726326743}}}}}}}}},"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.0013404825737265416}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}},"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.0013404825737265416}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}}}}},"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.0013404825737265416}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}}},"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.004366812227074236}}}}}}}}},"#":{"docs":{"development.html":{"ref":"development.html","tf":0.05660377358490566}},"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.010822510822510822},"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.0070921985815602835},"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.0021645021645021645}}}}}},":":{"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.0021645021645021645}}}}}}}}}}},"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":{}}}}}}}}}}}}},"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.012345679012345678}}}}}}}}}}}},"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.00411522633744856}}},"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.00205761316872428}}}}}},"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.010362694300518135}}}}}}}}}}}}}}}}}}}}},"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0038684719535783366}},"}":{"docs":{"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}}}}}}}}}}}}}}},"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.0021645021645021645},"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.0021645021645021645},"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.0021645021645021645},"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.00823045267489712},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.010638297872340425}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.004166666666666667}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}},"z":{"docs":{},"}":{"docs":{},"}":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835}}}},"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.0020833333333333333}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}}}}}}}}}}},"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.0020833333333333333}}}}}}}},":":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"}":{"docs":{},"}":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"p":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}}},"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.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.008849557522123894}}},"?":{"docs":{},"(":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}}},"@":{"docs":{},"(":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}}}}}},"&":{"docs":{"./":{"ref":"./","tf":0.008658008658008658},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.004366812227074236},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"'":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}},"[":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"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.0013404825737265416}},"]":{"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.0021645021645021645},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"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.0013404825737265416},"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.0013404825737265416},"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.0013404825737265416}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.003121748178980229}}}}}}},"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.0013404825737265416}}}}}}}}}}}}}}}}}}}},"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.00205761316872428},"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.0020833333333333333},"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.0020833333333333333}}}},"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.003115264797507788}}}}}}}}}}}}}}},"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.00205761316872428},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.011764705882352941}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}},"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.001557632398753894}}}},"docs":{}},"4":{"0":{"4":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0020833333333333333},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.0021645021645021645}}}}},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}},"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.001040582726326743},"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.0020833333333333333}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.001557632398753894}},"p":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},"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.004166666666666667},"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.004366812227074236}}}}}},"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.001557632398753894}}}}}}}}},"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.0021645021645021645}}}},".":{"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.00205761316872428},"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.00205761316872428}}}}},"*":{"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.00205761316872428}}}}}}}}}}},"f":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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}}}}}}}}},"o":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"d":{"docs":{},"p":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}},"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.005202913631633715},"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.001557632398753894}}}}}}}}},"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}}}}}}}},"l":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}},"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":{}}}}}}}},"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}}}}}}}}}},"q":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}}}}}},"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.003115264797507788}}}}}},"a":{"docs":{},"t":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.004914004914004914}}}},"c":{"docs":{},"/":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.006230529595015576}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0070921985815602835},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135},"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.005361930294906166},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006243496357960458},"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.017467248908296942},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"n":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.017467248908296942},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"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.00909090909090909}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.038461538461538464}},":":{"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.004021447721179625}}}},"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.008733624454148471}}}}}}},"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.003115264797507788}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}},"f":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.006702412868632708},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972},"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.004366812227074236},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0058823529411764705},"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.0021645021645021645},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"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.002680965147453083}},"/":{"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.01948051948051948},"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.0070921985815602835},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0051813471502590676}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0070921985815602835},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.006769825918762089}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/router.html":{"ref":"basics/router.html","tf":0.01818181818181818},"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.010638297872340425},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00823045267489712},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02072538860103627},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00823045267489712},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.010723860589812333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0125},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.008733624454148471},"performance.html":{"ref":"performance.html","tf":0.006230529595015576}}}},"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/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.003115264797507788}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}},"r":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016666666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016666666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"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.001040582726326743},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.01818181818181818}},"e":{"docs":{},"r":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}},")":{"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.0021645021645021645}}}}}}},"t":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.001557632398753894}}}}}},"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.00205761316872428},"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.0020833333333333333}}}},"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.00411522633744856},"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.00625}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}},"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.0020833333333333333}}},"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.0020833333333333333}}}}}}}}}},"!":{"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.0020833333333333333},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}}}}}}}}},"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.0021645021645021645},"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.0058823529411764705}}}}}}}}},"[":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}},"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.001040582726326743},"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.0058823529411764705},"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.0013404825737265416}},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}},"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.0020833333333333333}},"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.01818181818181818},"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.001557632398753894}}}}}}}},"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.004366812227074236}},"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.001557632398753894}}}}}},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.00909090909090909}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}}}}}}}}},"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}}},"r":{"docs":{"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},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"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.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}},"e":{"docs":{},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}},"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.0035460992907801418}}}}}},"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.0013404825737265416}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.0035460992907801418}}}}}}}}}}}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"/":{"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.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232}}},"{":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839}}}}}},"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.0051813471502590676}}}}}},"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.004166666666666667},"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.003115264797507788}}}},"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.0013404825737265416}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.005361930294906166}}}}}}}},"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.004672897196261682}}}}},"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.0020833333333333333},"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.004366812227074236}}},"n":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},"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.017699115044247787}}}}}}}}}}}}},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}}},"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.001557632398753894}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},".":{"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.0013404825737265416}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}}},"\"":{"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.003121748178980229}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.004366812227074236}}}}}}}}}},"=":{"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.0013404825737265416}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.01272264631043257},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.012987012987012988}}}}}},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}}},"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.0021645021645021645},"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.0035460992907801418},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0070921985815602835},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.0058823529411764705}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.006493506493506494}},"]":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}}},"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.0058823529411764705},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}}},"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.0035460992907801418}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011764705882352941}}}},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"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":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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":{"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}}}},"s":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}},"]":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}},")":{"docs":{},")":{"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.0035460992907801418}}}}}}}},"k":{"docs":{},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},")":{"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.004366812227074236}}},"]":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0102880658436214},"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.022916666666666665}},"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.0020833333333333333}}}}}}},"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.00411522633744856}}}}}}}}},"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.00411522633744856},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}}}}}}},"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}}}}}}}}}},"s":{"docs":{},"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}}}}}}}}}},"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.004021447721179625}}}}}},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625}}},"/":{"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.002680965147453083}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}}}}}}}}}}}},"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.0013404825737265416}}}}}}}},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}},"]":{"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.0013404825737265416}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}}},"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.004366812227074236}},"]":{"docs":{},"]":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},")":{"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.006493506493506494},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00823045267489712},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.010723860589812333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011780104712041885},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.014583333333333334},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.01768990634755463},"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.008733624454148471},"performance.html":{"ref":"performance.html","tf":0.006230529595015576}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"z":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}},"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.0021645021645021645}},"}":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0035460992907801418}}}}}}}},"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.001557632398753894},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.00938337801608579},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.024869109947643978},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.013527575442247659},"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.017467248908296942},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},".":{"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":{}}}}},"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.012987012987012988},"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.0070921985815602835},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"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.002680965147453083},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.004366812227074236}},")":{"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.0035460992907801418}}}}}}}},"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.008333333333333333}},"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.001040582726326743}}}}}}}},"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.0021645021645021645},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.014583333333333334},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972},"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.003115264797507788}}},")":{"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.0021645021645021645},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.010638297872340425},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007284079084287201},"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.008733624454148471},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}}}},"x":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.017241379310344827},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"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.00411522633744856}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}},"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.0013404825737265416}}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}},"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.002680965147453083}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011764705882352941},"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.010638297872340425},"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.013100436681222707},"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}}}}}}}},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"t":{"docs":{"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.013333333333333334},"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576}}}},"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":{"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.023809523809523808},"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.014184397163120567},"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.005202913631633715},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.008733624454148471}},".":{"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006243496357960458},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.004366812227074236}},")":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}},",":{"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.004366812227074236}}}}}},"u":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.00625}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}}},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839}}}},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839}},"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.0013404825737265416}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"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.00205761316872428},"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.0020833333333333333}},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.001557632398753894}}}}},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.012987012987012988},"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.0070921985815602835},"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.004366812227074236}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625},"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.005202913631633715}},"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.0035460992907801418}}}}}},"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.0102880658436214}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}},"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.0013404825737265416},"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.0013404825737265416},"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.0013404825737265416}}}}}}}}}}}}}}}}}}}}}},"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.0013404825737265416}},"e":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}}}}}}}}},"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":{},"l":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.010638297872340425},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}}}},"o":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"u":{"docs":{},"t":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"r":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.005361930294906166},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.0021645021645021645}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"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.0070921985815602835}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835}}}}}}}},"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/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.00909090909090909}}}},",":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}},"]":{"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.012345679012345678}},"e":{"docs":{},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"]":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}},"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.0013404825737265416}}}}}}}},"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.004366812227074236}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.0020833333333333333},"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.001557632398753894}}}},"]":{"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.0058823529411764705}}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.009615384615384616},"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/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.0013404825737265416},"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/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.001040582726326743}}}}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}},"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.0013404825737265416}}}}},"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.0058823529411764705}}},"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.001557632398753894}}}}}}},"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.0058823529411764705},"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.001040582726326743}}}}}},"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/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}},"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}}}}}}},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"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.006172839506172839},"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.0020833333333333333},"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.00625}},"a":{"docs":{},"l":{"docs":{},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}},"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.004672897196261682}}}}}},"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.001040582726326743}},"]":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},")":{"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.00205761316872428}},"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.006172839506172839}}}}},"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.01440329218106996},"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.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}},"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.001040582726326743}}},"y":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}}}}}},"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}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"]":{"docs":{},"]":{"docs":{},"}":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839}},"i":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}},"u":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"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.006172839506172839}}}}},"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}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.005361930294906166},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628}}}}},"a":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"?":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}},"x":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"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.004166666666666667}},")":{"docs":{},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}},"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.08008658008658008},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.023529411764705882},"basics/router.html":{"ref":"basics/router.html","tf":0.02727272727272727},"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.07446808510638298},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.12551440329218108},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.15544041450777202},"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.010723860589812333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.049738219895287955},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008324661810613945},"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.021834061135371178}},";":{"docs":{"./":{"ref":"./","tf":0.012987012987012988},"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.006702412868632708},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007284079084287201},"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},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017467248908296942},"performance.html":{"ref":"performance.html","tf":0.028037383177570093},"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.0051813471502590676}}}}}}}}}}}}}}}},"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.0051813471502590676},"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.004366812227074236}}}}}}}}}}}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"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.0021645021645021645},"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.05181347150259067},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013089005235602094},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"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.0021645021645021645},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064}}},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}}}}}}}}}},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011764705882352941}}}},"p":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"\"":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.01764705882352941},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00823045267489712},"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.0125},"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.0021645021645021645}}}}}}}}}}}}},":":{"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.0058823529411764705}}}}}}}}}}}}}}}}},"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.0058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}}}}}}}}}},"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.004166666666666667}}}}}}}}}}}}}}}}}}}},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0035460992907801418},"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.00625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.001557632398753894}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.0058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"ring/default_handler.html":{"ref":"ring/default_handler.html","tf":0.008888888888888889},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"]":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}},"/":{"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.0058823529411764705},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}}}}}}}}},"\"":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"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.001040582726326743}}},"/":{"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.0021645021645021645},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.010638297872340425},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}}},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"/":{"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.001040582726326743}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"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}}}}}}}}}}}},"\"":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}}}}},"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.0051813471502590676}}}}}}}}}}}}}}}}}}}},"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.0051813471502590676}}}}}}}}}}},"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.008733624454148471}}}},"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}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}},"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.00625}}}}}}}}}},"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.001040582726326743}}}}},"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.001040582726326743}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}}}}},"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.003121748178980229}}}}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.004366812227074236}}}}}}}},"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.001557632398753894}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"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.0021645021645021645},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}},"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.004166666666666667}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}}}},"\"":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.0058823529411764705},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}}}}}}},"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.0058823529411764705}}}}}},"\"":{"docs":{"ring/reverse_routing.html":{"ref":"ring/reverse_routing.html","tf":0.0078125}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}}}}}},":":{"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}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"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.008733624454148471}}}}}}}}},"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.0021645021645021645}}}}}}}}}}}}}}}}}}}},"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.004329004329004329},"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.0058823529411764705}}}}}}},"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.0058823529411764705}}}}}},"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.003115264797507788}},"]":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.013100436681222707}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0013404825737265416}},"]":{"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.004166666666666667},"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.02813852813852814},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.0013404825737265416}},"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.0013404825737265416}}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0020833333333333333},"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.0020833333333333333}}}}},"]":{"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.001040582726326743}}}}}}}}}}}}}},"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.001040582726326743}},"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.001040582726326743}}}}}}}}}},"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.001040582726326743}}}}}}}},"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.001040582726326743}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"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.002081165452653486}}}}}}},"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.004366812227074236}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}}}}},"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.011764705882352941}}},"}":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}}},"p":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011764705882352941},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}},"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.0035460992907801418}}}}},"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.0020833333333333333}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}},"/":{"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}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"u":{"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.0020833333333333333}}}}}}}}},"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.011764705882352941}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"p":{"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.00205761316872428}},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}}}},"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.00411522633744856}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"}":{"docs":{},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}}},"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.00411522633744856}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"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.0013404825737265416}}}}}}},"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.004366812227074236}}}}}},"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.001040582726326743}}}}}}}}},"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.004366812227074236}}}}}},"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.0058823529411764705}}}}}}}}},"d":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011764705882352941}}}},"p":{"docs":{},"p":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}},"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.0058823529411764705}}}}}}}}}}}}}}}}}}},"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.011764705882352941}},"]":{"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.02727272727272727}},"s":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.03636363636363636}}}}}}},"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.0035460992907801418}},"]":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"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.00205761316872428},"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.001040582726326743},"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.00411522633744856}}},"}":{"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.00205761316872428}}}},"}":{"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.009615384615384616}},")":{"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.0051813471502590676}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}},"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.0020833333333333333},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}}}}}}},"#":{"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.0013404825737265416},"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.0013404825737265416}}}}}}}}}}}}}}}},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"]":{"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.020833333333333332}}}}}},";":{"docs":{},";":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.001557632398753894}}}}}}}}}},"&":{"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.004366812227074236}}}}}}},"a":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"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.0013404825737265416},"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}}}}},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}},"]":{"docs":{},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}}}}}}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008324661810613945},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.004672897196261682},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"\"":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},":":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}},"p":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.006702412868632708},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008324661810613945},"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.004366812227074236}},"l":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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":{},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}},"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.001040582726326743}}}}},":":{"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.001040582726326743}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0013404825737265416},"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.001040582726326743},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"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.0035460992907801418}}}}},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}},"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.013333333333333334},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"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}}}}}}},"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.019230769230769232}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0035460992907801418},"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.001040582726326743},"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.0058823529411764705}}}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}},"s":{"docs":{},"*":{"docs":{},"]":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.0020833333333333333},"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/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}},".":{"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.00205761316872428},"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.002680965147453083}}}},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.00205761316872428},"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.001557632398753894}}}}}}}},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.0013404825737265416},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}},"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.001557632398753894}}}}}}}}},"n":{"docs":{},"y":{"docs":{},"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.00205761316872428},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}}}}},"}":{"docs":{},",":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.0013404825737265416}}}}}}}},"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.001040582726326743}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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/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.008849557522123894},"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.002680965147453083},"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.003115264797507788}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.006230529595015576}}}}},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},".":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}}},"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.001557632398753894}}}}},"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.001557632398753894}}}}}}}},"i":{"docs":{},"l":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}},"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.001557632398753894}}}}}}}},"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}}}}}},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.004021447721179625},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"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.0058823529411764705},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}},"c":{"docs":{},"k":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}},".":{"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.004366812227074236}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}},"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.0021645021645021645},"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.001557632398753894}}},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.01694915254237288}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},".":{"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.0021645021645021645}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}}}}},"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.018867924528301886}}},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}},"t":{"docs":{},",":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"m":{"docs":{},"p":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}},"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.00909090909090909}}}}},"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.0035460992907801418},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.00205761316872428},"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.0013404825737265416},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},".":{"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.001557632398753894}}}}}},"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.0013404825737265416},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}},"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.006230529595015576}},"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.001557632398753894}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"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.001040582726326743}},"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_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.001040582726326743},"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.008733624454148471},"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"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.004366812227074236}}}}},"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.001557632398753894}},".":{"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.006702412868632708},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}}}},"r":{"docs":{},"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.04424778761062}}}}}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.004021447721179625},"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.001040582726326743}}}}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}},"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.001040582726326743},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017467248908296942},"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.0021645021645021645}}}}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"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.004166666666666667},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},".":{"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.00205761316872428}}}}}}}}},"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.00205761316872428}}}}}},"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.0013404825737265416}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135},"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.002081165452653486},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}},":":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}},".":{"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.0021645021645021645},"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.03773584905660377}}}}},"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.018867924528301886}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}},"j":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"development.html":{"ref":"development.html","tf":0.03773584905660377}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},",":{"docs":{"development.html":{"ref":"development.html","tf":0.03773584905660377}}}}}}},"o":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.002081165452653486},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.010822510822510822},"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.006702412868632708},"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.005202913631633715},"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.002081165452653486}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"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.004329004329004329},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.009615384615384616},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},".":{"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.00205761316872428}}}},"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.006172839506172839},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.00411522633744856}},"(":{"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.00205761316872428}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}}}},"s":{"docs":{"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}}}}},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"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.001040582726326743},"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.001557632398753894}}}}},"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.0021645021645021645},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":5.062176165803109},"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.009615384615384616},"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.003115264797507788},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}}}}}},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02072538860103627}}},"!":{"docs":{},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}},".":{"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.004021447721179625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.019230769230769},"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.0013404825737265416}}}}}}}}}}}}},"j":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.00411522633744856},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02072538860103627},"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.0013404825737265416},"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.001557632398753894}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.012064343163538873},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"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.004366812227074236}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.001557632398753894}}}},"s":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"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.008849557522123894}},"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.001040582726326743}}}},",":{"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.0035460992907801418},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"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.001557632398753894}},",":{"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.011764705882352941},"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.0013404825737265416},"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.0013404825737265416}}}}}}}},"s":{"docs":{},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}},"s":{"docs":{},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.003115264797507788}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"p":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}},"l":{"docs":{},"l":{"docs":{"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.017699115044247787}}}},"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.001557632398753894}}}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}}},"c":{"docs":{},"h":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"e":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"r":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292}}}}},"a":{"docs":{},"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.02654867256637168},"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.018867924528301886}},"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}}}},"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.0013404825737265416},"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}}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}}}},"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.001557632398753894}}}}}}},"q":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/router.html":{"ref":"basics/router.html","tf":0.03636363636363636},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.015544041450777202},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.003115264797507788}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}}},"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_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.013100436681222707}}}}}},"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.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.003115264797507788}}}}},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.008658008658008658},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.031914893617022},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.349794238683127},"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.010723860589812333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.3499999999999996},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009365244536940686},"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.028846153846153848},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.013100436681222707},"faq.html":{"ref":"faq.html","tf":0.012711864406779662}},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00823045267489712},"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.001040582726326743},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.0035460992907801418},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},":":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.012345679012345678},"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.002680965147453083},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625},"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.00411522633744856},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}},"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.002680965147453083}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0051813471502590676},"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.004021447721179625},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.01593625498007968}},"e":{"docs":{},"r":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.001557632398753894},"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.0020833333333333333},"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.006493506493506494},"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.002680965147453083},"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.0021645021645021645},"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.0020833333333333333},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013089005235602094},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.013100436681222707}},"e":{"docs":{},"d":{"docs":{},",":{"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}}},")":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},".":{"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.002680965147453083},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},"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.001040582726326743}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.005361930294906},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006243496357960458},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},",":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.001557632398753894}}},"s":{"docs":{},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135},"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.0013404825737265416}}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},".":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}}}},"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.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.004021447721179625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.001557632398753894}}}}}},"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.0020833333333333333}}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"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}}}}}}}},"p":{"docs":{},"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.001557632398753894}}}}}}},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{"development.html":{"ref":"development.html","tf":0.03773584905660377}}}}}},"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.00804289544235925},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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}}}}}}}},"v":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":5.010178117048346}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"development.html":{"ref":"development.html","tf":5.018867924528302}},"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}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}},"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.003115264797507788}},"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.00909090909090909},"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.003115264797507788}}}}},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"c":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009365244536940686},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"s":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"/":{"docs":{},"*":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.001040582726326743}}}}}}}}}}}}}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"development.html":{"ref":"development.html","tf":0.03773584905660377}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}}}}},"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.008849557522123894}}}}}}}},"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.002680965147453083}},"x":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.00804289544235925},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007284079084287201},"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.008849557522123894},"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.003115264797507788}},"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.008849557522123894},"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.001040582726326743}}}}}}},":":{"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.0021645021645021645},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}},"s":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0020833333333333333},"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.001557632398753894},"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.0021645021645021645},"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.001040582726326743}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.014184397163120567},"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.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.03056768558951965}}},"s":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083},"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.00205761316872428},"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.0013404825737265416},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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}}},"r":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"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.00411522633744856},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0388739946380697},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}},"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.0013404825737265416}}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}},".":{"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.0013404825737265416}}}},"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.004021447721179625},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"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.003115264797507788}},"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.001557632398753894}},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.017699115044247787},"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.001040582726326743}}}},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.01764705882352941},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.001040582726326743},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},"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}}}}}}}},"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}}}}}},"d":{"docs":{},"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.004166666666666667},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}},"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.0020833333333333333}}}},".":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"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.020833333333333332},"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.008849557522123894},"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.001557632398753894}}}}},"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.001557632398753894}}}}}}}}}}}}},"/":{"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.00411522633744856},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}}}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.009615384615384616},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"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.004021447721179625},"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.00205761316872428},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},",":{"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.001557632398753894}}}}}}},"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.001040582726326743}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.0013404825737265416}}}}},"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.004166666666666667},"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.001557632398753894}},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"s":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}},"r":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"'":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"b":{"docs":{},"e":{"docs":{},"d":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.0020833333333333333},"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.001557632398753894}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"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.006230529595015576},"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.001557632398753894}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.004672897196261682}}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"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.0102880658436214},"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.004166666666666667},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.012285012285012284},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"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.0013404825737265416}}}}}},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"]":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}},"q":{"docs":{"faq.html":{"ref":"faq.html","tf":10}}}},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.001557632398753894},"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.004366812227074236}}}}}},"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.003121748178980229},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}},":":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}},"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.004366812227074236}}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"x":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.010822510822510822},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"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.004366812227074236}}}}}}}}},"e":{"docs":{},"e":{"docs":{"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":{},"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}}}}}}}}}},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787}},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}}}},"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.0070921985815602835},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"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.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.057692307692307696},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.0013404825737265416},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}},"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.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.01818181818181818},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}}}}}}}}},"r":{"docs":{},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":3.3459119496855343}},"a":{"docs":{},"t":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"s":{"docs":{},".":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"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.001557632398753894}},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0035460992907801418},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},"e":{"docs":{},",":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"s":{"docs":{},".":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}},"w":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}},"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.00205761316872428}}}},"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.010723860589812333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.009615384615384616},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.008658008658008658},"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.024128686327077747},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011780104712041885},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0375},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.013527575442247659},"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.017699115044247787},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.013100436681222707},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"]":{"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.0020833333333333333}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}},"]":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}}},")":{"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.0020833333333333333}},")":{"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.001557632398753894}},")":{"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.001040582726326743}}}}},"]":{"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.0013404825737265416},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"]":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},":":{"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.001040582726326743}}},"]":{"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"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.0013404825737265416}}}},"/":{"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.0013404825737265416}}}}}}},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"r":{"docs":{},"d":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"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.0020833333333333333}}}}}},"v":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.003115264797507788}}}},"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.001557632398753894}},".":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333},"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.001557632398753894}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}},"s":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.012987012987012988},"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.002680965147453083},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.002680965147453083}}},"docs":{}}},"docs":{}},"i":{"docs":{},"e":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"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.0013404825737265416}}},"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.001040582726326743}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"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.02654867256637168}}},"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}},"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.001040582726326743}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}},"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.0013404825737265416},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}},"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.02654867256637168}}},"y":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}}}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"w":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"i":{"7":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02072538860103627},"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.001040582726326743}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}},")":{"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.0021645021645021645},"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.0021645021645021645}}}}},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.004329004329004329}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}},"\"":{"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.0058823529411764705},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}},",":{"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":{},"n":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0035460992907801418}},"}":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},"]":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}},")":{"docs":{},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}}},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}},")":{"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}},"f":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"a":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.006688963210702341},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}}}}}}}}}}},"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.0021645021645021645},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.04},"frontend/browser.html":{"ref":"frontend/browser.html","tf":5.017699115044247}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.012987012987012988},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.003115264797507788},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00796812749003984}}},"s":{"docs":{},".":{"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}},"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.001557632398753894}}},":":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}}}}}}},"n":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"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.0035460992907801418}}}}}},"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.001040582726326743}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10.002164502164502}}}}}}}},",":{"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}},"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.00909090909090909},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787}},"e":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}},"l":{"docs":{"development.html":{"ref":"development.html","tf":0.07547169811320754}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.018867924528302}}}}}}},"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.002680965147453083},"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.0051813471502590676},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"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.001557632398753894}}}}}},"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.00205761316872428},"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.00823045267489712},"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.0020833333333333333}}}}}}},"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.0013404825737265416},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"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.008849557522123894},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"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.003115264797507788}},"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.001040582726326743},"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.001557632398753894}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.019230769230769232}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}}}},"t":{"docs":{},"'":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"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.0013404825737265416},"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.001040582726326743},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"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.0013404825737265416},"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.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"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.009615384615384616},"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":{"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.003115264797507788}}},":":{"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.004166666666666667}},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}},"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.001557632398753894}},"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.001040582726326743}}}},"o":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},".":{"docs":{},"e":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}},"l":{"2":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"3":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}},"r":{"docs":{},".":{"docs":{"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.001557632398753894}},"e":{"docs":{},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"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.001557632398753894},"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.001557632398753894}}}}},"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.0013404825737265416}}},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"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.001557632398753894}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"f":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}},"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.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"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}},",":{"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.002680965147453083}}}}}}},"t":{"docs":{},"'":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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}}}},"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.018867924528301886}}}}},"o":{"docs":{},"g":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.008849557522123894},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"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.0013404825737265416},"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.006230529595015576}},"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.018867924528301886}}}}}}}},"n":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"t":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0070921985815602835},"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.0013404825737265416},"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.006230529595015576},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"?":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.003115264797507788}}},",":{"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.0035460992907801418},"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.004166666666666667},"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.001557632398753894}},"?":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}},"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.0070921985815602835},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}},"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.004672897196261682}},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}}},"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.001040582726326743},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.0013404825737265416},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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}}}}}}}},"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.001040582726326743}}}}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"p":{"docs":{},"r":{"docs":{},"o":{"1":{"1":{"docs":{},",":{"3":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"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.004329004329004329},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.006230529595015576}},".":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}},")":{"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.0070921985815602835}}}},"r":{"docs":{},"g":{"docs":{"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.0020833333333333333},"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.0035460992907801418}}},"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.0013404825737265416}},"e":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.017699115044247787},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.004672897196261682}},"e":{"docs":{},"?":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}},"i":{"docs":{},"d":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.008658008658008658},"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.036193029490617},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.01832460732984293},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.029166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":5.035190615835777},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.011446409989594173},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0013404825737265416},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}},".":{"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.004021447721179625},"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.004166666666666667}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001557632398753894},"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.004329004329004329},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"development.html":{"ref":"development.html","tf":0.05660377358490566},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.001040582726326743}}},":":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"i":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"i":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.003115264797507788}},"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":{"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.001040582726326743},"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.004672897196261682}},".":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}},"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.002680965147453083},"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.007284079084287201},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},".":{"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.001557632398753894}}}}},"u":{"docs":{},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}}}},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"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.002081165452653486},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.006702412868632708},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.0013404825737265416}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},".":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.006702412868632708}},".":{"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.0013404825737265416}}}}}}}}}}}}}}}},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.005361930294906166},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}},"/":{"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.012987012987012988},"basics/router.html":{"ref":"basics/router.html","tf":0.05454545454545454},"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.0070921985815602835},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02072538860103627},"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.001040582726326743},"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.004366812227074236},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"]":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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}}}},"!":{"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.00205761316872428}}},"s":{"docs":{},":":{"docs":{"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.0051813471502590676}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0051813471502590676}}}},",":{"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.003115264797507788}}}}},"i":{"docs":{},"v":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}},"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.001557632398753894}}}}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.01948051948051948},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.0070921985815602835},"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.009615384615384616},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.008704061895551257},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.006172839506172839},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}},":":{"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":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}},"}":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}}},")":{"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.001557632398753894}},"]":{"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.001557632398753894}},",":{"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.0058823529411764705},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.003121748178980229},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.010638297872340425},"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":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.001040582726326743},"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.001557632398753894},"development.html":{"ref":"development.html","tf":0.018867924528301886}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.00804289544235925},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"x":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.008849557522123894}}}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},"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}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"e":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"t":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"performance.html":{"ref":"performance.html","tf":0.004672897196261682}}}},"h":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"\"":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},".":{"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.001557632398753894}}}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{"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.001040582726326743},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}}},"w":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0035335689045936395},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.004835589941972921},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.022900763358778626}}}},"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.001557632398753894}}},"p":{"docs":{},"m":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.04807692307692308}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/router.html":{"ref":"basics/router.html","tf":0.02727272727272727},"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.0035460992907801418},"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.0013404825737265416},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.01040582726326743},"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.009615384615384616},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}}}}}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},")":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.0013404825737265416},"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.003115264797507788},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"s":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},"]":{"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.004366812227074236}}}}}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}},"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.001557632398753894}}}}}}}}}},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}}}}}},"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.00778816199376947},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"\"":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{},")":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}}},".":{"docs":{"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}},"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},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},"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.001040582726326743}}},"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.004672897196261682}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.0035460992907801418}}}}}}}},"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.00205761316872428}}},",":{"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.003115264797507788}},"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.001040582726326743}}}}},"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.0013404825737265416},"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.002680965147453083},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"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.012987012987012988},"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.0070921985815602835},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.017015706806282723},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.004366812227074236},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011764705882352941},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.020942408376963352},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}},"s":{"docs":{},":":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.002081165452653486}}},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},".":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},",":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},".":{"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.001040582726326743}},")":{"docs":{},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}}},"}":{"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.002680965147453083},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.0013404825737265416}},"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.001040582726326743}}}}}},".":{"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.0013404825737265416}}}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.006493506493506494},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.023529411764705882},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0070921985815602835},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.031088082901554404},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.006230529595015576},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"s":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135},"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.00909090909090909}}}},",":{"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":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},"]":{"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},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},":":{"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}}}}}}},"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.001040582726326743},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"g":{"docs":{},"e":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.012987012987012988},"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.004672897196261682},"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.001557632398753894}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.010903426791277258}},"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.006230529595015},"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.0013404825737265416},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}}},"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.004329004329004329},"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":{},"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.00205761316872428}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"r":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"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.0058823529411764705}}}}}}}}}}}}}}}},"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.001557632398753894}},")":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}},".":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705}}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909}}},",":{"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},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.008849557522123894},"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.00205761316872428}}},"s":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333}}}}}}},"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.002081165452653486},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.004366812227074236}}},".":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}}},"o":{"docs":{},"r":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},"s":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}}},"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.001040582726326743}},"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}}}}}}},"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.001557632398753894}}}}},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.002680965147453083},"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}}}}}}},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"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.00205761316872428},"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.00205761316872428},"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.002680965147453083}}}}}}}},"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.001557632398753894}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335}}},"x":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}},"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.008849557522123894},"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.018867924528301886}}}}}}},"!":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"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.0013404825737265416}}}}}}},"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.004166666666666667},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}},"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.003115264797507788}}}}},"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.0013404825737265416}}}}}},"s":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017467248908296942},"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.003115264797507788}},"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.0020833333333333333}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}}},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"k":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715}}}},"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.004329004329004329},"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},")":{"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.001557632398753894}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.03463203463203463},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.017699115044247787},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.010903426791277258},"faq.html":{"ref":"faq.html","tf":0.05084745762711865}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.00205761316872428}},"e":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.01818181818181818},"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.0051813471502590676}}},":":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}}}},"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}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}}},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}},"/":{"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.00205761316872428},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.0020833333333333333}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}}},"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.001557632398753894}}},"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.002680965147453083}}}}}}}}}}},"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.0013404825737265416}}}}}}}}}}}}}}}}}}}},"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.0020833333333333333}}}}}}}}}}}}},"_":{"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.001557632398753894}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}},".":{"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.008849557522123894}}},"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.028150134048257374},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.010471204188481676},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006243496357960458},"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.017699115044247787},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0013404825737265416},"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.0020833333333333333}}},"}":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.0013404825737265416}}}}}},"]":{"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.0013404825737265416}}}}}},"}":{"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.0020833333333333333}}}},".":{"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.0013404825737265416},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083},"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.0021645021645021645},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.004166666666666667},"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.008849557522123894},"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.0020833333333333333}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.0051813471502590676},"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.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.019230769230769232},"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.003121748178980229},"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.01876675603217158},"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.005202913631633715},"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.0013404825737265416}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}},")":{"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.008849557522123894}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"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.001557632398753894}},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},")":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}},"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.004329004329004329},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"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.0035460992907801418},"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.002680965147453083},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.0035460992907801418}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.0035460992907801418}}},",":{"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.001557632398753894}},"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}}}}}}},"a":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.004366812227074236}}}},"m":{"docs":{},"e":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"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.0020833333333333333},"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.001040582726326743},"performance.html":{"ref":"performance.html","tf":0.006230529595015576}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}},"l":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"y":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"c":{"docs":{},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}},"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.00205761316872428},"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.004366812227074236}}},"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.001557632398753894}}}}}}},"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.001557632398753894}}}},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"p":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},".":{"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.008849557522123894},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514}}}},"`":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"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.0020833333333333333}},"e":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.017316017316017316},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":5.00261780104712},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.008849557522123894},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"/":{"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.0013404825737265416}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.01948051948051948},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":5.08235294117647},"basics/router.html":{"ref":"basics/router.html","tf":0.06363636363636363},"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.053191489361702},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.3662551440329214},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":5.062176165803109},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.3499999999999996},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.03519061583577713},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.019771071800208116},"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.035398230088495575},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.030226700251889168},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.1346153846153846},"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.034934497816594},"performance.html":{"ref":"performance.html","tf":0.04672897196261682},"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.030303030303030304},"basics/router.html":{"ref":"basics/router.html","tf":10.081818181818182},"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.03900709219858156},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.04145077720207254},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"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.035398230088495575},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.038461538461538},"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.008733624454148471},"performance.html":{"ref":"performance.html","tf":0.009345794392523364},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/router.html":{"ref":"basics/router.html","tf":0.01818181818181818},"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.0070921985815602835},"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.01818181818181818},"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.001040582726326743},"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.001557632398753894}}},",":{"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.004166666666666667},"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.006230529595015576}}},".":{"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.002081165452653486},"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.003115264797507788}}},"!":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},"s":{"docs":{},")":{"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.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},":":{"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":{},"]":{"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.0058823529411764705},"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.0058823529411764705},"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.011764705882352941},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.004366812227074236}}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},")":{"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.004366812227074236}},")":{"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"]":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.001040582726326743},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},")":{"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.008658008658008658},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683}}},")":{"docs":{"basics/path_based_routing.html":{"ref":"basics/path_based_routing.html","tf":0.012345679012345678}}},".":{"docs":{"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.004366812227074236}}},"?":{"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.0035460992907801418},"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.001040582726326743}}}}},"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.00625},"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.0020833333333333333}}}}},":":{"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.004166666666666667}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}},"}":{"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.0020833333333333333}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}}},"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.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.004366812227074236}}},"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.001557632398753894}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}}}},"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.00823045267489712}}}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.007556675062972292},"performance.html":{"ref":"performance.html","tf":0.004672897196261682},"development.html":{"ref":"development.html","tf":0.018867924528301886}},"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.002081165452653486},"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.0013404825737265416}}}}}}}}}}},"]":{"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.0013404825737265416}}}}}},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}},"]":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.008333333333333333}}}}}}}},"]":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"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.006493506493506494},"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.001040582726326743}},":":{"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.00909090909090909}}},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}},"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.001040582726326743}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},"a":{"docs":{},"l":{"docs":{},")":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}},"c":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},",":{"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.0020833333333333333}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}}}},"e":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.009615384615384616},"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.008324661810613945},"performance.html":{"ref":"performance.html","tf":0.004672897196261682},"development.html":{"ref":"development.html","tf":0.018867924528301886}},"e":{"docs":{},"r":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787}},"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.002680965147453083}}},")":{"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.008849557522123894},"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.001557632398753894}},",":{"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}}}}},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"p":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"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.004329004329004329},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.017699115044247787},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},"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}}}}}}},"d":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"t":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"z":{"docs":{},"e":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}}}},"s":{"docs":{},"h":{"docs":{"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":5.0418250950570345},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},",":{"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.001040582726326743}}}}}},"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.004672897196261682}},",":{"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.003115264797507788}}}}},",":{"docs":{"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.018518518518518517},"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.016666666666666666},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.014568158168574402},"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.00411522633744856},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0125}},"}":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001040582726326743}},"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.001040582726326743}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"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.0020833333333333333}}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.001557632398753894}}}}}},"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.0021645021645021645},"ring/data_driven_middleware.html":{"ref":"ring/data_driven_middleware.html","tf":0.0033444816053511705},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"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}}}},",":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}},"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.00205761316872428}}},"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.008333333333333333}}}}}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"]":{"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.00909090909090909},"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}}}},"a":{"docs":{},"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.003115264797507788},"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.001557632398753894}}}}},"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.02654867256637168},"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.0013404825737265416}}}},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001557632398753894}},"\"":{"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}}}}}}},"y":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"b":{"docs":{},"l":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"o":{"docs":{},"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.001040582726326743},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787}}}},"p":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.012594458438287154}},"\"":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.010822510822510822},"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.0035460992907801418},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.004162330905307},"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.0013404825737265416},"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.00205761316872428}}}}}}}}}},"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.001040582726326743}}}}}}},"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.0021645021645021645},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"docs":{"./":{"ref":"./","tf":0.012987012987012988},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.057232049947971},"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.001557632398753894}},"/":{"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.0013404825737265416},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"p":{"docs":{"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.0021645021645021645},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":5.0058823529411764},"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.0058823529411764705},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001557632398753894},"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.0013404825737265416},"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.001557632398753894}}}}},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.0013404825737265416}}}},"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.001557632398753894}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333},"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.0020833333333333333}},"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}}}}}}}}}}},"h":{"docs":{},"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.001557632398753894}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{"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.013100436681222}}}},"p":{"docs":{},"e":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.001557632398753894}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}}}},"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.003115264797507788},"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.0013404825737265416}}}}}}}}}},"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.003115264797507788}}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"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.001040582726326743},"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}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"}":{"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}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418}}}}}},"p":{"docs":{"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}}},".":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"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.001040582726326743},"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}}},"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.0021645021645021645},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}},")":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222}}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"s":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"e":{"docs":{},"e":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.01818181818181818},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.003115264797507788},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},":":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.0035460992907801418},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}},".":{"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.001557632398753894}}},")":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}}},"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.0013404825737265416},"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.0013404825737265416}}}}}}}},"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.002081165452653486},"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.0013404825737265416}}}}},"i":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"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}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},",":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.001040582726326743},"performance.html":{"ref":"performance.html","tf":0.004672897196261682},"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.00411522633744856},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}},",":{"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.0013404825737265416}}}}}}}}},"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.003115264797507788}}}}},"e":{"docs":{},"m":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"e":{"docs":{},",":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}}},"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.001040582726326743},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},"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.004366812227074236}}}}}},"w":{"docs":{},"o":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.0013404825737265416},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.003115264797507788}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"/":{"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.001040582726326743}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.004021447721179625},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.00909090909090909},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001557632398753894},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.0035460992907801418},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}}}}}},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"b":{"docs":{},"l":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.004366812227074236}}}}}}},"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.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"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.006230529595015576},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"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.001557632398753894}}}}},"p":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"e":{"docs":{},"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.0013404825737265416},"performance.html":{"ref":"performance.html","tf":0.020249221183800622},"development.html":{"ref":"development.html","tf":0.03773584905660377}},")":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"s":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}},"n":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}}}}},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.02081165452653486}},".":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}}}}}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"s":{"docs":{"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.0070921985815602835},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"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.00938337801608579},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.017699115044247787},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.010075566750629723},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.039301310043668124},"performance.html":{"ref":"performance.html","tf":0.006230529595015576},"faq.html":{"ref":"faq.html","tf":0.01059322033898305}},"e":{"docs":{},"r":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.011764705882352941}}},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011764705882352941}},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011764705882352941}}}}}}},"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.001040582726326743}}}},"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.001557632398753894}}}}}},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333}},"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.001040582726326743},"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.001040582726326743}}}}},"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.001557632398753894}}}}}}}},"p":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}},".":{"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.02654867256637168},"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.0013404825737265416}}}}}}}},"i":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}},"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.0021645021645021645},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"development.html":{"ref":"development.html","tf":0.03773584905660377}},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},"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.011764705882352941},"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/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":3.3518518518518516},"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.345833333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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":{"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.0020833333333333333}}}}}}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.007371007371007371}}},"u":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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}}}}}},"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/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135},"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.0013404825737265416},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232},"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.001557632398753894}},",":{"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.002081165452653486}}}}}}},"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.0021645021645021645},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.002680965147453083},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.020833333333333332},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.002680965147453083},"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.008849557522123894}}}}}}},"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.00205761316872428}}}}}},"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.001557632398753894}}}}}},"a":{"docs":{},"y":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.001040582726326743},"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.00205761316872428}}},",":{"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.001557632398753894}},",":{"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.00411522633744856},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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}}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.017699115044247787},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}}},"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.001040582726326743}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"?":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.009828009828009828}}}}},"l":{"docs":{},"d":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"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.001040582726326743},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.011494252873563218},"performance.html":{"ref":"performance.html","tf":0.004672897196261682},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}}}}},"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.001040582726326743}}}}}},"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.001040582726326743},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}},"e":{"docs":{},"!":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}},"l":{"docs":{},",":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"d":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}},"'":{"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003115264797507788},"development.html":{"ref":"development.html","tf":0.018867924528301886},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"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.001040582726326743}}}}}},"w":{"docs":{},"w":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"{":{"2":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}},"docs":{}},"docs":{}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.011446409989594173},"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.004366812227074236},"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.0021645021645021645},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.026748971193415638},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}}}}},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047}},"d":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"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.005202913631633715},"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.03529411764705882},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.01773049645390071},"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.001040582726326743}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}}},"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.006493506493506494},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.01764705882352941},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"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.002680965147453083},"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.0013404825737265416}}}}}}}},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.010822510822510822},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011764705882352941},"basics/router.html":{"ref":"basics/router.html","tf":0.01818181818181818},"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.010638297872340425},"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.0020833333333333333},"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.008733624454148471}}}}},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}},"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.004329004329004329},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}}}}},"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.010638297872340425}}}},"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.004329004329004329},"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.005361930294906166},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.010471204188481676},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009365244536940686},"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.017467248908296942},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}}}}}}}},"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.008324661810613945}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.011764705882352941},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.006172839506172839}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"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.002081165452653486},"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}}}}}}}}},":":{"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.00205761316872428}}}}}}}}}}},"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.004366812227074236}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}}}}}}},"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.010362694300518135},"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.001040582726326743}}}}}}}}}},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625}}}}},"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.002081165452653486}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"ring/dynamic_extensions.html":{"ref":"ring/dynamic_extensions.html","tf":0.0064516129032258064},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"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.001040582726326743}}}}}}},"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.01875}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}}}},"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.004366812227074236}}}}}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.0070921985815602835},"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.001040582726326743},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}},",":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.010178117048346057}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}}},"\"":{"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}},";":{"docs":{},";":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}},"%":{"2":{"0":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705}}}}}}},"docs":{}},"docs":{}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"/":{"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.001557632398753894}}}}}}}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}}}}}}}},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135}}}}}},"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.02072538860103627}}}}}}}}}}}}}}},"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.02072538860103627}}}}}}}}}}},"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.0051813471502590676}}}}},"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.02072538860103627}}}}}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}},"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.0058823529411764705}},">":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135},"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.005361930294906166},"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.057692307692307696}}}},"g":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0058823529411764705},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}},"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.004366812227074236}}}},"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},"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.004366812227074236}}}}},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"development.html":{"ref":"development.html","tf":0.05660377358490566}},".":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}}}}}},"o":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}},"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.0020833333333333333}}}}},":":{"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},"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.001557632398753894}}}},"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.002680965147453083}}}},"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":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894},"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.001557632398753894}}},"h":{"docs":{},"z":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}},"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.0058823529411764705}}}}}}}}}},"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.0013404825737265416},"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.001040582726326743}},"}":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},":":{"docs":{},"=":{"2":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"docs":{}}},"]":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}},"e":{"docs":{},"t":{"docs":{},".":{"docs":{"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.0102880658436214},"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.012064343163538873},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006243496357960458},"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.009615384615384616},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"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.0035460992907801418},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.001040582726326743}}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0035460992907801418},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},",":{"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.0020833333333333333}}}}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},".":{"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.0020833333333333333},"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.0013404825737265416}}}}}},"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.008849557522123894}},"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.001557632398753894}}}}}},"i":{"docs":{},"k":{"docs":{},"k":{"docs":{},"a":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.013100436681222707}},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},"]":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},"}":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}},"q":{"docs":{},"u":{"docs":{},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333}}}}}}},"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.001557632398753894}}}},"t":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.005089058524173028},"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"^":{"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.0035460992907801418}}}}}}}}},"^":{"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.00205761316872428}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.0070921985815602835}}}}}}}},"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.0013404825737265416}}}}}}}}}}}}}}}},"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}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"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.002680965147453083}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}},"v":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}}}},"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.00205761316872428},"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.00205761316872428},"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.00411522633744856},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.00205761316872428},"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.004366812227074236}}}}}},"/":{"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.05660377358490566}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"development.html":{"ref":"development.html","tf":0.03773584905660377}}}}}}}}}}}}}}}}}}},"`":{"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.00205761316872428}}}}}}}}}}}}}}}}}}},"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.00205761316872428}}}}}}}}}}}}}},"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.001557632398753894}}}}}}},"|":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.01646090534979424},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.022026431718061675}}},"\\":{"docs":{},"\"":{"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}}}}}}}}}}}}}}},"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.0020833333333333333}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},":":{"docs":{},"=":{"1":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"docs":{}}},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}}}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"?":{"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.001557632398753894}}}}}}}}}}}},"µ":{"docs":{},"s":{"docs":{"performance.html":{"ref":"performance.html","tf":0.003115264797507788}},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.001557632398753894}}}}}},"length":7152},"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.2.13\"]","\"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).","(+","(.getclass","(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?","(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","(condp","(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","03","08","0]}),","0x15b59b0e","0x7461744b","1","1)","1)]}","10)]","100","100)))]))))","100)]","1000","1000)","1000):","1000]","10]}})))","10}})","11","111}}","12000n","123}]}","123}}","130n","16","16:59:54","16:59:58","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","3.2m","30","300","3000","3000\"))","3000,","308,","30}}","312m","315","3]]","3]}}","4","4)","400","400)","400,","403,","404,","405,","406,","40n","40x","440n","5)","50%","50+","500","500)}))","500,","500x","6","6))\"},","600n","6},","6}}","8","80n",":",":123}]",":3000/math",":3000/xml","::acc","::admin]","::admin}]","::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}]]","::r/match)","::r/router","::role","::roles)]","::route1])","::route2])","::route3])))","::rs/default","::rs/explain","::rs/respons","::server/join?","::server/port","::server/rout","::sku","::spec/raw","::tenant1])","::timeout))","::two","::two}}","::two}}}","::user","::user)","::user))","::user]]))","::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}",":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))))",":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]",":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).",":type",":uri",":url",":user",":user/bar}]",":user/bar}]]",":user/baz}]]",":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/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/ping\"","[\"/api","[\"/api\"","[\"/api/:users\"","[\"/api/:version/ping\"]]","[\"/api/admin/db\"","[\"/api/admin/users\"","[\"/api/internal/users\"","[\"/api/orders/:id\"","[\"/api/ping\"","[\"/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\"","[\"/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\"]","[\"/route1\"","[\"/route2\"","[\"/route3\"","[\"/swagger.json\"","[\"/two\"","[\"/upload\"","[\"/user/:id\"","[\"/users\"","[\"/users/:id\"","[\"/workspace/:project","[\"/workspace/:project/:page\"","[\"/xml\"","[\"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])","[::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\"","[[\"/all\"","[[\"/api\"","[[\"/api/admin\"","[[\"/api/ping\"","[[\"/api/public/ping\"","[[\"/auth/login\"","[[\"/avaruus\"","[[\"/baz/:id/:subid\"","[[\"/common\"","[[\"/foo\"","[[\"/gin/napue\"","[[\"/kikka\"","[[\"/lager\"","[[\"/math\"","[[\"/olut\"","[[\"/ping\"","[[\"/ping\"]","[[\"/saison\"","[[\"/swagger.json\"","[[\"/users\"","[[\"/users/:us","[[\"auth/login\"","[[\"auth/recovery/token/\"","[[#object[user$wrap]","[[:bonu","[[:queri","[[[:project","[[mw","[[type","[[wrap","[[wrap3","[\\\"index.html\\\"]","[]","[])","[]))","[],","[]}","[]}),","[]}}]]","[_","[_]","[actions]","[add","[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","adapt","add","addit","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","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","architectur","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.","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:","cc])","chain","chain,","chains.","chang","change.","changed.","changed:","changes.","channel","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","components.","compos","composit","comput","concaten","concepts.","concid","condit","configur","configuration.","conflict","conflict,","conflicts!)","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","describ","descript","design","design,","desir","destructur","detail","details.","detect","dev","dev,","develop","developement,","developement.","didn't","diff","differ","differences:","differenti","differently,","diffs):","direct","directory,","disabl","disabled,","discuss","dispatch","do","doc","docs\"","docs\"})))","docs/*\"","docs/index.html\"})","docs:","document","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'","enabl","enabled,","enabled.","enabled:","encod","encoding.","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","export","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,","features.","felt","few","field","field.","file","file\"","file)","file):","files.","file}})}}]","first","first,","fix","flatten","flattened:","fm))","fn?","follow","following:","form","format","format.","formatter.","forms.","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.","harder","hash","have","header","headers.","help","help.","helper","here","here'","here.","hidden","hierarchi","higher","hinder","histori","history.","hit","hoc","hold","hook","hook)","hooks.","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]","id]))","id]]))","idea","idenfi","idenfitifi","ident","identifi","identifier.","identifier:","identity).","identity,","identity]","identity]}","identity}]","identity}}]]","identity}}]]))","id}","id},","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.","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.io.fil","java.lang.string,","java.sql.sqlexcept","javascript,","jetti","jetty(9.2.21.v20170120)","jetty]","jetty])","join","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","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})","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:","optionally,","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","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.","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","principl","print","printer","pro","problem","problem.","problem:","problems.","process","processing,","processing.","processor","processors:","prod","produc","product","production.","programmatically:","project","projects.","promesa.","proof","properties:","property,","property.","protocol","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","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.core/throw","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})))","rewritten.","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]","routing)","routing,","routing.","routing:","routing?","rrc/coerc","rrc])","rrs/valid","rrs])","rs/valid","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","segmenttri","select","separ","separately:","sequenc","sequenti","sequential)","serv","served.","server","server)","server.","server:","server])","servers,","set","set,","set.","set])","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.","spec:","spec])","special","specif","specifi","specification,","specification.","specification:","specs),","specs,","specs.","specs:","specs?","speed","speed:","spesif","sqlexcept","st/json","st/string","st])","stabl","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?,","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","terse,","test","test).","test,","tests,","text/xml","thank","that'","that,","that?","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}","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","uuid","uuid\"","uuid/:pag","uuid]","val:","valid","validation,","validation.","valu","value))))","value,","value.","value]","values.","var","varieti","vector","vector.","verbose.","verifi","version","version:","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","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\"","{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","{: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","{rout","{}","{})","{},","{}}","{}}}}}","|","}","µ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\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\n\nExtra modules\n\nreitit-pedestal support for Pedestal\n\nLatest version\nAll bundled:\n[metosin/reitit \"0.2.13\"]\n\nOptionally, the parts can be required separately:\n[metosin/reitit-core \"0.2.13\"]\n\n;; coercion\n[metosin/reitit-spec \"0.2.13\"]\n[metosin/reitit-schema \"0.2.13\"]\n\n;; ring helpers\n[metosin/reitit-ring \"0.2.13\"]\n[metosin/reitit-middleware \"0.2.13\"]\n\n;; swagger-support for ring & http\n[metosin/reitit-swagger \"0.2.13\"]\n[metosin/reitit-swagger-ui \"0.2.13\"]\n\n;; frontend helpers\n[metosin/reitit-frontend \"0.2.13\"]\n\n;; http with interceptors\n[metosin/reitit-http \"0.2.13\"]\n[metosin/reitit-interceptors \"0.2.13\"]\n[metosin/reitit-sieppari \"0.2.13\"]\n\n;; pedestal\n[metosin/reitit-pedestal \"0.2.13\"]\n\nThere is #reitit in Clojurians Slack for discussion & help.\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).\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\nRoute with catch-all parameter:\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\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 (condp = 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\nEncoding\nReitit does not apply any encoding to your paths. If you need that, you must encode them yourself. \nE.g., /foo bar should be /foo%20bar.\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\nBehind the scenes\nWhen router is created, the following steps are done:\n\nroute tree is flattened\nroute arguments are expanded (via reitit.core/Expand protocol) and optionally coerced\nroute conflicts are resolved\nroute tree is compiled\nactual router implementation is selected 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 core feature of reitit. Routes can have any map-like data attached to them. This data is interpreted either by the client application or the Router via its :coerce and :compile hooks. Route data format can be defined and validated with clojure.spec enabling an architecture of both adaptive and principled components.\nRaw routes can have a non-sequential route argument that is expanded (via router :expand hook) into route data at router creation time. By 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\nThe expanded 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 :user/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\nExpansion\nBy default, router :expand hook maps to reitit.core/expand function, backed by a reitit.core/Expand protocol. One can provide either a totally different function or add new implementations to that protocol. 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\nSee router options for all available options.\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 do 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-spec! 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-spec!})\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-spec! 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-spec!})\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-spec!})\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 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.2.13\"]\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-accepted (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.2.13\"]\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.2.13\"]\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 Requests\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 Requests\nreitit.ring.middleware.dev/print-request-diffs is a middleware chain transforming function. It prints a request 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-spec! should be used instead of reitit.spec/validate-spec! - 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-spec!\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-spec!\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-spec!\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-spec!\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.2.13\"]\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.2.13\"]\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)\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               :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.2.13\"]\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.2.13\"]\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.2.13\"]\n; [metosin/reitit \"0.2.13\"]\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.2.13\"]\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.2.13\"]\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.2.13\"]\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.\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 (default reitit.core/throw-on-conflicts!)\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:segment-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: :segment-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\n(defn my-expand [registry]\n  (fn [data opts]\n    (or (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\nBesides having great features, goal of reitit is to be really, really fast. The routing was originally exported from Pedestal, but since rewritten.\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)\nUse abstractions that enable JVM optimizations\nUse small functions to enable JVM Inlining\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): 315 µs -> 3.2M 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 6-40x 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 SegmentTrie (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.\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 routers in Go indicates that the reitit is only few times 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:\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.2.13\"]","\"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","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.","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.4.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","defined,","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])","run","s])","same","side","sight","spec","spec!","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","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.2.13\"]","\"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.2.13\"]","#(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.2.13\"]","\"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","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.2.13\"]","\"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",":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","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.2.13\"]","'[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.2.13\"]","\"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.2.13\"]","\"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.2.13\"]","[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.2.13\"]","#(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":["#.","(index.html).","allow","alway","anyway","api","api:","applications,","browser","calls.","chang","check","correct","current","downsid","easi","entri","event","events.","exampl","example.","file","follow","fragment","fragment,","frontend","function","handler","histori","history.","html5","i.e.","includ","instanc","integr","integrations.","know","leav","look","make","manag","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","state","store","two","uri","url","us","without","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",":expand",":path",":rout",":router",":spec",":valid","=>","[])","actual","arg","avail","base","clojure.spec","coerc","compil","configur","conflict","conflicts!)","data","data,","definit","descript","effect","expand","follow","function","handl","handler","implement","initi","key","nil","opt","option","options.","overrid","path","reitit.core/expand)","reitit.core/router:","reitit.core/throw","reitit.spec","resolv","result","return","rout","route,","router","see","side","throw","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","(or","(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","build","built","bump","chang","clean,","cli","clj","clojar","deploy","develop","document","g","gitbook","gitbook.","instal","instruct","lein","locally:","modul","new","npm","preview","run","serv","test","up","version","version:","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":{},".":{"4":{"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.001040582726326743}}}}},"]":{"docs":{},"}":{"docs":{},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}},"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.012345679012345678}}}},"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.00411522633744856}}}},"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.0013404825737265416}}},"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.0013404825737265416}}},"8":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"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.00411522633744856},"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.0013404825737265416},"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/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.005361930294906166},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.004329004329004329},"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.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.017467248908296942},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"1":{"8":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}},"docs":{}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"]":{"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.002680965147453083}}},"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.00205761316872428},"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.001040582726326743},"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.0021645021645021645}}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"}":{"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.0013404825737265416}},"]":{"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0013404825737265416}},"]":{"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.0013404825737265416}},")":{"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.0020833333333333333}}}},"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.001040582726326743},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},"5":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.0013404825737265416}}}},"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.0013404825737265416}},".":{"7":{"docs":{},"m":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"docs":{}}},"docs":{},"\"":{"0":{"docs":{},".":{"2":{"docs":{},".":{"1":{"3":{"docs":{},"\"":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.02813852813852814},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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":{}},"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.0021645021645021645},"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.018867924528301886}}}},"docs":{}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.003121748178980229}},"/":{"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.004329004329004329}}}}}}}}}},"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.0021645021645021645}}}}}},"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.0020833333333333333}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"}":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}},"2":{"docs":{},"\"":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}},"docs":{},":":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.004329004329004329}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"}":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"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.001040582726326743}}}}}}},"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.006172839506172839},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839}}}}}},"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.001040582726326743},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"}":{"docs":{},")":{"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.001040582726326743},"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.0013404825737265416}},"}":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"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.001040582726326743}},"/":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}},"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.002081165452653486}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}}}}}}}},"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.002081165452653486}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}}},"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.004366812227074236}},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}}},"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.0021645021645021645}}},"}":{"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.00625}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},")":{"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.001040582726326743}},"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.00205761316872428}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}},"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.00411522633744856}}},"}":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}},"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.00411522633744856}}}}}}},"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.0013404825737265416}}}}}}}},"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.0013404825737265416}}}}}}}}}},"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.001040582726326743}}}}}}}},"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.0013404825737265416}}}}}}}}}}}}},"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.002081165452653486}}}}},")":{"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.004366812227074236}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}},"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.0020833333333333333}}}}}}}}}},"c":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},")":{"docs":{},")":{"docs":{},")":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}},"}":{"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.004366812227074236}}}}}}}},"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.0013404825737265416}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"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.001040582726326743}}}}}}}}},"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.0013404825737265416}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}},"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.0013404825737265416}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}}}}},"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.0013404825737265416}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}}},"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.004366812227074236}}}}}}}}},"#":{"docs":{"development.html":{"ref":"development.html","tf":0.05660377358490566}},"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.010822510822510822},"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.0021645021645021645}}}}}},":":{"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.0021645021645021645}}}}}}}}}}},"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.012345679012345678}}}}}}}}}}}},"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.00411522633744856}}},"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.00205761316872428}}}}}},"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.010362694300518135}}}}}}}}}}}}}}}}}}}}},"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.0021645021645021645},"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.0021645021645021645},"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.0021645021645021645},"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.00823045267489712},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"}":{"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.004166666666666667}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}},"z":{"docs":{},"}":{"docs":{},"}":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"]":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"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.0020833333333333333}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}}}}}}}}}}},"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.0020833333333333333}}}}}}}},":":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"}":{"docs":{},"}":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}}}}},"(":{"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.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.008849557522123894}}},"?":{"docs":{},"(":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}}},"@":{"docs":{},"(":{"docs":{},":":{"docs":{},"c":{"docs":{},"l":{"docs":{},"j":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}}}}}},"&":{"docs":{"./":{"ref":"./","tf":0.008658008658008658},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.004366812227074236},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}},"'":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}},"[":{"docs":{},"r":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.004366812227074236},"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.0013404825737265416}},"]":{"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.0021645021645021645},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.004366812227074236},"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.0013404825737265416},"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.0013404825737265416},"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.0013404825737265416}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.003121748178980229}}}}}}},"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.0013404825737265416}}}}}}}}}}}}}}}}}}}},"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.00205761316872428},"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.0020833333333333333},"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.0020833333333333333}}}},"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.00205761316872428},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.0021645021645021645},"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.0020833333333333333},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.0021645021645021645}}}}},"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.001040582726326743},"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.0020833333333333333}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.004329004329004329},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.004366812227074236},"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.004166666666666667},"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.004366812227074236}}}}}},"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.0021645021645021645}}}},".":{"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.00205761316872428},"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.00205761316872428}}}}},"*":{"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.00205761316872428}}}}}}}}}}},"f":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.00205761316872428}}}},"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.005202913631633715},"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.004329004329004329},"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.010362694300518135},"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.005361930294906166},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006243496357960458},"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.017467248908296942},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},"n":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.017467248908296942},"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.00411522633744856},"ring/ring.html":{"ref":"ring/ring.html","tf":0.003472222222222222},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.038461538461538464}},":":{"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.004021447721179625}}}},"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.008733624454148471}}}}}}},"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.009615384615384616}}}}}}},"f":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.006702412868632708},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.011730205278592375},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972},"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.004366812227074236},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0021645021645021645},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"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.002680965147453083}},"/":{"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.01948051948051948},"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.004366812227074236},"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.0021645021645021645},"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.0051813471502590676}}}}}},"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.0021645021645021645},"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.00823045267489712},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02072538860103627},"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.004366812227074236},"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.008733624454148471}}}}}}}},"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.006493506493506494},"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.00823045267489712},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.010723860589812333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0125},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.008733624454148471},"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.0021645021645021645},"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.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188}}}}},"r":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016666666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.016666666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"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.001040582726326743},"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.0021645021645021645}}}}}}},"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.00205761316872428},"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.0020833333333333333}}}},"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.00411522633744856},"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.00625}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}},"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.0020833333333333333}}},"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.0020833333333333333}}}}}}}}}},"!":{"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.0020833333333333333},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}}}}}}}}},"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.0021645021645021645},"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.001040582726326743},"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.0013404825737265416}},"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.0020833333333333333}},"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.004366812227074236}},"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.0013404825737265416},"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},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"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.002680965147453083}},"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.0013404825737265416}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"/":{"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.006172839506172839}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232}}},"{":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839}}}}}},"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.0051813471502590676}}}}}},"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.004166666666666667},"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.0013404825737265416}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.005361930294906166}}}}}}}},"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.0020833333333333333},"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.004366812227074236}}},"n":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},"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.017699115044247787}}}}}}}}}}}}},"o":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}}},"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.001040582726326743}}}}}}},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},".":{"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.0013404825737265416}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}}},"\"":{"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.003121748178980229}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.004366812227074236}}}}}}}}}},"=":{"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.0013404825737265416}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.012987012987012988}}}}}},"n":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}}},"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.0021645021645021645},"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.0021645021645021645}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0051813471502590676},"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.0051813471502590676},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.007633587786259542}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.006493506493506494}},"]":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0051813471502590676}}},"}":{"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.0013404825737265416}}}}}}}}},"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.004366812227074236}},")":{"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.004366812227074236}}},"]":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}}}},"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.0102880658436214},"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.022916666666666665}},"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.0020833333333333333}}}}}}},"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.00411522633744856}}}}}}}}},"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.00411522633744856},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}}}}}}},"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.004021447721179625}}}}}},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625}}},"/":{"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.002680965147453083}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}}}}}}}}}}}},"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.0013404825737265416}}}}}}}},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}},"]":{"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.0013404825737265416}}}}}}}},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}}},"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.004366812227074236}},"]":{"docs":{},"]":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},")":{"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.006493506493506494},"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.00823045267489712},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.010723860589812333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011780104712041885},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.014583333333333334},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.01768990634755463},"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.008733624454148471},"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.0021645021645021645},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"z":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}},"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.0021645021645021645}},"}":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.004329004329004329},"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.00938337801608579},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.024869109947643978},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.013527575442247659},"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.017467248908296942},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},".":{"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":{}}}}},"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.012987012987012988},"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.006172839506172839},"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.002680965147453083},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.004366812227074236}},":":{"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.008333333333333333}},"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.001040582726326743}}}}}}}},"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.0021645021645021645},"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.014583333333333334},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972},"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.0021645021645021645},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007284079084287201},"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.008733624454148471},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.00411522633744856}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}},"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.0013404825737265416}}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}},"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.002680965147453083}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.013100436681222707},"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.001040582726326743}},"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.023809523809523808},"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.005202913631633715},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.008733624454148471}},".":{"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006243496357960458},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.004366812227074236}},")":{"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.004366812227074236}}}}}},"u":{"docs":{},"t":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.00625}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}}}}}}}},"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.006172839506172839}}}},"o":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839}},"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.0013404825737265416}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"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.00205761316872428},"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.0020833333333333333}},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0021645021645021645},"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.012987012987012988},"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.004366812227074236}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625},"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.005202913631633715}},"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.0102880658436214}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}},"e":{"docs":{},"r":{"docs":{},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}},"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.0013404825737265416},"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.0013404825737265416},"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.0013404825737265416}}}}}}}}}}}}}}}}}}}}}},"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.0013404825737265416}},"e":{"docs":{},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}}}}}}}}},"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.009615384615384616},"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.009615384615384616},"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.00411522633744856}}}},"o":{"docs":{},"t":{"docs":{"ring/static.html":{"ref":"ring/static.html","tf":0.004608294930875576},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.005361930294906166},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}}},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.0021645021645021645}}}}},"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.012345679012345678}},"e":{"docs":{},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"]":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}},"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.0013404825737265416}}}}}}}},"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.004366812227074236}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.0020833333333333333},"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.00205761316872428},"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.009615384615384616},"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.00205761316872428},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.0013404825737265416},"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.0051813471502590676},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.001040582726326743}}}}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}},"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.0013404825737265416}}}}},"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.001040582726326743}}}}}},"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.009615384615384616},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}},"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.006172839506172839}},"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.006172839506172839},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}},"u":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"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.006172839506172839}}}}},"i":{"docs":{},"n":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"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.006172839506172839},"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.0020833333333333333},"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.00625}},"a":{"docs":{},"l":{"docs":{},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}},"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.001040582726326743}},"]":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},")":{"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.00205761316872428}},"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.006172839506172839}}}}},"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.01440329218106996},"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.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}},"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.001040582726326743}}},"y":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}}}}}},"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.005361930294906166},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628}}}}},"a":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"?":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},")":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}},"x":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"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.004166666666666667}},")":{"docs":{},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}},"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.08008658008658008},"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.12551440329218108},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.15544041450777202},"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.010723860589812333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.049738219895287955},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008324661810613945},"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.021834061135371178}},";":{"docs":{"./":{"ref":"./","tf":0.012987012987012988},"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.006702412868632708},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007284079084287201},"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},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.020356234096692113},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017467248908296942},"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.0051813471502590676}}}}}}}}}}}}}}}},"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.0051813471502590676},"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.004366812227074236}}}}}}}}}}}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"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.0021645021645021645},"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.05181347150259067},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013089005235602094},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.017595307917888565},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.004366812227074236},"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.0021645021645021645},"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.0051813471502590676},"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.0051813471502590676}}}}}}}}}}},"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.001040582726326743}},"\"":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.00823045267489712},"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.0125},"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.0021645021645021645}}}}}}}}}}}}},":":{"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.004166666666666667}}}}}}}}}}}}}}}}}}}},"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.0021645021645021645},"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.00625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.002081165452653486}},"]":{"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.0051813471502590676}}}}}}}}},"{":{"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.008333333333333333},"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.001040582726326743}}},"/":{"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.0021645021645021645},"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.00625}}},"/":{"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.001040582726326743}}}}}}}}},"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.001040582726326743}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"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.001040582726326743}}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"\"":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}}},"\"":{"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.003121748178980229}}}}}}}}}}}}}}},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}}}}},"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.0051813471502590676}}}}}}}}}}}}}}}}}}}},"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.0051813471502590676}}}}}}}}}}},"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.008733624454148471}}}},"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.0013404825737265416}}}}}},"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.00625}}}}}}}}}},"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.001040582726326743}}}}},"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.001040582726326743}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.001040582726326743}}}}}},"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.004366812227074236}}}}}}}},"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.001040582726326743}}},"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.001040582726326743}}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"\"":{"docs":{},"]":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"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.0021645021645021645},"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.004166666666666667}}}}}}}}}}}}}},":":{"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.002081165452653486}}}}},"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.0051813471502590676},"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.0051813471502590676}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}},"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.0013404825737265416}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},":":{"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.008733624454148471}}}}}}}}},"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.0021645021645021645}}}}}}}}}}}}}}}}}}}},"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.004329004329004329},"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.0021645021645021645},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.013100436681222707}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0013404825737265416}},"]":{"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.004166666666666667},"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.02813852813852814},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.0013404825737265416}},"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.0013404825737265416}}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0020833333333333333},"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.0020833333333333333}}}}},"]":{"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.001040582726326743}}}}}}}}}}}}}},"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.001040582726326743}},"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.001040582726326743}}}}}}}}}},"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.001040582726326743}}}}}}}},"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.001040582726326743}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"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.002081165452653486}}}}}}},"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.004366812227074236}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}}}}},"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.0020833333333333333}},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}},"/":{"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.0020833333333333333}}}}}}}}},"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.00205761316872428}},"e":{"docs":{},"s":{"docs":{},"]":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}}}},"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.00411522633744856}},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},"}":{"docs":{},")":{"docs":{},",":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}}},"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.00411522633744856}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}}}}}}},"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.0013404825737265416}}}}}}},"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.004366812227074236}}}}}},"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.001040582726326743}}}}}}}}},"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.004366812227074236}}}}}},"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.001040582726326743}}}}}}},"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.00205761316872428},"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.001040582726326743},"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.00411522633744856}}},"}":{"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.00205761316872428}}}},"}":{"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.009615384615384616}},")":{"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.0051813471502590676}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}},"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.0020833333333333333},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}}}}}}},"#":{"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.0013404825737265416},"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.0013404825737265416}}}}}}}}}}}}}}}},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"]":{"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.020833333333333332}}}}}},";":{"docs":{},";":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.004366812227074236}}}}}}},"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.00205761316872428},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645},"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.0013404825737265416},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008324661810613945},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.0021645021645021645}}}}},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111}}},"\"":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},":":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}},"p":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.006702412868632708},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.008324661810613945},"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.004366812227074236}},"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.00205761316872428},"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.004366812227074236}}},"s":{"docs":{},",":{"docs":{"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"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.001040582726326743}}}}},":":{"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.001040582726326743}},"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.0013404825737265416},"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.0013404825737265416},"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.001040582726326743},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.00205761316872428}}}}}}},"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.013333333333333334},"ring/slash_handler.html":{"ref":"ring/slash_handler.html","tf":0.0038022813688212928},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},",":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"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.008849557522123894}}}}},"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.00205761316872428},"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.001040582726326743},"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.0013404825737265416}}}}}}}},"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.001040582726326743}}}}}},"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.019230769230769232}},"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.001040582726326743},"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.004366812227074236}}}}}}}},"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.00205761316872428},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.0020833333333333333},"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.0013404825737265416},"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.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}},".":{"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.00205761316872428},"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.002680965147453083}}}},"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.0051813471502590676},"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/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.008849557522123894},"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.002680965147453083},"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.0020833333333333333},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.00205761316872428},"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.0020833333333333333}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}},"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.0013404825737265416},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}},"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.0021645021645021645},"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.004021447721179625},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.004366812227074236}},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}},"c":{"docs":{},"k":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223}},".":{"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.004366812227074236}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}},"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.0021645021645021645},"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.0021645021645021645}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}}}}},"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.018867924528301886}}},"t":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}},"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.018867924528301886}}}}},"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.04424778761062}}}}}}},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01}}}}}},"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.0020833333333333333}}}}}}}},"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.00205761316872428},"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.00205761316872428},"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.0013404825737265416},"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.0013404825737265416},"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.001040582726326743}},"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.0051813471502590676},"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.001040582726326743},"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.008733624454148471},"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.004366812227074236}}}}},"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.006702412868632708},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715}}}}},"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.0021645021645021645},"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.004021447721179625},"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.001040582726326743}}}}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}},"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.001040582726326743},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017467248908296942},"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.0021645021645021645}}}}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"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.004166666666666667},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},".":{"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.00205761316872428}}}}}}}}},"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.00205761316872428}}}}}},"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.0013404825737265416}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135},"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.002081165452653486},"faq.html":{"ref":"faq.html","tf":0.006355932203389831}},",":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}},":":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}},".":{"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.0021645021645021645},"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.03773584905660377}}}}},"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.018867924528301886}},"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.03773584905660377}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},",":{"docs":{"development.html":{"ref":"development.html","tf":0.03773584905660377}}}}}}},"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.002081165452653486},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.010822510822510822},"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.006702412868632708},"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.005202913631633715},"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.002081165452653486}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"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.004329004329004329},"ring/middleware_registry.html":{"ref":"ring/middleware_registry.html","tf":0.004405286343612335},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}},"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.009615384615384616},"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.0021645021645021645}}},".":{"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.00205761316872428}}}},"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.006172839506172839},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.00411522633744856}},"(":{"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.00205761316872428}}}},"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.0013404825737265416},"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.001040582726326743},"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.0021645021645021645},"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":5.062176165803109},"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.009615384615384616},"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.0051813471502590676}}},"s":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},"}":{"docs":{},")":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}}}}}}},":":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02072538860103627}}},"!":{"docs":{},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}},".":{"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.004021447721179625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.019230769230769},"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.0013404825737265416}}}}}}}}}}}}},"j":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.00411522633744856},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02072538860103627},"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.0013404825737265416},"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.012064343163538873},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"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.004366812227074236}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.004366812227074236},"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.008849557522123894}},"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.001040582726326743}}}},",":{"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.001040582726326743}}}}}}},"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.0013404825737265416},"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.0013404825737265416}}}}}}}},"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.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}},"s":{"docs":{},",":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.0013404825737265416}}}}}},"l":{"docs":{},"l":{"docs":{"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.017699115044247787}}}},"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.0013404825737265416}},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}}},"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.02654867256637168},"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.018867924528301886}},"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}}}},"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.0013404825737265416},"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.0013404825737265416}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.015544041450777202},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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/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.0020833333333333333}}}}}},"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.006172839506172839},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.013100436681222707}}}}}},"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.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.008658008658008658},"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.349794238683127},"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.010723860589812333},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.3499999999999996},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009365244536940686},"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.028846153846153848},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0019342359767891683},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.013100436681222707},"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.00823045267489712},"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.001040582726326743},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.012345679012345678},"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.002680965147453083},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625},"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.00411522633744856},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}},"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.002680965147453083}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0051813471502590676},"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.004021447721179625},"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.0020833333333333333},"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.006493506493506494},"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.002680965147453083},"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.0021645021645021645},"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.0020833333333333333},"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}}}}}},"e":{"docs":{},"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},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.013089005235602094},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.013100436681222707}},"e":{"docs":{},"d":{"docs":{},",":{"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}}},")":{"docs":{},".":{"docs":{"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198}}}},".":{"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.002680965147453083},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.001040582726326743}}},".":{"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.005361930294906},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006243496357960458},"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.004366812227074236},"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.0051813471502590676},"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.010362694300518135},"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.0013404825737265416}}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},".":{"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.03773584905660377}}}}}},"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.00411522633744856},"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.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.004021447721179625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.0020833333333333333}}}}}}},"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.00804289544235925},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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}}}}}}}},"v":{"docs":{"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":5.010178117048346}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457},"development.html":{"ref":"development.html","tf":5.018867924528302}},"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}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"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.009365244536940686},"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.001040582726326743}},"}":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"]":{"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.001040582726326743}}}},"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.001040582726326743}}}}}}}}}}}}}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"development.html":{"ref":"development.html","tf":0.03773584905660377}},"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.001040582726326743}}}}}}}}}}}}}},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"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.008849557522123894}}}}}}}},"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.002680965147453083}},"x":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.00804289544235925},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.00205761316872428},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.007284079084287201},"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.008849557522123894},"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.008849557522123894},"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.001040582726326743}}}}}}},":":{"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.0021645021645021645},"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.0021645021645021645},"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.0020833333333333333},"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.0021645021645021645},"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.001040582726326743}}}}}}},"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.009615384615384616},"advanced/different_routers.html":{"ref":"advanced/different_routers.html","tf":0.005747126436781609},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.03056768558951965}}},"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.00205761316872428},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083},"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.00205761316872428},"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.0013404825737265416},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.00411522633744856},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0388739946380697},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.008032128514056224},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}},"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.0013404825737265416}}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}},".":{"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.0013404825737265416}}}},"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.004021447721179625},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}}},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"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.001040582726326743}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"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.00205761316872428},"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.017699115044247787},"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.001040582726326743}}}},"e":{"docs":{},"r":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094}}}}},"y":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001040582726326743},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"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.004021447721179625},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"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.004166666666666667},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}},"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.0020833333333333333}}}},".":{"docs":{"ring/transforming_middleware_chain.html":{"ref":"ring/transforming_middleware_chain.html","tf":0.004878048780487805},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"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.020833333333333332},"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.008849557522123894},"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.006172839506172839},"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.004021447721179625},"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.00205761316872428},"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.0013404825737265416}},"'":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"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.00411522633744856},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333}}}}}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.009615384615384616},"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.001040582726326743}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.0013404825737265416}}}}},"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.004166666666666667},"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.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},"s":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}},"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.004329004329004329},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.0020833333333333333},"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.00205761316872428}}},"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.0102880658436214},"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.004166666666666667},"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.0013404825737265416}}}}}},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"]":{"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.0021645021645021645},"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.00205761316872428},"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.004366812227074236}}}}}},"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.003121748178980229},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787}},")":{"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.004366812227074236}}}},"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.004366812227074236}}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"}":{"docs":{},"}":{"docs":{},")":{"docs":{},"}":{"docs":{},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"x":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.010822510822510822},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"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.004366812227074236}}}}}}}}},"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.017699115044247787}},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}}}},"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.006172839506172839},"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.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.057692307692307696},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0013404825737265416},"advanced/dev_workflow.html":{"ref":"advanced/dev_workflow.html","tf":0.002544529262086514},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}},"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.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.0020833333333333333},"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.00205761316872428},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"s":{"docs":{},".":{"docs":{"ring/RESTful_form_methods.html":{"ref":"ring/RESTful_form_methods.html","tf":0.006289308176100629}}}}}},"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.00205761316872428},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"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.0020833333333333333},"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.00205761316872428}}}},"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.010723860589812333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.009615384615384616},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.008658008658008658},"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.024128686327077747},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.011780104712041885},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0375},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.013527575442247659},"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.017699115044247787},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.013100436681222707},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"]":{"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.0020833333333333333}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667}},"]":{"docs":{},")":{"docs":{"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},")":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}}}}},")":{"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.0020833333333333333}},")":{"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.001040582726326743}}}}},"]":{"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.0013404825737265416},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"]":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"}":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"]":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},":":{"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.001040582726326743}}},"]":{"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0013404825737265416}}}},"/":{"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.0013404825737265416}}}}}}},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.0020833333333333333}}}}}},"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.0020833333333333333},"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.0021645021645021645}}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333},"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.002680965147453083}},"s":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.012987012987012988},"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.002680965147453083},"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.0021645021645021645},"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.002680965147453083}}},"docs":{}}},"docs":{}},"i":{"docs":{},"e":{"docs":{},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"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.0013404825737265416}}},"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.001040582726326743}}},"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.001040582726326743}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"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.02654867256637168}}},"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.00205761316872428}}}}}},"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.0013404825737265416},"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.02654867256637168}}},"y":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}}}},"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.00411522633744856},"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.001040582726326743}}}}},"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.0021645021645021645},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.02072538860103627},"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.001040582726326743}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}},")":{"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.0021645021645021645},"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.0021645021645021645}}}}},")":{"docs":{},")":{"docs":{"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.004329004329004329}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}}},"\"":{"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.0051813471502590676}}},",":{"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.010362694300518135}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"]":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}},"]":{"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.00205761316872428},"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.00205761316872428}}},"}":{"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},":":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}}}}}}},"f":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}},"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.0021645021645021645},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.04},"frontend/browser.html":{"ref":"frontend/browser.html","tf":5.017699115044247}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.012987012987012988},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001040582726326743},"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.001040582726326743}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.002164502164502}}}}}}}},",":{"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}},"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.017699115044247787}},"e":{"docs":{},",":{"docs":{"basics/router.html":{"ref":"basics/router.html","tf":0.004219409282700422},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}},"l":{"docs":{"development.html":{"ref":"development.html","tf":0.07547169811320754}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.018867924528302}}}}}}},"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.002680965147453083},"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.0051813471502590676},"coercion/coercion.html":{"ref":"coercion/coercion.html","tf":0.0017667844522968198},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"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.00205761316872428},"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.00823045267489712},"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.0020833333333333333}}}}}}},"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.0013404825737265416},"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.008849557522123894},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},"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.001040582726326743},"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.001040582726326743}}}}},"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.019230769230769232}}}}},"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.0051813471502590676},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}},"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.00411522633744856},"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.0013404825737265416},"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.001040582726326743},"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.0013404825737265416},"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.009615384615384616},"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.004166666666666667}},"l":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}}}}}}},"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.001040582726326743}}}},"o":{"docs":{},"]":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},".":{"docs":{},"e":{"docs":{},".":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}},"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.0021645021645021645}}}},"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.0013404825737265416}}},"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.008849557522123894},"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}},",":{"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.002680965147453083}}}}}}},"t":{"docs":{},"'":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.018867924528301886}}}}},"o":{"docs":{},"g":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.008849557522123894},"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.0013404825737265416},"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.018867924528301886}}}}}}}},"n":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.0021645021645021645},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0013404825737265416},"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.0021645021645021645},"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.004166666666666667},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001040582726326743},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.0013404825737265416},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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}}}}}}}},"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.001040582726326743}}}}}}}},"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.004329004329004329},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.007853403141361256},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.01466275659824047},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.006211180124223602}},".":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645}},")":{"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.0020833333333333333},"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.0013404825737265416}},"e":{"docs":{},".":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.017699115044247787},"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.0020833333333333333},"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.008658008658008658},"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.036193029490617},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.01832460732984293},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.029166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":5.035190615835777},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.011446409989594173},"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.0021645021645021645},"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.0013404825737265416},"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.004021447721179625},"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.004166666666666667}},"}":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.004329004329004329},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.011764705882352941},"development.html":{"ref":"development.html","tf":0.05660377358490566},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.001040582726326743}}},":":{"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.008849557522123894},"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.001040582726326743},"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.0021645021645021645}}}}},"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.002680965147453083},"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.007284079084287201},"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.002081165452653486},"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.004366812227074236},"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.006702412868632708},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.0013404825737265416}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}},"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.004366812227074236}}}}}}}}}}}},"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.006702412868632708}},".":{"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.0013404825737265416}}}}}}}}}}}}}}}},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.005361930294906166},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"b":{"docs":{"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.012987012987012988},"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.02072538860103627},"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.001040582726326743},"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.004366812227074236},"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.0051813471502590676}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0051813471502590676}}}},"!":{"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.00205761316872428}}},",":{"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.01948051948051948},"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.009615384615384616},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.008704061895551257},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.006172839506172839},"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.0051813471502590676}}}},")":{"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.003121748178980229},"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.004366812227074236},"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.001040582726326743},"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.018867924528301886}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.00804289544235925},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"x":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.008849557522123894}}}}}},"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.004366812227074236},"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.001040582726326743},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841}},",":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}}}},"t":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0013404825737265416}},"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.001040582726326743},"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.018867924528301886}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.008797653958944282},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.04807692307692308}},"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.0013404825737265416},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.01040582726326743},"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.009615384615384616},"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0009671179883945841},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471},"performance.html":{"ref":"performance.html","tf":0.0015527950310559005}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.00205761316872428},"ring/ring.html":{"ref":"ring/ring.html","tf":0.001736111111111111},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0013404825737265416},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.0051813471502590676},"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.0013404825737265416},"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.004366812227074236}},"]":{"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.004366812227074236}}}}}},"]":{"docs":{"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}},"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.0013404825737265416}}}}}},"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.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.004366812227074236},"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.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},"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.001040582726326743}}},"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.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.00205761316872428}}},",":{"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.001040582726326743}}}}},"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.0013404825737265416},"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.002680965147453083},"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.012987012987012988},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.017015706806282723},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.004366812227074236},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.020942408376963352},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.002081165452653486}}},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},".":{"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.001040582726326743}}},".":{"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.001040582726326743}},")":{"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.002680965147453083},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.0013404825737265416}},"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.001040582726326743}}}}}},".":{"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.0013404825737265416}}}},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.006493506493506494},"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.031088082901554404},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.010362694300518135},"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}}}}}}},"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.008849557522123894}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.001040582726326743},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787},"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.012987012987012988},"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.0013404825737265416},"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.004329004329004329},"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.00205761316872428}}}}}},"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.001040582726326743}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"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.0013404825737265416}}}}},"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.00205761316872428},"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.00205761316872428},"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.002680965147453083}}}}}}}},"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.004166666666666667}},":":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}},".":{"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.008849557522123894},"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.018867924528301886}}}}}}},"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.008849557522123894},"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.00205761316872428}}},"s":{"docs":{},".":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333}}}}}}},"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.002081165452653486},"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.004366812227074236}}},".":{"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.001040582726326743}},"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}}}}}}},"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.00205761316872428},"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.002680965147453083},"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.001040582726326743}}},"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.0013404825737265416}}}}}}},"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.004166666666666667},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}},"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.0013404825737265416}}}}}},"s":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.017467248908296942},"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.0020833333333333333}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},".":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}}},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.005202913631633715}}}},"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.004329004329004329},"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.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.004366812227074236},"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.03463203463203463},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.017699115044247787},"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.004366812227074236},"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.00205761316872428}},"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.0051813471502590676}}},":":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}}}},"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.004366812227074236}},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}}},".":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}}}}},"/":{"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.00205761316872428},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.0020833333333333333}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"w":{"docs":{},"a":{"docs":{},"g":{"docs":{},"g":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}}},"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.002680965147453083}}}}}}}}}}},"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.0013404825737265416}}}}}}}}}}}}}}}}}}}},"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.0020833333333333333}}}}}}}}}}}}},"_":{"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.008849557522123894}}},"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}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"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.028150134048257374},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.010471204188481676},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.02932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006243496357960458},"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.017699115044247787},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003105590062111801}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.0013404825737265416},"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.0020833333333333333}}},"}":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.0013404825737265416}}}}}},"]":{"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.0013404825737265416}}}}}},"}":{"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.0020833333333333333}}}},".":{"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.0013404825737265416},"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.002680965147453083},"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.0021645021645021645},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.004166666666666667},"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.008849557522123894},"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.0020833333333333333}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"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.0051813471502590676},"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.019230769230769232},"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.003121748178980229},"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.01876675603217158},"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.005202913631633715},"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.0013404825737265416}}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}},")":{"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.008849557522123894}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.004329004329004329},"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.004366812227074236},"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.002680965147453083},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"http/transforming_interceptor_chain.html":{"ref":"http/transforming_interceptor_chain.html","tf":0.00398406374501992},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.00205761316872428},"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.004366812227074236}}}},"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.0020833333333333333},"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.001040582726326743},"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.00205761316872428},"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.004366812227074236}}},"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}}}}}},"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.008849557522123894},"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.0020833333333333333}},"e":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.017316017316017316},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":5.00261780104712},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.008849557522123894},"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.0021645021645021645},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.004366812227074236},"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.0013404825737265416}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.01948051948051948},"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.3662551440329214},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":5.062176165803109},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":3.3499999999999996},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.03519061583577713},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.019771071800208116},"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.035398230088495575},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.030226700251889168},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.1346153846153846},"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.034934497816594},"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.030303030303030304},"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.006172839506172839},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.04145077720207254},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"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.035398230088495575},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":5.038461538461538},"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.008733624454148471},"performance.html":{"ref":"performance.html","tf":0.009316770186335404},"faq.html":{"ref":"faq.html","tf":0.00423728813559322}},")":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"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.001040582726326743},"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.004166666666666667},"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.002081165452653486},"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.0020833333333333333},"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.004366812227074236}}},"]":{"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.010362694300518135},"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.004366812227074236}},")":{"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.0013404825737265416},"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.001040582726326743},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.005037783375314861},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{},")":{"docs":{},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},")":{"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.008658008658008658},"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.004366812227074236}}},")":{"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.001040582726326743}}}}},"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.00625},"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.0020833333333333333}}}}},":":{"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.004166666666666667}},"}":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}},"}":{"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.0020833333333333333}},"]":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}}}},"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.004366812227074236}}},"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.00823045267489712}}}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"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.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.018867924528301886}},"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.002081165452653486},"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.0013404825737265416}}}}}}}}}}},"]":{"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.0013404825737265416}}}}}},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419}}}}}}}},"]":{"docs":{},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"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.008333333333333333}}}}}}}},"]":{"docs":{},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"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.006493506493506494},"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.001040582726326743}},":":{"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.001040582726326743}}}}},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0021645021645021645}}}}}}}}}}},"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.004366812227074236}},"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.002081165452653486}}}}}}},"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.002680965147453083},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.0020833333333333333}}}},".":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.009615384615384616},"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.008324661810613945},"performance.html":{"ref":"performance.html","tf":0.004658385093167702},"development.html":{"ref":"development.html","tf":0.018867924528301886}},"e":{"docs":{},"r":{"docs":{"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787}},"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.002680965147453083}}},")":{"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.008849557522123894},"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.006493506493506494},"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.004329004329004329},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.017699115044247787},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}}},"d":{"docs":{},"e":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}},"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.0021645021645021645},"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.001040582726326743}},",":{"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.001040582726326743}}}}}},"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.004329004329004329},"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.018518518518518517},"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.016666666666666666},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.014568158168574402},"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.00411522633744856},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0125}},"}":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.006172839506172839}}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001040582726326743}},"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.001040582726326743}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"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.0020833333333333333}}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}},"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.0021645021645021645},"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.001040582726326743},"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.02654867256637168},"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.0013404825737265416}}}},"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.001040582726326743},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.02},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.017699115044247787}}}}},"r":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00411522633744856},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},"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.002081165452653486},"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.00205761316872428}}},"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.008333333333333333}}}}}},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"]":{"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.010822510822510822},"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.004162330905307},"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.0013404825737265416},"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.00205761316872428}}}}}}}}}},"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.001040582726326743}}}}}}},"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.0021645021645021645},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"docs":{"./":{"ref":"./","tf":0.012987012987012988},"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":5.057232049947971},"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.0013404825737265416},"http/default_interceptors.html":{"ref":"http/default_interceptors.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"http/pedestal.html":{"ref":"http/pedestal.html","tf":0.004016064257028112}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"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.0021645021645021645},"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.00205761316872428},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.0013404825737265416},"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.0013404825737265416}}}},"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.013100436681222}}}},"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.001040582726326743}}}}}},"]":{"docs":{},")":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"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.0020833333333333333},"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.0020833333333333333}},"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.008849557522123894}}}}}}}},"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.0013404825737265416}}}}}}}}}},"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.0021645021645021645},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.005390835579514825},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/route_validation.html":{"ref":"advanced/route_validation.html","tf":0.002457002457002457}},"s":{"docs":{},".":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},"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.001040582726326743},"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.002081165452653486}}},"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.001040582726326743},"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.0021645021645021645},"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}},",":{"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.001040582726326743}}},")":{"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.00205761316872428},"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.0013404825737265416},"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.0013404825737265416}}}}}}}},"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.002081165452653486},"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.0013404825737265416}}}}},"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.0013404825737265416},"performance.html":{"ref":"performance.html","tf":0.020186335403726708},"development.html":{"ref":"development.html","tf":0.03773584905660377}},")":{"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.0013404825737265416}}}}}}}},"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.001040582726326743},"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.00411522633744856},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}},"n":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.0051813471502590676}},",":{"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.0013404825737265416}}}}}}}}},"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.001040582726326743},"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.004366812227074236}}}}}},"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.001040582726326743},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.0025188916876574307},"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.0013404825737265416},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894},"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.001040582726326743}}},"/":{"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.001040582726326743}}}}}}}}}}}}}}}}}}},"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.004021447721179625},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},":":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.002680965147453083}}}}}},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001040582726326743}}},"b":{"docs":{},"l":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236},"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.004366812227074236}}}}}}},"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.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.02081165452653486}},".":{"docs":{"./":{"ref":"./","tf":0.0021645021645021645},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"\"":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},",":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}}}}}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.00411522633744856},"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.00938337801608579},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.017699115044247787},"frontend/controllers.html":{"ref":"frontend/controllers.html","tf":0.010075566750629723},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.039301310043668124},"performance.html":{"ref":"performance.html","tf":0.007763975155279503},"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.001040582726326743},"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.001040582726326743}}}},"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.00205761316872428},"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.0020833333333333333}},"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.001040582726326743},"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.001040582726326743}}}}},"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.018867924528301886}},".":{"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.02654867256637168},"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.0013404825737265416}}}}}}}},"i":{"docs":{"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"frontend/browser.html":{"ref":"frontend/browser.html","tf":0.008849557522123894}}}},"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.0021645021645021645},"basics/route_syntax.html":{"ref":"basics/route_syntax.html","tf":0.0038314176245210726},"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"frontend/basics.html":{"ref":"frontend/basics.html","tf":0.01},"development.html":{"ref":"development.html","tf":0.03773584905660377}},":":{"docs":{"basics/name_based_routing.html":{"ref":"basics/name_based_routing.html","tf":0.0045871559633027525},"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}}}},"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.3518518518518516},"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.345833333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616},"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.0020833333333333333}}}}}}}}}},"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.00205761316872428},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.00205761316872428},"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.010362694300518135},"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.0013404825737265416},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.004166666666666667},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.019230769230769232},"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.002081165452653486}}}}}}},"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.0021645021645021645},"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.002680965147453083},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.020833333333333332},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.005865102639296188},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.002680965147453083},"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.008849557522123894}}}}}}},"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.00205761316872428}}}}}},"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.001040582726326743},"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.00205761316872428},"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.017699115044247787},"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.001040582726326743}}}},":":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},"?":{"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.0051813471502590676},"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.001040582726326743},"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.00205761316872428}}},",":{"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.00411522633744856},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.001040582726326743}}}}}},"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.001040582726326743},"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.002680965147453083}}}},"'":{"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.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.004366812227074236},"performance.html":{"ref":"performance.html","tf":0.003105590062111801},"development.html":{"ref":"development.html","tf":0.018867924528301886},"faq.html":{"ref":"faq.html","tf":0.00847457627118644}},"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.001040582726326743}}}}}},"w":{"docs":{},"w":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}},"{":{"2":{"0":{"0":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}},"docs":{}},"docs":{}},"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}},":":{"docs":{"advanced/composing_routers.html":{"ref":"advanced/composing_routers.html","tf":0.0029013539651837525}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.008333333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.011446409989594173},"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.004366812227074236},"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.0021645021645021645},"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.026748971193415638},"ring/ring.html":{"ref":"ring/ring.html","tf":0.006944444444444444},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.01875},"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}}}}}}},"i":{"docs":{"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.006544502617801047}},"d":{"docs":{"./":{"ref":"./","tf":0.006493506493506494},"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.005202913631633715},"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.001040582726326743}}}},"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.006493506493506494},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"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.002680965147453083},"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.0013404825737265416}}}}}}}},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.010822510822510822},"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.0020833333333333333},"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.008733624454148471}}}}},"o":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.009111617312072893},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}},"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.004329004329004329},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.005235602094240838},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.005202913631633715},"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.004366812227074236},"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.004329004329004329},"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.005361930294906166},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.010471204188481676},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.010416666666666666},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.009365244536940686},"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.017467248908296942},"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.00205761316872428}}}}},"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.002680965147453083},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}}}}}}}},"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.008324661810613945}}}}}}}}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972},"faq.html":{"ref":"faq.html","tf":0.00211864406779661}}}},"r":{"docs":{},"t":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}},"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.006172839506172839}}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}},"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.002081165452653486},"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.004021447721179625},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},":":{"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.00205761316872428}}}}}}}}}}},"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.004366812227074236}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.00625}}}}}}},"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.010362694300518135},"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.001040582726326743}}}}}}}}}},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.014397905759162303},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.004021447721179625}}}}},"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.002081165452653486}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.003926701570680628},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.004162330905306972}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.009162303664921465},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"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.001040582726326743}}}}}}},"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.01875}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}}}},"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.004366812227074236}}}}}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.004329004329004329},"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.001040582726326743},"http/interceptors.html":{"ref":"http/interceptors.html","tf":0.0058823529411764705}},"}":{"docs":{},"}":{"docs":{},"}":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}},")":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}},",":{"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}},";":{"docs":{},";":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"advanced/configuring_routers.html":{"ref":"advanced/configuring_routers.html","tf":0.009615384615384616}}}}}}},"/":{"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.001040582726326743}},"/":{"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.0051813471502590676}}}}}}}}},":":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135}}}}}},"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.02072538860103627}}}}}}}}}}}}}}},"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.02072538860103627}}}}}}}}}}},"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.0051813471502590676}}}}},"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.02072538860103627}}}}}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}},"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.001040582726326743}}}}}}}}}}}}},"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.018867924528301886}},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}},"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.004366812227074236}}}},"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.004366812227074236}}}}},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"development.html":{"ref":"development.html","tf":0.05660377358490566}},".":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}}}}}},"o":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"coercion/clojure_spec_coercion.html":{"ref":"coercion/clojure_spec_coercion.html","tf":0.0026954177897574125},"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.0020833333333333333}}}}},":":{"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.002680965147453083}}}},"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.0102880658436214},"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.012064343163538873},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333},"ring/compiling_middleware.html":{"ref":"ring/compiling_middleware.html","tf":0.002932551319648094},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.006243496357960458},"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.009615384615384616},"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.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229},"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.001040582726326743}}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}},"s":{"docs":{},".":{"docs":{"basics/route_data.html":{"ref":"basics/route_data.html","tf":0.002277904328018223},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}},",":{"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.0020833333333333333}}}}},")":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.003121748178980229}}}},":":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428}}},".":{"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.0020833333333333333},"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.0013404825737265416}}}}}},"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.008849557522123894}},"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.013100436681222707}},")":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.008733624454148471}}}},"}":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},"]":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}},"}":{"docs":{},"]":{"docs":{},")":{"docs":{"advanced/shared_routes.html":{"ref":"advanced/shared_routes.html","tf":0.004366812227074236}}}}}}}}}}},"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.00205761316872428},"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.0020833333333333333}}}}}}},"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.002680965147453083},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486},"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.0013404825737265416},"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.001040582726326743}},"}":{"docs":{},"]":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095}},"]":{"docs":{},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}}}}}}}}}}},":":{"docs":{},"=":{"2":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"docs":{}}},"]":{"docs":{},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}}},"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.00205761316872428}}}}}}}}},"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.0013404825737265416}}}}}}}}}}}}}}}},"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}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}}},"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.002680965147453083}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"]":{"docs":{"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743}},")":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}}}}}},"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.00205761316872428},"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.00205761316872428},"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.00411522633744856},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.002617801047120419},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.001040582726326743},"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.00205761316872428},"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.004366812227074236}}}}}},"/":{"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.05660377358490566}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"development.html":{"ref":"development.html","tf":0.018867924528301886}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"development.html":{"ref":"development.html","tf":0.03773584905660377}}}}}}}}}}}}}}}}}}},"=":{"docs":{},">":{"docs":{"basics/route_data_validation.html":{"ref":"basics/route_data_validation.html","tf":0.00205761316872428},"basics/route_conflicts.html":{"ref":"basics/route_conflicts.html","tf":0.010362694300518135},"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.005361930294906166},"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.057692307692307696}}}},"`":{"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.00205761316872428}}}}}}}}}}}}}}}}}}},"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.00205761316872428}}}}}}}}}}}}}},"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.01646090534979424},"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.0020833333333333333}},")":{"docs":{"ring/route_data_validation.html":{"ref":"ring/route_data_validation.html","tf":0.0020833333333333333}}}}}}},"x":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416},"ring/coercion.html":{"ref":"ring/coercion.html","tf":0.0013089005235602095},"ring/swagger.html":{"ref":"ring/swagger.html","tf":0.002081165452653486}},":":{"docs":{},"=":{"1":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"docs":{}}},"m":{"docs":{},"l":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}}},")":{"docs":{"http/sieppari.html":{"ref":"http/sieppari.html","tf":0.011111111111111112}}}},"}":{"docs":{"ring/default_middleware.html":{"ref":"ring/default_middleware.html","tf":0.0013404825737265416}}},"?":{"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":7308},"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.2.13\"]","\"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).","(+","(.getclass","(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.4.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}",":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.","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.","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","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.","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","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","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","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.","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.core/throw","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])","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.","spec:","spec])","special","specif","specifi","specification,","specification.","specification:","specs),","specs,","specs.","specs:","specs?","speed","speed:","spesif","sqlexcept","st/json","st/string","st])","stabl","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","uuid","uuid\"","uuid/:pag","uuid]","val:","valid","validation,","validation.","valu","value))))","value,","value.","value]","values.","var","varieti","vector","vector.","verbose.","verifi","version","version:","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","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\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\n\nExtra modules\n\nreitit-pedestal support for Pedestal\n\nLatest version\nAll bundled:\n[metosin/reitit \"0.2.13\"]\n\nOptionally, the parts can be required separately:\n[metosin/reitit-core \"0.2.13\"]\n\n;; coercion\n[metosin/reitit-spec \"0.2.13\"]\n[metosin/reitit-schema \"0.2.13\"]\n\n;; ring helpers\n[metosin/reitit-ring \"0.2.13\"]\n[metosin/reitit-middleware \"0.2.13\"]\n\n;; swagger-support for ring & http\n[metosin/reitit-swagger \"0.2.13\"]\n[metosin/reitit-swagger-ui \"0.2.13\"]\n\n;; frontend helpers\n[metosin/reitit-frontend \"0.2.13\"]\n\n;; http with interceptors\n[metosin/reitit-http \"0.2.13\"]\n[metosin/reitit-interceptors \"0.2.13\"]\n[metosin/reitit-sieppari \"0.2.13\"]\n\n;; pedestal\n[metosin/reitit-pedestal \"0.2.13\"]\n\nThere is #reitit in Clojurians Slack for discussion & help.\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.4.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 do 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-spec! 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-spec!})\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-spec! 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-spec!})\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-spec!})\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 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.2.13\"]\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-accepted (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.2.13\"]\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.2.13\"]\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 Requests\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 Requests\nreitit.ring.middleware.dev/print-request-diffs is a middleware chain transforming function. It prints a request 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-spec! should be used instead of reitit.spec/validate-spec! - 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-spec!\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-spec!\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-spec!\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-spec!\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.2.13\"]\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.2.13\"]\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)\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               :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.2.13\"]\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.2.13\"]\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.2.13\"]\n; [metosin/reitit \"0.2.13\"]\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.2.13\"]\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.2.13\"]\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.2.13\"]\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.\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 (default reitit.core/throw-on-conflicts!)\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\n(defn my-expand [registry]\n  (fn [data opts]\n    (or (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:\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